Skip to content

Commit ef85762

Browse files
fanyang-monoNathan Riccipremun
authored
Use XHarnessApkToTest to create helix work items for runtime tests when running on Android (#57292)
* Try to use CustomCommand for Android jobs * Moved property group outside of item group. * Reverted commenting in runtime.yml * reverted comment change to global-build.yml * Target->TestTarget Co-authored-by: Přemek Vysoký <[email protected]> * Fixed item group nesting. * Added version string. * Define HelixWorkItem and XHarnessApkToTest after defining Payloads * Disable more unrelated lanes when experimenting * Remove the code to only run one test * Uncomment global-build * Uncomment some jobs * Uncomment mono and library build jobs * Uncomment more mono build jobs * Uncomment more mono jobs * Fix app path * Keep full path * Use zip files as XHarnessApkToTest inputs * Fix attribute error * Fix syntax * Update src/tests/Common/helixpublishwitharcade.proj Co-authored-by: Přemek Vysoký <[email protected]> * Zip payload folder after target PreparePayloadsDirectories * Revert the hack * Revert unwanted changes * Remove typo * Address review feedback * Add back timeout threshold * Remove redundant var Co-authored-by: Nathan Ricci <[email protected]> Co-authored-by: Přemek Vysoký <[email protected]>
1 parent 29a5ff0 commit ef85762

File tree

1 file changed

+25
-1
lines changed

1 file changed

+25
-1
lines changed

src/tests/Common/helixpublishwitharcade.proj

Lines changed: 25 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -236,6 +236,18 @@
236236
<MSBuild Projects="@(_ProjectsToBuild)" Targets="CreateTestEnvFiles" StopOnFirstFailure="true" />
237237
</Target>
238238

239+
<Target Name="ZipPayloadDirectory" AfterTargets="PreparePayloadsDirectories" Condition="'$(TargetOS)' == 'Android'">
240+
<ItemGroup>
241+
<Payloads Include="$([System.IO.Directory]::GetDirectories($(PayloadsRootDirectory)))" Condition="Exists('$(PayloadsRootDirectory)')" />
242+
<Payloads Update="@(Payloads)">
243+
<PayloadGroup>$([MSBuild]::MakeRelative($(PayloadsRootDirectory), %(FullPath)))</PayloadGroup>
244+
<PayloadDirectory>%(FullPath)</PayloadDirectory>
245+
</Payloads>
246+
</ItemGroup>
247+
248+
<ZipDirectory SourceDirectory="@(Payloads->Metadata('PayloadDirectory'))" DestinationFile="$(PayloadsRootDirectory)\%(Payloads.PayloadGroup).zip" />
249+
</Target>
250+
239251
<PropertyGroup>
240252
<EnableAzurePipelinesReporter>$(PublishTestResults)</EnableAzurePipelinesReporter>
241253
<EnableAzurePipelinesReporter Condition=" '$(EnableAzurePipelinesReporter)' == '' ">false</EnableAzurePipelinesReporter>
@@ -316,6 +328,11 @@
316328
<XUnitRunnerDll>%CORE_ROOT%\xunit\xunit.console.dll</XUnitRunnerDll>
317329
</PropertyGroup>
318330

331+
<PropertyGroup>
332+
<IsRunningOnMobileTargets>false</IsRunningOnMobileTargets>
333+
<IsRunningOnMobileTargets Condition="'$(TargetOS)' == 'Android' or '$(TargetOS)' == 'iOSSimulator' or '$(TargetOS)' == 'tvOSSimulator' ">true</IsRunningOnMobileTargets>
334+
</PropertyGroup>
335+
319336
<PropertyGroup Condition=" '$(TestWrapperTargetsWindows)' != 'true' ">
320337
<XUnitRunnerDll>$CORE_ROOT/xunit/xunit.console.dll</XUnitRunnerDll>
321338
</PropertyGroup>
@@ -334,15 +351,22 @@
334351
<TestGroup>%(PayloadGroup)</TestGroup>
335352
<!-- When Payload contains more than one *.XUnitWrapper.dll TestGroup should not be specified. -->
336353
<TestGroup Condition=" $([MSBuild]::ValueOrDefault(%(XUnitWrapperDlls), '').IndexOf('.XUnitWrapper.dll')) != $([MSBuild]::ValueOrDefault(%(XUnitWrapperDlls), '').LastIndexOf('.XUnitWrapper.dll')) "></TestGroup>
354+
<PayloadZipFile>$(PayloadsRootDirectory)\%(PayloadGroup).zip</PayloadZipFile>
337355
</Payloads>
338356

339-
<HelixWorkItem Include="@(Payloads->Metadata('PayloadGroup'))">
357+
<HelixWorkItem Include="@(Payloads->Metadata('PayloadGroup'))" Condition=" '$(IsRunningOnMobileTargets)' == 'false' ">
340358
<PayloadDirectory>%(PayloadDirectory)</PayloadDirectory>
341359
<Command>dotnet $(XUnitRunnerDll) %(XUnitWrapperDlls) $(XUnitRunnerArgs)</Command>
342360
<Command Condition=" '%(TestGroup)' != '' ">dotnet $(XUnitRunnerDll) %(XUnitWrapperDlls) $(XUnitRunnerArgs) -trait TestGroup=%(TestGroup)</Command>
343361
<Timeout Condition=" '$(TimeoutPerTestCollectionInMinutes)' != '' ">$([System.TimeSpan]::FromMinutes($(TimeoutPerTestCollectionInMinutes)))</Timeout>
344362
</HelixWorkItem>
345363

364+
<XHarnessApkToTest Include="@(Payloads->Metadata('PayloadZipFile'))" Condition="'$(TargetOS)' == 'Android'">
365+
<TestTimeout Condition=" '$(TimeoutPerTestCollectionInMinutes)' != '' ">$([System.TimeSpan]::FromMinutes($(TimeoutPerTestCollectionInMinutes)))</TestTimeout>
366+
<CustomCommands>dotnet $(XUnitRunnerDll) %(XUnitWrapperDlls) $(XUnitRunnerArgs)</CustomCommands>
367+
<CustomCommands Condition=" '%(TestGroup)' != '' ">dotnet $(XUnitRunnerDll) %(XUnitWrapperDlls) $(XUnitRunnerArgs) -trait TestGroup=%(TestGroup)</CustomCommands>
368+
</XHarnessApkToTest>
369+
346370
<HelixWorkItem Condition="'$(PALTestsDir)' != '' and '$(TestWrapperTargetsWindows)' != 'true'" Include="PALTests">
347371
<PayloadArchive>$(PayloadsRootDirectory)paltests.tar.gz</PayloadArchive>
348372
<Command>./runpaltestshelix.sh</Command>

0 commit comments

Comments
 (0)