Skip to content

Commit 790b14b

Browse files
mdh1418Nathan Riccikotlarmilos
authored
[tests] Stand up iOS arm runtime tests and enable tracing/eventpipe tests (#79169)
Stand up iOS arm runtime tests and enable tracing/eventpipe tests --------- Co-authored-by: Nathan Ricci <[email protected]> Co-authored-by: Milos Kotlar <[email protected]>
1 parent e210d90 commit 790b14b

16 files changed

+341
-111
lines changed

eng/pipelines/coreclr/templates/helix-queues-setup.yml

+19-3
Original file line numberDiff line numberDiff line change
@@ -32,9 +32,13 @@ jobs:
3232
dependOnEvaluatePaths: ${{ parameters.dependOnEvaluatePaths }}
3333
helixQueues:
3434

35-
# iOS/tvOS simulator x64/x86
36-
- ${{ if in(parameters.platform, 'iossimulator_x64', 'tvossimulator_x64') }}:
37-
- OSX.1015.Amd64.Open
35+
# iOS Simulator/Mac Catalyst arm64
36+
- ${{ if in(parameters.platform, 'maccatalyst_arm64', 'iossimulator_arm64') }}:
37+
- OSX.1200.Arm64.Open
38+
39+
# iOS/tvOS Simulator x64 & MacCatalyst x64
40+
- ${{ if in(parameters.platform, 'iossimulator_x64', 'tvossimulator_x64', 'maccatalyst_x64') }}:
41+
- OSX.1200.Amd64.Open
3842

3943
# Android arm64
4044
- ${{ if in(parameters.platform, 'android_arm64') }}:
@@ -48,6 +52,18 @@ jobs:
4852
- ${{ if eq(parameters.platform, 'browser_wasm') }}:
4953
- (Ubuntu.1804.Amd64)[email protected]/dotnet-buildtools/prereqs:ubuntu-18.04-helix-webassembly
5054

55+
# iOS devices
56+
- ${{ if in(parameters.platform, 'ios_arm64') }}:
57+
# split traffic for runtime-extra-platforms (which mostly runs on rolling builds)
58+
- ${{ if ne(parameters.jobParameters.isExtraPlatforms, true) }}:
59+
- OSX.1015.Amd64.Iphone.Open
60+
- ${{ if eq(parameters.jobParameters.isExtraPlatforms, true) }}:
61+
- OSX.1200.Amd64.Iphone.Open
62+
63+
# tvOS devices
64+
- ${{ if in(parameters.platform, 'tvos_arm64') }}:
65+
- OSX.13.Amd64.AppleTV.Open
66+
5167
# Linux arm
5268
- ${{ if eq(parameters.platform, 'linux_arm') }}:
5369
- ${{ if eq(variables['System.TeamProject'], 'public') }}:

eng/pipelines/extra-platforms/runtime-extra-platforms-ioslike.yml

+42
Original file line numberDiff line numberDiff line change
@@ -43,3 +43,45 @@ jobs:
4343
creator: dotnet-bot
4444
testRunNamePrefixSuffix: Mono_$(_BuildConfig)
4545
extraHelixArguments: /p:NeedsToBuildAppsOnHelix=true
46+
47+
#
48+
# Build the whole product using Mono for iOS/tvOS and run runtime tests with iOS/tvOS devices
49+
#
50+
- template: /eng/pipelines/common/platform-matrix.yml
51+
parameters:
52+
jobTemplate: /eng/pipelines/common/global-build-job.yml
53+
helixQueuesTemplate: /eng/pipelines/coreclr/templates/helix-queues-setup.yml
54+
buildConfig: Release
55+
runtimeFlavor: mono
56+
isExtraPlatformsBuild: ${{ parameters.isExtraPlatformsBuild }}
57+
isiOSLikeOnlyBuild: ${{ parameters.isiOSLikeOnlyBuild }}
58+
platforms:
59+
- ios_arm64
60+
- tvos_arm64
61+
variables:
62+
- ${{ if and(eq(variables['System.TeamProject'], 'public'), eq(variables['Build.Reason'], 'PullRequest')) }}:
63+
- name: _HelixSource
64+
value: pr/dotnet/runtime/$(Build.SourceBranch)
65+
- ${{ if and(eq(variables['System.TeamProject'], 'public'), ne(variables['Build.Reason'], 'PullRequest')) }}:
66+
- name: _HelixSource
67+
value: ci/dotnet/runtime/$(Build.SourceBranch)
68+
- name: timeoutPerTestInMinutes
69+
value: 60
70+
- name: timeoutPerTestCollectionInMinutes
71+
value: 180
72+
jobParameters:
73+
testGroup: innerloop
74+
nameSuffix: AllSubsets_Mono_RuntimeTests
75+
buildArgs: -s mono+libs -c $(_BuildConfig)
76+
timeoutInMinutes: 240
77+
# extra steps, run tests
78+
extraVariablesTemplates:
79+
- template: /eng/pipelines/common/templates/runtimes/test-variables.yml
80+
parameters:
81+
testGroup: innerloop
82+
extraStepsTemplate: /eng/pipelines/common/templates/runtimes/build-runtime-tests-and-send-to-helix.yml
83+
extraStepsParameters:
84+
creator: dotnet-bot
85+
# FIXME: Currently, tracing/eventpipe tests are only enabled on iOS platforms. It should be expanded to include all runtime tests. Tracking issue: https://github.com/dotnet/runtime/issues/84254
86+
testBuildArgs: tree tracing/eventpipe
87+
testRunNamePrefixSuffix: Mono_$(_BuildConfig)

eng/pipelines/extra-platforms/runtime-extra-platforms-ioslikesimulator.yml

+43
Original file line numberDiff line numberDiff line change
@@ -45,3 +45,46 @@ jobs:
4545
creator: dotnet-bot
4646
interpreter: true
4747
testRunNamePrefixSuffix: Mono_$(_BuildConfig)
48+
49+
#
50+
# Build the whole product using Mono for iOSSimulator/tvOSSimulator and run runtime tests with iOS/tvOS simulators
51+
#
52+
- template: /eng/pipelines/common/platform-matrix.yml
53+
parameters:
54+
jobTemplate: /eng/pipelines/common/global-build-job.yml
55+
helixQueuesTemplate: /eng/pipelines/coreclr/templates/helix-queues-setup.yml
56+
buildConfig: Release
57+
runtimeFlavor: mono
58+
isExtraPlatformsBuild: ${{ parameters.isExtraPlatformsBuild }}
59+
isiOSLikeOnlyBuild: ${{ parameters.isiOSLikeOnlyBuild }}
60+
platforms:
61+
- iossimulator_x64
62+
- tvossimulator_x64
63+
- iossimulator_arm64
64+
variables:
65+
- ${{ if and(eq(variables['System.TeamProject'], 'public'), eq(variables['Build.Reason'], 'PullRequest')) }}:
66+
- name: _HelixSource
67+
value: pr/dotnet/runtime/$(Build.SourceBranch)
68+
- ${{ if and(eq(variables['System.TeamProject'], 'public'), ne(variables['Build.Reason'], 'PullRequest')) }}:
69+
- name: _HelixSource
70+
value: ci/dotnet/runtime/$(Build.SourceBranch)
71+
- name: timeoutPerTestInMinutes
72+
value: 60
73+
- name: timeoutPerTestCollectionInMinutes
74+
value: 180
75+
jobParameters:
76+
testGroup: innerloop
77+
nameSuffix: AllSubsets_Mono_RuntimeTests
78+
buildArgs: -s mono+libs -c $(_BuildConfig)
79+
timeoutInMinutes: 240
80+
# extra steps, run tests
81+
extraVariablesTemplates:
82+
- template: /eng/pipelines/common/templates/runtimes/test-variables.yml
83+
parameters:
84+
testGroup: innerloop
85+
extraStepsTemplate: /eng/pipelines/common/templates/runtimes/build-runtime-tests-and-send-to-helix.yml
86+
extraStepsParameters:
87+
creator: dotnet-bot
88+
# FIXME: Currently, tracing/eventpipe tests are only enabled on iOS platforms. It should be expanded to include all runtime tests. Tracking issue: https://github.com/dotnet/runtime/issues/84254
89+
testBuildArgs: tree tracing/eventpipe
90+
testRunNamePrefixSuffix: Mono_$(_BuildConfig)

eng/pipelines/libraries/helix-queues-setup.yml

+1-5
Original file line numberDiff line numberDiff line change
@@ -125,11 +125,7 @@ jobs:
125125

126126
# tvOS devices
127127
- ${{ if in(parameters.platform, 'tvos_arm64') }}:
128-
# if necessary, you can split traffic between queues this way for PR's and rolling builds
129-
- ${{ if ne(parameters.jobParameters.isExtraPlatforms, true) }}:
130-
- OSX.13.Amd64.AppleTV.Open
131-
- ${{ if eq(parameters.jobParameters.isExtraPlatforms, true) }}:
132-
- OSX.13.Amd64.AppleTV.Open
128+
- OSX.13.Amd64.AppleTV.Open
133129

134130
# windows x64
135131
- ${{ if eq(parameters.platform, 'windows_x64') }}:

src/tests/Common/CLRTest.Execute.Bash.targets

+6-2
Original file line numberDiff line numberDiff line change
@@ -60,6 +60,10 @@ WARNING: When setting properties based on their current state (for example:
6060
<PropertyGroup>
6161
<IncompatibleTestBashScriptExitCode>0</IncompatibleTestBashScriptExitCode>
6262
<CoreRunArgs>@(RuntimeHostConfigurationOption -> '-p &quot;%(Identity)=%(Value)&quot;', ' ')</CoreRunArgs>
63+
<IosTestTarget Condition="'$(TargetOS)' == 'iossimulator'">ios-simulator-64</IosTestTarget>
64+
<IosTestTarget Condition="'$(TargetOS)' == 'ios'">ios-device</IosTestTarget>
65+
<IosTestTarget Condition="'$(TargetOS)' == 'tvossimulator'">tvos-simulator</IosTestTarget>
66+
<IosTestTarget Condition="'$(TargetOS)' == 'tvos'">tvos-device</IosTestTarget>
6367

6468
<BashCLRTestEnvironmentCompatibilityCheck Condition="'$(GCStressIncompatible)' == 'true'"><![CDATA[
6569
$(BashCLRTestEnvironmentCompatibilityCheck)
@@ -413,7 +417,7 @@ CLRTestExitCode=$?
413417
CLRTestExpectedExitCode=0
414418
]]>
415419
</BashCLRTestLaunchCmds>
416-
<BashCLRTestLaunchCmds Condition="'$(CLRTestKind)' == 'BuildAndRun' And '$(TargetOS)' == 'iossimulator'">
420+
<BashCLRTestLaunchCmds Condition="'$(CLRTestKind)' == 'BuildAndRun' And ('$(TargetOS)' == 'iossimulator' or '$(TargetOS)' == 'ios' or '$(TargetOS)' == 'tvos' or '$(TargetOS)' == 'tvossimulator')">
417421
<![CDATA[
418422
__Command=""
419423
if [ ! -z ${__TestDotNetCmd+x} ] %3B then
@@ -436,7 +440,7 @@ $__Command $HARNESS_RUNNER apple just-run %5c
436440
--set-env="MONO_APPLE_APP_ENTRY_POINT_LIB_NAME=testdir-$(MsBuildProjectName)/$(MsBuildProjectName).dll" %5c
437441
--set-env="MONO_APPLE_APP_ASSEMBLY_LOAD_PREFIX=testdir-$(MsBuildProjectName)" %5c
438442
--expected-exit-code=100 %5c
439-
--targets ios-simulator-64 %5c
443+
--targets $(IosTestTarget) %5c
440444
-v
441445
CLRTestExitCode=$?
442446

src/tests/Common/Coreclr.TestWrapper/MobileAppHandler.cs

+23-6
Original file line numberDiff line numberDiff line change
@@ -22,17 +22,17 @@ public class MobileAppHandler
2222
// 91 - ADB_FAILURE
2323
private static readonly int[] _knownExitCodes = new int[] { 78, 81, 82, 83, 84, 86, 88, 89, 90, 91 };
2424

25-
public int InstallMobileApp(string platform, string category, string testBinaryBase, string reportBase)
25+
public int InstallMobileApp(string platform, string category, string testBinaryBase, string reportBase, string targetOS)
2626
{
27-
return HandleMobileApp("install", platform, category, testBinaryBase, reportBase);
27+
return HandleMobileApp("install", platform, category, testBinaryBase, reportBase, targetOS);
2828
}
2929

30-
public int UninstallMobileApp(string platform, string category, string testBinaryBase, string reportBase)
30+
public int UninstallMobileApp(string platform, string category, string testBinaryBase, string reportBase, string targetOS)
3131
{
32-
return HandleMobileApp("uninstall", platform, category, testBinaryBase, reportBase);
32+
return HandleMobileApp("uninstall", platform, category, testBinaryBase, reportBase, targetOS);
3333
}
3434

35-
private static int HandleMobileApp(string action, string platform, string category, string testBinaryBase, string reportBase)
35+
private static int HandleMobileApp(string action, string platform, string category, string testBinaryBase, string reportBase, string targetOS)
3636
{
3737
int exitCode = -100;
3838

@@ -82,7 +82,24 @@ private static int HandleMobileApp(string action, string platform, string catego
8282
}
8383
else // platform is apple
8484
{
85-
cmdStr += $" --output-directory={reportBase}/{action} --target=ios-simulator-64"; //To Do: target should be either emulator or device
85+
string targetString = "";
86+
87+
switch (targetOS) {
88+
case "ios":
89+
targetString = "ios-device";
90+
break;
91+
case "iossimulator":
92+
targetString = "ios-simulator-64";
93+
break;
94+
case "tvos":
95+
targetString = "tvos-device";
96+
break;
97+
case "tvossimulator":
98+
targetString = "tvos-simulator";
99+
break;
100+
}
101+
102+
cmdStr += $" --output-directory={reportBase}/{action} --target={targetString}";
86103

87104
if (action == "install")
88105
{

src/tests/Common/helixpublishwitharcade.proj

+27-10
Original file line numberDiff line numberDiff line change
@@ -109,7 +109,7 @@
109109
SuperPmiCollect=$(_SuperPmiCollect)
110110
</_PropertiesToPass>
111111

112-
<_PropertiesToPass Condition="'$(TargetOS)' == 'browser' Or '$(TargetsAndroid)' == 'true'">
112+
<_PropertiesToPass Condition="'$(TargetOS)' == 'browser' Or '$(TargetsAndroid)' == 'true' Or '$(TargetsiOS)' == 'true' Or '$(TargetsiOSSimulator)' == 'true' Or '$(TargetstvOS)' == 'true' Or '$(TargetstvOSSimulator)' == 'true'">
113113
$(_PropertiesToPass);
114114
IncludeDotNetCli=$(IncludeDotNetCli);
115115
DotNetCliRuntime=$(DotNetCliRuntime);
@@ -161,6 +161,9 @@
161161
<HelixRuntimeRid Condition="'$(TargetOSSpec)' == 'browser'">browser-wasm</HelixRuntimeRid>
162162
<HelixRuntimeRid Condition="'$(TargetOSSpec)' == 'android'">android-$(TargetArchitecture)</HelixRuntimeRid>
163163
<HelixRuntimeRid Condition="'$(TargetOSSpec)' == 'iossimulator'">iossimulator-$(TargetArchitecture)</HelixRuntimeRid>
164+
<HelixRuntimeRid Condition="'$(TargetOSSpec)' == 'ios'">ios-$(TargetArchitecture)</HelixRuntimeRid>
165+
<HelixRuntimeRid Condition="'$(TargetOSSpec)' == 'tvossimulator'">tvossimulator-$(TargetArchitecture)</HelixRuntimeRid>
166+
<HelixRuntimeRid Condition="'$(TargetOSSpec)' == 'tvos'">tvos-$(TargetArchitecture)</HelixRuntimeRid>
164167
</PropertyGroup>
165168

166169
<PropertyGroup>
@@ -507,6 +510,7 @@
507510
Condition="'$(TargetsAppleMobile)' == 'true'"
508511
Outputs="%(_MergedWrapperMarker.FileName)"
509512
DependsOnTargets="DiscoverMergedTestWrappers;GetTestExclusionList">
513+
510514
<PropertyGroup>
511515
<_MergedWrapperDirectory>%(_MergedWrapperMarker.RootDir)%(Directory)</_MergedWrapperDirectory>
512516
<_MergedWrapperName>%(_MergedWrapperMarker.FileName)</_MergedWrapperName>
@@ -593,7 +597,7 @@
593597
<TimeoutPerTestInMilliseconds Condition=" '$(TimeoutPerTestInMinutes)' != '' ">$([System.TimeSpan]::FromMinutes($(TimeoutPerTestInMinutes)).TotalMilliseconds)</TimeoutPerTestInMilliseconds>
594598
<WaitForWorkItemCompletion>true</WaitForWorkItemCompletion>
595599
<_XUnitParallelMode>collections</_XUnitParallelMode>
596-
<_XUnitParallelMode Condition=" '$(TargetsAndroid)' == 'true' or '$(TargetsiOSSimulator)' == 'true'">none</_XUnitParallelMode>
600+
<_XUnitParallelMode Condition=" '$(TargetsAndroid)' == 'true' or '$(TargetsiOSSimulator)' == 'true' or '$(TargetsiOS)' == 'true' or '$(TargetstvOSSimulator)' == 'true' or '$(TargetstvOS)' == 'true'">none</_XUnitParallelMode>
597601
<_XUnitParallelMode Condition=" '$(LongRunningGCTests)' == 'true' ">none</_XUnitParallelMode>
598602
<_XUnitParallelMode Condition=" '$(GcSimulatorTests)' == 'true' ">none</_XUnitParallelMode>
599603
<XUnitRunnerArgs>-parallel $(_XUnitParallelMode) -nocolor -noshadow -xml testResults.xml</XUnitRunnerArgs>
@@ -735,8 +739,8 @@
735739
<ItemGroup Condition=" '$(UsesHelixSdk)' == 'true' ">
736740
<HelixCorrelationPayload Include="$(CoreRootDirectory)" />
737741

738-
<!-- Browser-Wasm follows a very different workflow, which is currently out of scope of the Log Checker. -->
739-
<HelixCorrelationPayload Include="$(XUnitLogCheckerDirectory)" Condition="'$(TargetsBrowser)' != 'true'" />
742+
<!-- Browser-Wasm and iOS platforms follow a very different workflow, which is currently out of scope of the Log Checker. It's not useful on any platform that uses xharness. -->
743+
<HelixCorrelationPayload Include="$(XUnitLogCheckerDirectory)" Condition="'$(TargetsBrowser)' != 'true' and '$(TargetsiOS)' != 'true' and '$(TargetsiOSSimulator)' != 'true' and '$(TargetstvOS)' != 'true' and '$(TargetstvOSSimulator)' != 'true'" />
740744
<HelixCorrelationPayload Condition="'$(TestWrapperTargetsWindows)' == 'true'" Include="dotnet-sos">
741745
<Destination>sos</Destination>
742746
<Uri>https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-tools/nuget/v3/flat2/dotnet-sos/$(DotnetSosVersion)/dotnet-sos.$(DotnetSosVersion).nupkg</Uri>
@@ -836,6 +840,21 @@
836840
</ItemGroup>
837841
</Target>
838842

843+
<PropertyGroup>
844+
<SigningCommand Condition="'$(TargetOS)' == 'iOS' or '$(TargetOS)' == 'tvOS'">
845+
<![CDATA[
846+
for APP_FILE in `find . -name *.app`; do cp embedded.mobileprovision $APP_FILE; sign $APP_FILE; done; ]]>
847+
</SigningCommand>
848+
</PropertyGroup>
849+
850+
<PropertyGroup Condition="'$(TargetsAppleMobile)' == 'true'">
851+
<AppleTestTarget Condition="'$(TargetOS)' == 'iossimulator'">ios-simulator-64</AppleTestTarget>
852+
<AppleTestTarget Condition="'$(TargetOS)' == 'tvossimulator'">tvos-simulator</AppleTestTarget>
853+
<AppleTestTarget Condition="'$(TargetOS)' == 'ios'">ios-device</AppleTestTarget>
854+
<AppleTestTarget Condition="'$(TargetOS)' == 'tvos'">tvos-device</AppleTestTarget>
855+
<AppleTestTarget Condition="'$(TargetOS)' == 'maccatalyst'">maccatalyst</AppleTestTarget>
856+
</PropertyGroup>
857+
839858
<ItemGroup>
840859
<HelixWorkItem Include="@(LegacyPayloads->Metadata('PayloadGroup'))" Condition="'$(TargetHasHelixXHarnessSdkSupport)' != 'true'">
841860
<PayloadDirectory>%(PayloadDirectory)</PayloadDirectory>
@@ -859,17 +878,15 @@
859878
</XHarnessApkToTest>
860879

861880
<XHarnessAppBundleToTest Include="@(LegacyPayloads->Metadata('PayloadZipFile'))" Condition="'$(TargetsAppleMobile)' == 'true'">
862-
<TestTarget Condition="'$(TargetArchitecture)' == 'arm64'">ios-simulator-64</TestTarget>
863-
<TestTarget Condition="'$(TargetArchitecture)' == 'x64'">ios-simulator-64</TestTarget>
881+
<TestTarget>$(AppleTestTarget)</TestTarget>
864882
<TestTimeout Condition=" '$(TimeoutPerTestCollectionInMinutes)' != '' ">$([System.TimeSpan]::FromMinutes($(TimeoutPerTestCollectionInMinutes)))</TestTimeout>
865-
<CustomCommands>dotnet $(XUnitRunnerDll) %(XUnitWrapperDlls) $(XUnitRunnerArgs)</CustomCommands>
866-
<CustomCommands Condition=" '%(TestGroup)' != '' ">dotnet $(XUnitRunnerDll) %(XUnitWrapperDlls) $(XUnitRunnerArgs) -trait TestGroup=%(TestGroup)</CustomCommands>
883+
<CustomCommands> $(SigningCommand) dotnet $(XUnitRunnerDll) %(XUnitWrapperDlls) $(XUnitRunnerArgs)</CustomCommands>
884+
<CustomCommands Condition=" '%(TestGroup)' != '' ">$(SigningCommand) dotnet $(XUnitRunnerDll) %(XUnitWrapperDlls) $(XUnitRunnerArgs) -trait TestGroup=%(TestGroup)</CustomCommands>
867885
</XHarnessAppBundleToTest>
868886

869887
<XHarnessAppBundleToTest Include="@(MergedPayloads->Metadata('PayloadGroup'))" Condition="'$(TargetsAppleMobile)' == 'true'">
870888
<Arguments>--set-env=TestExclusionListPath=TestExclusionList.txt</Arguments>
871-
<TestTarget Condition="'$(TargetArchitecture)' == 'arm64'">ios-simulator-64</TestTarget>
872-
<TestTarget Condition="'$(TargetArchitecture)' == 'x64'">ios-simulator-64</TestTarget>
889+
<TestTarget>$(AppleTestTarget)</TestTarget>
873890
<TestTimeout Condition=" '$(TimeoutPerTestCollectionInMinutes)' != '' ">$([System.TimeSpan]::FromMinutes($(TimeoutPerTestCollectionInMinutes)))</TestTimeout>
874891
</XHarnessAppBundleToTest>
875892

src/tests/Directory.Build.props

+9
Original file line numberDiff line numberDiff line change
@@ -80,6 +80,9 @@
8080
<RunWithAndroid>false</RunWithAndroid>
8181
<RunWithAndroid Condition="'$(TargetOS)' == 'android'">true</RunWithAndroid>
8282

83+
<RunWithiOS>false</RunWithiOS>
84+
<RunWithiOS Condition="'$(TargetOS)' == 'ios' or '$(TargetOS)' == 'iossimulator' or '$(TargetOS)' == 'tvos' or '$(TargetOS)' == 'tvossimulator'">true</RunWithiOS>
85+
8386
<MonoAot>false</MonoAot>
8487
<MonoAot Condition="'$(__MonoAot)' == '1'">true</MonoAot>
8588
<RuntimeVariant Condition="'$(__MonoAot)' == '1'">llvmaot</RuntimeVariant>
@@ -202,6 +205,12 @@
202205
<ImportProjectExtensionTargets>false</ImportProjectExtensionTargets>
203206
</PropertyGroup>
204207

208+
<PropertyGroup Condition="'$(TargetOS)' == 'ios' Or '$(TargetOS)' == 'tvos'">
209+
<EnableAggressiveTrimming>true</EnableAggressiveTrimming>
210+
<PublishTrimmed>true</PublishTrimmed>
211+
<SkipTestUtilitiesReference>true</SkipTestUtilitiesReference>
212+
</PropertyGroup>
213+
205214
<Import Project="$(RepositoryEngineeringDir)testing\tests.props" Condition="'$(IsTestsCommonProject)' != 'true'" />
206215
<Import Project="$(BaseOutputPath)\packages\Common\test_dependencies\test_dependencies\test_dependencies.*.props" Condition="'$(IsTestsCommonProject)' != 'true'" />
207216
</Project>

0 commit comments

Comments
 (0)