Skip to content

Fast Up-to-Date Check tests produce different output with dotnet test #8642

@tmeschter

Description

@tmeschter

I'm looking into moving our unit tests over to use dotnet test instead of xunit.runner.console.x86.exe and simplifying some of our unit testing infrastructure along the way. This has led to several unit test failures that appear to be due mostly to unstable output:

  • IsUpToDateAsync_False_Kinds_InputNewerThanOutput_NoKindIgnored
  • IsUpToDateAsync_False_Kinds_InputNewerThanOutput_WithIgnoredKind
  • IsUpToDateAsync_True_Kinds_InputNewerThanOutput_NoKindIgnored
  • IsUpToDateAsync_True_Kinds_InputNewerThanOutput_WithIgnoredKind

For at least one of these, however, the output has differences beyond ordering issues. For example, in IsUpToDateAsync_False_Kinds_InputNewerThanOutput_NoKindIgnored we see:

Expected:
Adding UpToDateCheckOutput outputs:
    C:\Dev\Solution\Project\TaggedOutput
    C:\Dev\Solution\Project\Output
Adding UpToDateCheckBuilt outputs:
    C:\Dev\Solution\Project\TaggedBuilt
    C:\Dev\Solution\Project\Built
Adding project file inputs:
    C:\Dev\Solution\Project\Project.csproj
Adding newest import input:
    C:\Dev\Solution\Project\Project.csproj
Adding UpToDateCheckInput inputs:
    C:\Dev\Solution\Project\TaggedInput
    C:\Dev\Solution\Project\Input
Input UpToDateCheckInput item 'C:\Dev\Solution\Project\Input' is newer (2022-10-26 14:21:34.513) than earliest output 'C:\Dev\Solution\Project\Output' (2022-10-26 14:19:34.513), not up-to-date.

Actual:
Adding UpToDateCheckOutput outputs:
    C:\Dev\Solution\Project\Output
    C:\Dev\Solution\Project\TaggedOutput
Adding UpToDateCheckBuilt outputs:
    C:\Dev\Solution\Project\Built
    C:\Dev\Solution\Project\TaggedBuilt
Adding project file inputs:
    C:\Dev\Solution\Project\Project.csproj
Adding newest import input:
    C:\Dev\Solution\Project\Project.csproj
Adding UpToDateCheckInput inputs:
    C:\Dev\Solution\Project\Input
Input UpToDateCheckInput item 'C:\Dev\Solution\Project\Input' is newer (2022-10-26 14:21:34.513) than earliest output 'C:\Dev\Solution\Project\Output' (2022-10-26 14:19:34.513), not up-to-date.

Note the difference in the UpToDateCheckInput inputs.

I'm going to disable these tests in order to move forward with the update.

Metadata

Metadata

Assignees

Labels

Area-TestingRelates to testing and does not affect product code.Feature-Up-to-dateBuild up-to-date check that avoids shelling out to MSBuild unless necessary.Triage-InvestigateReviewed and investigation needed by dev team

Type

No type

Projects

No projects

Milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions