Skip to content

vmr '--test' is sometimes skipping test projects #4635

Closed
@tmds

Description

@tmds

In our CI, the test projects that are under the vmr build --test argument are no longer both being executed.

This happens both on x64 as well as s390x/ppc64le, though there seem to be two separate problems.

In the s390x/ppc64le case, the test command fails with a non-zero exit code and neither scenario tests nor smoke tests are ran:

+ ./build.sh --with-system-libs +brotli++zlib+ --with-sdk /home/tester/dotnet/sdk --with-packages /home/tester/dotnet/packages --source-only /p:TargetRid=rhel.8-ppc64le --test
Using custom bootstrap SDK from '/home/tester/dotnet/sdk', version '9.0.100-rc.2.24470.1'
Found bootstrap versions: SDK 9.0.100-rc.2.24470.1, Arcade 9.0.0-beta.24466.2, NoTargets 3.7.0 and Traversal 3.4.0
MSBuild version 17.12.0-preview-24467-02+9fcd87631 for .NET

  Determining projects to restore...
  Restored /home/tester/dotnet/repo-projects/scenario-tests.proj (in 365 ms).
  Restored /home/tester/dotnet/test/tests.proj (in 365 ms).
  Restored /home/tester/dotnet/test/TestUtilities/TestUtilities.csproj (in 2.06 sec).
  Restored /home/tester/dotnet/test/Microsoft.DotNet.SourceBuild.SmokeTests/Microsoft.DotNet.SourceBuild.SmokeTests.csproj (in 2.5 sec).
  1 of 5 projects are up-to-date for restore.
  TestUtilities -> /home/tester/dotnet/artifacts/bin/TestUtilities/Release/TestUtilities.dll
  Microsoft.DotNet.SourceBuild.SmokeTests -> /home/tester/dotnet/artifacts/bin/Microsoft.DotNet.SourceBuild.SmokeTests/Release/Microsoft.DotNet.SourceBuild.SmokeTests.dll
  Building dependencies [source-build-reference-packages;arcade;command-line-api;source-build-externals] needed by 'scenario-tests'.
  Building dependencies [source-build-reference-packages] needed by 'arcade'.
  Building dependencies [source-build-reference-packages;arcade] needed by 'command-line-api'.
  Building dependencies [source-build-reference-packages;arcade] needed by 'source-build-externals'.
+ TEST_EXIT_CODE=1

In the x64 case, the test command exits with a success exit code but it did not run the smoke tests:

