diff --git a/.github/workflows/workflow.yml b/.github/workflows/workflow.yml index 6c00c2d..c6be8ae 100644 --- a/.github/workflows/workflow.yml +++ b/.github/workflows/workflow.yml @@ -169,8 +169,7 @@ jobs: env: NUGET_AUTH_TOKEN: NOTATOKEN - name: Verify dotnet - shell: pwsh - run: __tests__/verify-dotnet.ps1 3.1.201 + run: __tests__/verify-dotnet.sh 3.1.201 test-bypass-proxy: runs-on: ubuntu-latest @@ -190,5 +189,4 @@ jobs: env: NUGET_AUTH_TOKEN: NOTATOKEN - name: Verify dotnet - shell: pwsh - run: __tests__/verify-dotnet.ps1 3.1.201 + run: __tests__/verify-dotnet.sh 3.1.201 diff --git a/__tests__/verify-dotnet.sh b/__tests__/verify-dotnet.sh new file mode 100644 index 0000000..098d076 --- /dev/null +++ b/__tests__/verify-dotnet.sh @@ -0,0 +1,44 @@ +if [ -z "$1" ]; then + echo "Must supply dotnet version argument" + exit 1 +fi + +if [ ! -f "../nuget.config" ]; then + echo "nuget file not generated correctly" + exit 1 +fi + +dotnet_version="$(dotnet --version)" +echo "Found dotnet version '$dotnet_version'" +if [ -z "$(echo $dotnet_version | grep $1)" ]; then + echo "Unexpected version" + exit 1 +fi + +if [ -n "$2" ]; then + dotnet_version="$(dotnet --list-sdks)" + echo "Found dotnet version '$dotnet_version'" + if [ -z "$(echo $dotnet_version | grep $2)" ]; then + echo "Unexpected version" + exit 1 + fi +fi + +echo "Building sample csproj" +dotnet build __tests__/sample-csproj/ --no-cache || exit 1 + +echo "Testing compiled app" +sample_output=$(dotnet test __tests__/sample-csproj/ --no-build) +echo "Sample output: $sample_output" +# For Side-by-Side installs we want to run the tests twice, for a single install the tests will run once +if [ -n "$2" ]; then + if [ -z "$(echo $sample_output | grep "Test Run Successful.*Test Run Successful.")" ]; then + echo "Unexpected output" + exit 1 + fi +else + if [ -z "$(echo $sample_output | grep "Test Run Successful.")" ]; then + echo "Unexpected output" + exit 1 + fi +fi \ No newline at end of file