diff --git a/images/macos/provision/configuration/configure-machine.sh b/images/macos/provision/configuration/configure-machine.sh index 9b8915af4..b6c20afa8 100644 --- a/images/macos/provision/configuration/configure-machine.sh +++ b/images/macos/provision/configuration/configure-machine.sh @@ -23,4 +23,12 @@ sudo "/Library/Application Support/VMware Tools/vmware-resolutionSet" 1176 885 # sudo security delete-certificate -Z FF6797793A3CD798DC5B2ABEF56F73EDC9F83A64 /Library/Keychains/System.keychain curl https://www.apple.com/certificateauthority/AppleWWDRCAG3.cer --output $HOME/AppleWWDRCAG3.cer --silent sudo security add-trusted-cert -d -r unspecified -k /Library/Keychains/System.keychain $HOME/AppleWWDRCAG3.cer -rm $HOME/AppleWWDRCAG3.cer \ No newline at end of file +rm $HOME/AppleWWDRCAG3.cer + +# Create symlink for tests running +if [ ! -d "/usr/local/bin" ];then + sudo mkdir -p -m 775 /usr/local/bin + sudo chown $USER:admin /usr/local/bin +fi +chmod +x $HOME/utils/invoke-tests.sh +sudo ln -s $HOME/utils/invoke-tests.sh /usr/local/bin/invoke_tests diff --git a/images/macos/provision/configuration/finalize-vm.sh b/images/macos/provision/configuration/finalize-vm.sh index 67f1949c7..44fb8e9ec 100644 --- a/images/macos/provision/configuration/finalize-vm.sh +++ b/images/macos/provision/configuration/finalize-vm.sh @@ -36,4 +36,7 @@ sudo rm -rf ~/utils ~/image-generation /tmp/* # for now there is no way to get status of indexing process, it takes around 3 minutes to accomplish sudo mdutil -E / sudo log stream | grep -q -E 'mds.*Released.*BackgroundTask' || true -echo "Indexing completed" \ No newline at end of file +echo "Indexing completed" + +# delete symlink for tests running +sudo rm -f /usr/local/bin/invoke_tests diff --git a/images/macos/provision/core/android-toolsets.sh b/images/macos/provision/core/android-toolsets.sh index 3d834997e..a39e4474f 100755 --- a/images/macos/provision/core/android-toolsets.sh +++ b/images/macos/provision/core/android-toolsets.sh @@ -1,6 +1,5 @@ #!/bin/bash -e -o pipefail source ~/utils/utils.sh -source ~/utils/invoke-tests.sh function filter_components_by_version { minimumVersion=$1 diff --git a/images/macos/provision/core/audiodevice.sh b/images/macos/provision/core/audiodevice.sh index 1008a14de..a05deeece 100644 --- a/images/macos/provision/core/audiodevice.sh +++ b/images/macos/provision/core/audiodevice.sh @@ -1,5 +1,4 @@ #!/bin/bash -e -o pipefail -source ~/utils/invoke-tests.sh source ~/utils/utils.sh echo "install soundflower" diff --git a/images/macos/provision/core/aws.sh b/images/macos/provision/core/aws.sh index 942c8d2f2..8c05a16cd 100644 --- a/images/macos/provision/core/aws.sh +++ b/images/macos/provision/core/aws.sh @@ -1,7 +1,5 @@ #!/bin/bash -e -o pipefail - source ~/utils/utils.sh -source ~/utils/invoke-tests.sh echo Installing aws... AWS_CLI_URL="https://awscli.amazonaws.com/AWSCLIV2.pkg" @@ -15,4 +13,4 @@ brew install aws-sam-cli echo "Install aws cli session manager" brew install --cask session-manager-plugin -invoke_tests "Common" "AWS" \ No newline at end of file +invoke_tests "Common" "AWS" diff --git a/images/macos/provision/core/azcopy.sh b/images/macos/provision/core/azcopy.sh index b491f08ee..81f201615 100755 --- a/images/macos/provision/core/azcopy.sh +++ b/images/macos/provision/core/azcopy.sh @@ -1,7 +1,5 @@ #!/bin/bash -e -o pipefail - source ~/utils/utils.sh -source ~/utils/invoke-tests.sh AZCOPY_DOWNLOAD_URL="https://aka.ms/downloadazcopy-v10-mac" @@ -14,4 +12,4 @@ chmod +x "/usr/local/bin/azcopy" echo "Done, cleaning up" rm -rf azcopy* -invoke_tests "Common" "AzCopy" \ No newline at end of file +invoke_tests "Common" "AzCopy" diff --git a/images/macos/provision/core/chrome.sh b/images/macos/provision/core/chrome.sh index 01e34a6b9..cca49e3a2 100644 --- a/images/macos/provision/core/chrome.sh +++ b/images/macos/provision/core/chrome.sh @@ -1,6 +1,5 @@ #!/bin/bash -e -o pipefail source ~/utils/utils.sh -source ~/utils/invoke-tests.sh echo "Installing Chrome..." brew_cask_install_ignoring_sha256 "google-chrome" @@ -14,4 +13,4 @@ brew_smart_install "selenium-server-standalone" CHROMEWEBDRIVER_DIR=$(readlink $(which chromedriver) | xargs dirname) echo "export CHROMEWEBDRIVER=$CHROMEWEBDRIVER_DIR" >> "${HOME}/.bashrc" -invoke_tests "Browsers" "Chrome" \ No newline at end of file +invoke_tests "Browsers" "Chrome" diff --git a/images/macos/provision/core/cocoapods.sh b/images/macos/provision/core/cocoapods.sh index 71d0794b5..15d2a22a1 100755 --- a/images/macos/provision/core/cocoapods.sh +++ b/images/macos/provision/core/cocoapods.sh @@ -1,5 +1,4 @@ #!/bin/bash -e -o pipefail -source ~/utils/invoke-tests.sh # Setup the Cocoapods echo "Installing Cocoapods..." @@ -8,4 +7,4 @@ pod setup # Create a symlink to /usr/local/bin since it was removed due to Homebrew change. ln -sf $(which pod) /usr/local/bin/pod -invoke_tests "Common" "CocoaPods" \ No newline at end of file +invoke_tests "Common" "CocoaPods" diff --git a/images/macos/provision/core/commonutils.sh b/images/macos/provision/core/commonutils.sh index 4cba4d9b3..05f295afa 100644 --- a/images/macos/provision/core/commonutils.sh +++ b/images/macos/provision/core/commonutils.sh @@ -1,6 +1,5 @@ #!/bin/bash -e -o pipefail source ~/utils/utils.sh -source ~/utils/invoke-tests.sh common_packages=$(get_toolset_value '.brew.common_packages[]') for package in $common_packages; do @@ -18,4 +17,4 @@ done bazel # Invoke tests for all common tools -invoke_tests "Common" "CommonUtils" \ No newline at end of file +invoke_tests "Common" "CommonUtils" diff --git a/images/macos/provision/core/dotnet.sh b/images/macos/provision/core/dotnet.sh index 824c46180..0be71b823 100755 --- a/images/macos/provision/core/dotnet.sh +++ b/images/macos/provision/core/dotnet.sh @@ -6,9 +6,7 @@ # https://docs.microsoft.com/en-us/dotnet/core/tools/dotnet-install-script # ########################################################################### - source ~/utils/utils.sh -source ~/utils/invoke-tests.sh export DOTNET_CLI_TELEMETRY_OPTOUT=1 @@ -56,7 +54,6 @@ if [ $(dotnet --list-sdks | wc -l) -lt "1" ]; then fi echo 'export PATH="$PATH:$HOME/.dotnet/tools"' >> "$HOME/.bashrc" - echo "Dotnet operations have been completed successfully..." invoke_tests "Common" ".NET" diff --git a/images/macos/provision/core/edge.sh b/images/macos/provision/core/edge.sh index be727f49b..24ea8e952 100644 --- a/images/macos/provision/core/edge.sh +++ b/images/macos/provision/core/edge.sh @@ -1,6 +1,5 @@ #!/bin/bash -e -o pipefail source ~/utils/utils.sh -source ~/utils/invoke-tests.sh echo "Installing Microsoft Edge..." brew install --cask microsoft-edge @@ -59,4 +58,4 @@ sudo rm -rf "/Library/Application Support/Microsoft/MAU2.0/" sudo rm -rf "/Library/LaunchAgents/com.microsoft.update.agent.plist" sudo rm -rf "/Library/PrivelegedHelperTools/com.microsoft.autoupdate.helper" -invoke_tests "Browsers" "Edge" \ No newline at end of file +invoke_tests "Browsers" "Edge" diff --git a/images/macos/provision/core/firefox.sh b/images/macos/provision/core/firefox.sh index 47d995719..b5ccaf420 100644 --- a/images/macos/provision/core/firefox.sh +++ b/images/macos/provision/core/firefox.sh @@ -1,5 +1,4 @@ #!/bin/bash -e -o pipefail -source ~/utils/invoke-tests.sh source ~/utils/utils.sh echo "Installing Firefox..." @@ -11,4 +10,4 @@ brew_smart_install "geckodriver" echo "Add GECKOWEBDRIVER to bashrc..." echo "export GECKOWEBDRIVER=$(brew --prefix geckodriver)/bin" >> "${HOME}/.bashrc" -invoke_tests "Browsers" "Firefox" \ No newline at end of file +invoke_tests "Browsers" "Firefox" diff --git a/images/macos/provision/core/gcc.sh b/images/macos/provision/core/gcc.sh index 1a07cabe0..2721725a9 100644 --- a/images/macos/provision/core/gcc.sh +++ b/images/macos/provision/core/gcc.sh @@ -1,6 +1,5 @@ #!/bin/bash -e -o pipefail source ~/utils/utils.sh -source ~/utils/invoke-tests.sh echo "Installing GCC@8 using homebrew..." brew_smart_install "gcc@8" diff --git a/images/macos/provision/core/git.sh b/images/macos/provision/core/git.sh index 98ebab071..582b9e3a2 100644 --- a/images/macos/provision/core/git.sh +++ b/images/macos/provision/core/git.sh @@ -1,6 +1,4 @@ #!/bin/bash -e -o pipefail -source ~/utils/invoke-tests.sh - source ~/utils/utils.sh echo Installing Git... @@ -33,4 +31,4 @@ git config --global advice.detachedHead false git config --global advice.amWorkDir false git config --global advice.rmHints false -invoke_tests "Common" "Git" \ No newline at end of file +invoke_tests "Common" "Git" diff --git a/images/macos/provision/core/haskell.sh b/images/macos/provision/core/haskell.sh index 73f4a7af0..342c5f6ec 100644 --- a/images/macos/provision/core/haskell.sh +++ b/images/macos/provision/core/haskell.sh @@ -1,5 +1,4 @@ #!/bin/bash -e -o pipefail -source ~/utils/invoke-tests.sh curl --proto '=https' --tlsv1.2 -sSf https://get-ghcup.haskell.org | sh export PATH="$HOME/.ghcup/bin:$PATH" diff --git a/images/macos/provision/core/miniconda.sh b/images/macos/provision/core/miniconda.sh index f9135f86f..a225b55b3 100644 --- a/images/macos/provision/core/miniconda.sh +++ b/images/macos/provision/core/miniconda.sh @@ -1,5 +1,4 @@ #!/bin/bash -e -o pipefail -source ~/utils/invoke-tests.sh MINICONDA_INSTALLER="/tmp/miniconda.sh" curl -sL https://repo.continuum.io/miniconda/Miniconda3-latest-MacOSX-x86_64.sh -o $MINICONDA_INSTALLER @@ -12,4 +11,4 @@ if [ -d "$HOME/.conda" ]; then sudo chown -R $USER "$HOME/.conda" fi -invoke_tests "Common" "Miniconda" \ No newline at end of file +invoke_tests "Common" "Miniconda" diff --git a/images/macos/provision/core/mongodb.sh b/images/macos/provision/core/mongodb.sh index 4802dc38f..552e35829 100644 --- a/images/macos/provision/core/mongodb.sh +++ b/images/macos/provision/core/mongodb.sh @@ -1,6 +1,5 @@ #!/bin/bash -e -o pipefail source ~/utils/utils.sh -source ~/utils/invoke-tests.sh # MongoDB object-value database # installs last version of MongoDB Community Edition diff --git a/images/macos/provision/core/node.sh b/images/macos/provision/core/node.sh index 0eb110cf2..29be8ac8d 100644 --- a/images/macos/provision/core/node.sh +++ b/images/macos/provision/core/node.sh @@ -1,5 +1,4 @@ #!/bin/bash -e -o pipefail -source ~/utils/invoke-tests.sh source ~/utils/utils.sh node_modules=( diff --git a/images/macos/provision/core/nvm.sh b/images/macos/provision/core/nvm.sh index 22904c601..5671459fc 100755 --- a/images/macos/provision/core/nvm.sh +++ b/images/macos/provision/core/nvm.sh @@ -4,7 +4,6 @@ # ########################################################################### source ~/utils/utils.sh -source ~/utils/invoke-tests.sh VERSION=$(curl -s https://api.github.com/repos/nvm-sh/nvm/releases/latest | jq -r '.tag_name') curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/$VERSION/install.sh | bash @@ -32,4 +31,4 @@ fi echo "Node version manager has been installed successfully" -invoke_tests "Node" "nvm" \ No newline at end of file +invoke_tests "Node" "nvm" diff --git a/images/macos/provision/core/openjdk.sh b/images/macos/provision/core/openjdk.sh index a9293e80c..2cd584731 100644 --- a/images/macos/provision/core/openjdk.sh +++ b/images/macos/provision/core/openjdk.sh @@ -1,7 +1,5 @@ #!/bin/bash -e -o pipefail - source ~/utils/utils.sh -source ~/utils/invoke-tests.sh installAzulJDK() { local URL=$1 diff --git a/images/macos/provision/core/openssl.sh b/images/macos/provision/core/openssl.sh index 900089b0b..0e735ddb7 100755 --- a/images/macos/provision/core/openssl.sh +++ b/images/macos/provision/core/openssl.sh @@ -1,6 +1,5 @@ #!/bin/bash -e -o pipefail source ~/utils/utils.sh -source ~/utils/invoke-tests.sh echo "Install latest openssl" brew_smart_install "openssl" @@ -11,4 +10,4 @@ brew_smart_install "openssl@1.1" # Symlink brew openssl@1.1 to `/usr/local/bin` as Homebrew refuses ln -sf $(brew --prefix openssl@1.1)/bin/openssl /usr/local/bin/openssl -invoke_tests "Common" "OpenSSL" \ No newline at end of file +invoke_tests "Common" "OpenSSL" diff --git a/images/macos/provision/core/php.sh b/images/macos/provision/core/php.sh index fef97641f..e269d42dd 100644 --- a/images/macos/provision/core/php.sh +++ b/images/macos/provision/core/php.sh @@ -1,6 +1,5 @@ #!/bin/bash -e -o pipefail source ~/utils/utils.sh -source ~/utils/invoke-tests.sh echo Installing PHP brew_smart_install "php" @@ -8,4 +7,4 @@ brew_smart_install "php" echo Installing composer brew_smart_install "composer" -invoke_tests "PHP" \ No newline at end of file +invoke_tests "PHP" diff --git a/images/macos/provision/core/pipx-packages.sh b/images/macos/provision/core/pipx-packages.sh index ae39ae821..38446d3c5 100644 --- a/images/macos/provision/core/pipx-packages.sh +++ b/images/macos/provision/core/pipx-packages.sh @@ -1,6 +1,5 @@ #!/bin/bash -e -o pipefail source ~/utils/utils.sh -source ~/utils/invoke-tests.sh export PATH="$PATH:/opt/pipx_bin" @@ -19,4 +18,4 @@ for package in $pipx_packages; do fi done -invoke_tests "PipxPackages" \ No newline at end of file +invoke_tests "PipxPackages" diff --git a/images/macos/provision/core/postgresql.sh b/images/macos/provision/core/postgresql.sh index abcbaf7ce..25414638f 100644 --- a/images/macos/provision/core/postgresql.sh +++ b/images/macos/provision/core/postgresql.sh @@ -1,6 +1,5 @@ #!/bin/bash -e -o pipefail source ~/utils/utils.sh -source ~/utils/invoke-tests.sh #Install latest version of postgresql brew_smart_install "postgres" @@ -27,4 +26,4 @@ done #Stop postgresql brew services stop postgresql -invoke_tests "Databases" "PostgreSQL" \ No newline at end of file +invoke_tests "Databases" "PostgreSQL" diff --git a/images/macos/provision/core/powershell.sh b/images/macos/provision/core/powershell.sh index 3c4234624..7e89ded76 100644 --- a/images/macos/provision/core/powershell.sh +++ b/images/macos/provision/core/powershell.sh @@ -1,7 +1,5 @@ #!/bin/bash -e -o pipefail - source ~/utils/utils.sh -source ~/utils/invoke-tests.sh echo Installing Azure CLI... brew_smart_install "azure-cli" @@ -36,4 +34,4 @@ sudo ln -s /usr/local/bin/pwsh /usr/local/bin/powershell # fix ~/.azure directory permissions sudo chown -R ${USER}: $HOME/.azure -invoke_tests "Powershell" \ No newline at end of file +invoke_tests "Powershell" diff --git a/images/macos/provision/core/python.sh b/images/macos/provision/core/python.sh index 3c237df87..9c83caf99 100755 --- a/images/macos/provision/core/python.sh +++ b/images/macos/provision/core/python.sh @@ -1,5 +1,4 @@ #!/bin/bash -e -o pipefail -source ~/utils/invoke-tests.sh source ~/utils/utils.sh echo "Installing Python Tooling" @@ -28,4 +27,4 @@ echo "export PIPX_BIN_DIR=${PIPX_BIN_DIR}" >> "${HOME}/.bashrc" echo "export PIPX_HOME=${PIPX_HOME}" >> "${HOME}/.bashrc" echo 'export PATH="$PIPX_BIN_DIR:$PATH"' >> "${HOME}/.bashrc" -invoke_tests "Python" \ No newline at end of file +invoke_tests "Python" diff --git a/images/macos/provision/core/ruby.sh b/images/macos/provision/core/ruby.sh index edd32dc68..9c6cefb17 100755 --- a/images/macos/provision/core/ruby.sh +++ b/images/macos/provision/core/ruby.sh @@ -1,5 +1,4 @@ #!/bin/bash -e -o pipefail -source ~/utils/invoke-tests.sh source ~/utils/utils.sh echo Installing Ruby... diff --git a/images/macos/provision/core/rubygem.sh b/images/macos/provision/core/rubygem.sh index 7184fe635..48bb3bef3 100755 --- a/images/macos/provision/core/rubygem.sh +++ b/images/macos/provision/core/rubygem.sh @@ -1,5 +1,4 @@ #!/bin/bash -e -o pipefail -source ~/utils/invoke-tests.sh source ~/utils/utils.sh echo Updating RubyGems... @@ -31,4 +30,4 @@ gem install bundler --force echo Installing fastlane tools... gem install fastlane -invoke_tests "RubyGem" \ No newline at end of file +invoke_tests "RubyGem" diff --git a/images/macos/provision/core/rust.sh b/images/macos/provision/core/rust.sh index f9fafc3b8..65c64354c 100644 --- a/images/macos/provision/core/rust.sh +++ b/images/macos/provision/core/rust.sh @@ -1,6 +1,5 @@ #!/bin/bash -e -o pipefail source ~/utils/utils.sh -source ~/utils/invoke-tests.sh echo Installing Rustup... brew_smart_install "rustup-init" diff --git a/images/macos/provision/core/stack.sh b/images/macos/provision/core/stack.sh index 8c30a2014..bdb22a56c 100644 --- a/images/macos/provision/core/stack.sh +++ b/images/macos/provision/core/stack.sh @@ -1,5 +1,4 @@ #!/bin/bash -e -o pipefail -source ~/utils/invoke-tests.sh source ~/utils/utils.sh echo "Get the latest Stack version..." diff --git a/images/macos/provision/core/swiftlint.sh b/images/macos/provision/core/swiftlint.sh index 7f94f3b8b..c9c2fdc05 100644 --- a/images/macos/provision/core/swiftlint.sh +++ b/images/macos/provision/core/swiftlint.sh @@ -1,5 +1,4 @@ #!/bin/bash -e -o pipefail -source ~/utils/invoke-tests.sh source ~/utils/utils.sh echo "Install SwiftLint" @@ -8,4 +7,4 @@ download_with_retries $swiftlintUrl "/tmp" "SwiftLint.pkg" sudo installer -pkg /tmp/SwiftLint.pkg -target / rm -rf /tmp/SwiftLint.pkg -invoke_tests "Linters" "SwiftLint" \ No newline at end of file +invoke_tests "Linters" "SwiftLint" diff --git a/images/macos/provision/core/vcpkg.sh b/images/macos/provision/core/vcpkg.sh index 6317861e8..d20cb3ca4 100644 --- a/images/macos/provision/core/vcpkg.sh +++ b/images/macos/provision/core/vcpkg.sh @@ -1,5 +1,4 @@ #!/bin/bash -e -o pipefail -source ~/utils/invoke-tests.sh source ~/utils/utils.sh # Set env variable for vcpkg diff --git a/images/macos/provision/core/vsmac.sh b/images/macos/provision/core/vsmac.sh index 86d789ae7..3ee60852f 100644 --- a/images/macos/provision/core/vsmac.sh +++ b/images/macos/provision/core/vsmac.sh @@ -1,7 +1,6 @@ #!/bin/bash -e -o pipefail source ~/utils/utils.sh source ~/utils/xamarin-utils.sh -source ~/utils/invoke-tests.sh VSMAC_VERSION=$(get_toolset_value '.xamarin.vsmac') if [ $VSMAC_VERSION == "latest" ]; then @@ -28,4 +27,3 @@ sudo hdiutil detach "$TMPMOUNT" sudo rm -rf "$TMPMOUNT" invoke_tests "Common" "VSMac" - diff --git a/images/macos/provision/core/xamarin-android-ndk.sh b/images/macos/provision/core/xamarin-android-ndk.sh index 50373b4cf..0254643e5 100644 --- a/images/macos/provision/core/xamarin-android-ndk.sh +++ b/images/macos/provision/core/xamarin-android-ndk.sh @@ -1,5 +1,4 @@ #!/bin/bash -e -o pipefail -source ~/utils/invoke-tests.sh source ~/utils/utils.sh ANDROID_HOME=$HOME/Library/Android/sdk @@ -64,4 +63,4 @@ echo "Installing ndk r18B..." echo y | $SDKMANAGER "ndk;18.1.5063045" echo "export ANDROID_NDK_18R_PATH=${ANDROID_HOME}/ndk/18.1.5063045" >> "${HOME}/.bashrc" -invoke_tests "XamarinNDK" \ No newline at end of file +invoke_tests "XamarinNDK" diff --git a/images/macos/provision/core/xamarin.sh b/images/macos/provision/core/xamarin.sh index f5dd6c5d5..5cc6b360c 100755 --- a/images/macos/provision/core/xamarin.sh +++ b/images/macos/provision/core/xamarin.sh @@ -1,5 +1,4 @@ #!/bin/bash -e -o pipefail -source ~/utils/invoke-tests.sh source ~/utils/utils.sh source ~/utils/xamarin-utils.sh diff --git a/images/macos/provision/utils/invoke-tests.sh b/images/macos/provision/utils/invoke-tests.sh index b2425a8f5..c71d04031 100644 --- a/images/macos/provision/utils/invoke-tests.sh +++ b/images/macos/provision/utils/invoke-tests.sh @@ -1,10 +1,5 @@ #!/bin/bash -e -o pipefail -invoke_tests() { - local TEST_FILE="$1" - local TEST_NAME="$2" - - source $HOME/.bashrc - pwsh -Command "Import-Module '$HOME/image-generation/helpers/Tests.Helpers.psm1' -DisableNameChecking - Invoke-PesterTests -TestFile \"$TEST_FILE\" -TestName \"$TEST_NAME\"" -} +source $HOME/.bashrc +pwsh -Command "Import-Module '$HOME/image-generation/helpers/Tests.Helpers.psm1' -DisableNameChecking + Invoke-PesterTests -TestFile \"$1\" -TestName \"$2\""