diff --git a/test/IntegrationTests/MSTest.Acceptance.IntegrationTests/TestDiscoveryWarningsTests.cs b/test/IntegrationTests/MSTest.Acceptance.IntegrationTests/TestDiscoveryWarningsTests.cs index db9fb45806..a6aca74dc1 100644 --- a/test/IntegrationTests/MSTest.Acceptance.IntegrationTests/TestDiscoveryWarningsTests.cs +++ b/test/IntegrationTests/MSTest.Acceptance.IntegrationTests/TestDiscoveryWarningsTests.cs @@ -51,13 +51,12 @@ public sealed class TestAssetFixture() : TestAssetFixtureBase(AcceptanceFixture. { public string TargetAssetPath => GetAssetPath(AssetName); - public string BaseTargetAssetPath => GetAssetPath(BaseClassAssetName); - public override IEnumerable<(string ID, string Name, string Code)> GetAssetsToGenerate() { - yield return (BaseClassAssetName, BaseClassAssetName, - BaseClassSourceCode.PatchTargetFrameworks(TargetFrameworks.All)); - + // NOTE: The BaseClass asset is embedded as a subdirectory within the main asset to avoid + // parallel build conflicts. If they were separate assets, TestAssetFixtureBase would build + // them in parallel, but TestDiscoveryWarnings has a ProjectReference to TestDiscoveryWarningsBaseClass, + // causing both builds to write to the same files simultaneously (file locking errors). yield return (AssetName, AssetName, SourceCode.PatchTargetFrameworks(TargetFrameworks.All) .PatchCodeWithReplace("$MSTestVersion$", MSTestVersion)); @@ -75,7 +74,8 @@ public sealed class TestAssetFixture() : TestAssetFixtureBase(AcceptanceFixture. - + + @@ -129,10 +129,8 @@ public class TestClass2 [TestMethod] public void Test2_1() {} } -"""; - private const string BaseClassSourceCode = """ -#file TestDiscoveryWarningsBaseClass.csproj +#file TestDiscoveryWarningsBaseClass/TestDiscoveryWarningsBaseClass.csproj @@ -143,8 +141,7 @@ public void Test2_1() {} - -#file UnitTest1.cs +#file TestDiscoveryWarningsBaseClass/UnitTest1.cs namespace Base; public class BaseClass