+ ./build.sh --with-system-libs +brotli++libunwind++rapidjson++zlib+ --source-only --test
Found bootstrap versions: SDK 9.0.100-rc.1.24452.12, Arcade 9.0.0-beta.24408.2, NoTargets 3.7.0 and Traversal 3.4.0
MSBuild version 17.12.0-preview-24422-09+d17ec720d for .NET

  Determining projects to restore...
  Restored /home/tester/dotnet/test/tests.proj (in 144 ms).
  Restored /home/tester/dotnet/repo-projects/scenario-tests.proj (in 144 ms).
  Restored /home/tester/dotnet/test/TestUtilities/TestUtilities.csproj (in 2.83 sec).
  Restored /home/tester/dotnet/test/Microsoft.DotNet.SourceBuild.SmokeTests/Microsoft.DotNet.SourceBuild.SmokeTests.csproj (in 4.35 sec).
  1 of 5 projects are up-to-date for restore.
  TestUtilities -> /home/tester/dotnet/artifacts/bin/TestUtilities/Release/TestUtilities.dll
  Microsoft.DotNet.SourceBuild.SmokeTests -> /home/tester/dotnet/artifacts/bin/Microsoft.DotNet.SourceBuild.SmokeTests/Release/Microsoft.DotNet.SourceBuild.SmokeTests.dll
  Building dependencies [source-build-reference-packages;arcade;command-line-api;source-build-externals] needed by 'scenario-tests'.
  Building dependencies [source-build-reference-packages;arcade] needed by 'command-line-api'.
  Building dependencies [source-build-reference-packages] needed by 'arcade'.
  Building dependencies [source-build-reference-packages;arcade] needed by 'source-build-externals'.
  [05:03:28.12] Testing scenario-tests
  Running command:
    /home/tester/dotnet/src/scenario-tests/eng/common/build.sh --restore --test --ci --configuration Release /bl:artifacts/log/Release/Test.binlog
    With Environment Variables:
      TestRoot=/home/tester/dotnet/artifacts/scenario-tests/artifacts/
      DotNetRoot=/home/tester/dotnet/artifacts/obj/extracted-dotnet-sdk/
      TestSdkVersion=9.0.100-rc.2.24476.1
      AdditionalTestArgs=--xml /home/tester/dotnet/artifacts/TestResults/Release/scenario-tests/2024-09-26_05_03_28.xml --target-rid fedora.39-x64 --no-cleanup --no-traits Category=MultiTFM
      DotNetTool=/home/tester/dotnet/artifacts/obj/extracted-dotnet-sdk/dotnet
      _InitializeDotNetCli=/home/tester/dotnet/artifacts/obj/extracted-dotnet-sdk/
  ##vso[task.setvariable variable=Artifacts;isSecret=false;isOutput=true]/home/tester/dotnet/src/scenario-tests/artifacts
  ##vso[task.setvariable variable=Artifacts.Toolset;isSecret=false;isOutput=true]/home/tester/dotnet/src/scenario-tests/artifacts/toolset
  ##vso[task.setvariable variable=Artifacts.Log;isSecret=false;isOutput=true]/home/tester/dotnet/src/scenario-tests/artifacts/log/Release
  ##vso[task.setvariable variable=Temp;isSecret=false;isOutput=true]/home/tester/dotnet/src/scenario-tests/artifacts/tmp/Release
  ##vso[task.setvariable variable=TMP;isSecret=false;isOutput=true]/home/tester/dotnet/src/scenario-tests/artifacts/tmp/Release
  ##vso[task.setvariable variable=NUGET_PLUGIN_HANDSHAKE_TIMEOUT_IN_SECONDS;isSecret=false;isOutput=true]20
  ##vso[task.setvariable variable=NUGET_PLUGIN_REQUEST_TIMEOUT_IN_SECONDS;isSecret=false;isOutput=true]20
  
    Determining projects to restore...
    Restored /home/tester/dotnet/.packages/BootstrapPackages/microsoft.dotnet.arcade.sdk/9.0.0-beta.24408.2/tools/Tools.proj (in 5.11 sec).
    Determining projects to restore...
    Restored /home/tester/dotnet/src/scenario-tests/src/Microsoft.DotNet.ScenarioTests.SdkTemplateTests/Microsoft.DotNet.ScenarioTests.SdkTemplateTests.csproj (in 6.06 sec).
    Test environment:
      Dotnet Root: /home/tester/dotnet/artifacts/obj/extracted-dotnet-sdk/
      Test root: /home/tester/dotnet/artifacts/scenario-tests/artifacts/
      Target RID: fedora.39-x64
      Sdk Version: 9.0.100-rc.2.24476.1
      Platform: LINUX
    [SKIP] Microsoft.DotNet.ScenarioTests.SdkTemplateTests.SdkTemplateTests.VerifyAspireTemplate
    Finished Microsoft.DotNet.ScenarioTests.SdkTemplateTests, Version=9.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35
    
    Tests run: 31, Errors: 0, Failures: 0, Skipped: 1. Time: 844.630497s
  
  Build succeeded.
      0 Warning(s)
      0 Error(s)
  
  Time Elapsed 00:14:18.29
  [05:17:48.18] Testing scenario-tests...done
+ EXIT_CODE=0

For the smoke tests not running, we unfortunately have a large gap in our CI because we didn't notice the rename of --run-smoke-test to --test in May. The change in behavior may be related to that rename.

From the CI ppc64le logs, we see scenario-tests ran with vmr 1a65f6db1eec78dfd8ebff48dda59ce0a0c86a70 (Sep 7) and no longer with vmr fe7af57fd36dcbeb0c07d899b66c9ab36e2201de.

cc @MichaelSimons @omajid @Swapnali911

Metadata

Metadata

Assignees

Labels

area-testingImprovements in CI and testing

Type

No type

Projects

Status

Done

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions