You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
The dotnet test and publishing of test results are combined in dotnet-test-cloud.ps1. I have a set of tests that currently hang on the MacOS Sequoia build runner. My working theory is several of the Xunit v3 network discovery tests trigger a Local Network Policy dialog because they access the local network. The first test to access the network triggers the hang, but the hanging test isn't consistent. Also, the --blame-hang-timeout 120s parameter to dotnet test isn't being respected for some reason.
So, I added a TestingTimeout parameter to dotnet.yml and a JobTimeout to build.yml. The JobTimeout controls the overall timeout for each job. The TestingTimeout parameter controls the timeout for just the test portion. This prevents an infinite job, and having the JobTimeout > the TestingTimeout allows the rest of the failed pipeline to run before the JobTimeout is reached.
Unfortunately, the test execution and publishing are combined in dotnet-test-cloud.ps1, so none of the test results get published even if just one test hangs. Separating the test and publication functionality would allow me to set separate timeout and error condition behavior for testing and publication.
I was going to just split dotnet-test-cloud.ps1 into dotnet-test-cloud.ps1 and dotnet-test-publish-cloud.ps1.
The text was updated successfully, but these errors were encountered:
Sounds good. There are a couple of ways I could do this. I'm leaning towards options 2 or 3.
Option 1: Full separation but not backward compatible.
Add dotnet-test-cloud-publish.ps1
Remove -PublishResults switch and test publishing functionality from dotnet-test-cloud.ps1
Add just the test publishing code to dotnet-test-cloud-publish.ps1
Option 2: Backward compatible, but test publishing duplicate code.
No changes dotnet-test-cloud.ps1 identical for backward compatibility. Just don't pass the -PublishResults switch if you want to have separate test and publish behaviors.
Add dotnet-test-cloud-publish.ps1
Add just the test publishing code to dotnet-test-cloud-publish.ps1
Let's go with option 1. Update the AzP caller to call both scripts (as a single shell script task). Do not update the GitHub workflow to call the new script since the publish step only applied to azp anyway.
For that matter, the new script should go into the azure-pipelines folder since it does nothing for github workflows.
The dotnet test and publishing of test results are combined in dotnet-test-cloud.ps1. I have a set of tests that currently hang on the MacOS Sequoia build runner. My working theory is several of the Xunit v3 network discovery tests trigger a Local Network Policy dialog because they access the local network. The first test to access the network triggers the hang, but the hanging test isn't consistent. Also, the --blame-hang-timeout 120s parameter to dotnet test isn't being respected for some reason.
So, I added a TestingTimeout parameter to dotnet.yml and a JobTimeout to build.yml. The JobTimeout controls the overall timeout for each job. The TestingTimeout parameter controls the timeout for just the test portion. This prevents an infinite job, and having the JobTimeout > the TestingTimeout allows the rest of the failed pipeline to run before the JobTimeout is reached.
Unfortunately, the test execution and publishing are combined in dotnet-test-cloud.ps1, so none of the test results get published even if just one test hangs. Separating the test and publication functionality would allow me to set separate timeout and error condition behavior for testing and publication.
I was going to just split dotnet-test-cloud.ps1 into dotnet-test-cloud.ps1 and dotnet-test-publish-cloud.ps1.
The text was updated successfully, but these errors were encountered: