-
Notifications
You must be signed in to change notification settings - Fork 559
Expand file tree
/
Copy pathtest-variations.csproj
More file actions
121 lines (104 loc) · 6.67 KB
/
test-variations.csproj
File metadata and controls
121 lines (104 loc) · 6.67 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
<?xml version="1.0" encoding="utf-8"?>
<!-- This file contains various test variations valid for all test projects + some supporting logic -->
<!-- Test variations can also be added to a project's shared.csproj, but if a test variation also needs settings to apply to referenced projects, the variation has to be added to this file -->
<Project>
<ItemGroup>
<TestVariations Include="debug" Description="Debug ('Configuration=Debug')" />
<TestVariations Include="release" Description="Release ('Configuration=Release')" />
<TestVariations Include="interpreter" Description="Run with the interpreter ('UseInterpreter=true')" />
<TestVariations Include="bundle-original-resources" Description="Bundle original resources ('BundleOriginalResources=true')" />
<TestVariations Include="do-not-bundle-original-resources" Description="Do not bundle original resources ('BundleOriginalResources=false')" />
<TestVariations Include="nativeaot" Description="Run with NativeAOT ('PublishAot=true' and '_IsPublishing=true')" />
<TestVariations Include="linksdk" Description="Run with trimmer (MtouchLink/LinkMode) set to 'SdkOnly'" />
<TestVariations Include="linkall" Description="Run with trimmer (MtouchLink/LinkMode) set to 'Full'" />
<TestVariations Include="coreclr" Description="Use CoreCLR ('UseMonoRuntime=false')" />
<TestVariations Include="monovm" Description="Use MonoVM ('UseMonoRuntime=true')" />
<TestVariations Include="static-registrar" Description="Static registrar" />
<TestVariations Include="static-registrar-all-optimizations" Description="Static registrar + all optimizations" />
<TestVariations Include="static-registrar-all-optimizations-linkall" Description="Static registrar + all optimizations + Link all" />
<TestVariations Include="static-registrar-optimizations-except-uithread-checks-linkall" Description="Static registrar + all optimizations + Link all" />
<TestVariations Include="managed-static-registrar-all-optimizations-linkall" Description="Managed static registrar + all optimizations" />
</ItemGroup>
<PropertyGroup>
<_TestVariationForComparison>|$([System.String]::Join('|', $(TestVariation.Split('|', StringSplitOptions.RemoveEmptyEntries))))|</_TestVariationForComparison>
</PropertyGroup>
<PropertyGroup Condition="$(_TestVariationForComparison.Contains('|debug|'))">
<Configuration>Debug</Configuration>
<_TestVariationApplied>true</_TestVariationApplied>
</PropertyGroup>
<PropertyGroup Condition="$(_TestVariationForComparison.Contains('|release|'))">
<Configuration>Release</Configuration>
<_TestVariationApplied>true</_TestVariationApplied>
</PropertyGroup>
<PropertyGroup Condition="$(_TestVariationForComparison.Contains('|interpreter|'))">
<UseInterpreter>true</UseInterpreter>
<_TestVariationApplied>true</_TestVariationApplied>
</PropertyGroup>
<PropertyGroup Condition="$(_TestVariationForComparison.Contains('|bundle-original-resources|'))">
<BundleOriginalResources>true</BundleOriginalResources>
<_TestVariationApplied>true</_TestVariationApplied>
</PropertyGroup>
<PropertyGroup Condition="$(_TestVariationForComparison.Contains('|do-not-bundle-original-resources|'))">
<BundleOriginalResources>false</BundleOriginalResources>
<_TestVariationApplied>true</_TestVariationApplied>
</PropertyGroup>
<PropertyGroup Condition="$(_TestVariationForComparison.Contains('|nativeaot|'))">
<PublishAot>true</PublishAot>
<_IsPublishing>true</_IsPublishing>
<_TestVariationApplied>true</_TestVariationApplied>
</PropertyGroup>
<PropertyGroup Condition="$(_TestVariationForComparison.Contains('|linksdk|'))">
<TrimMode>partial</TrimMode>
<_TestVariationApplied>true</_TestVariationApplied>
</PropertyGroup>
<PropertyGroup Condition="$(_TestVariationForComparison.Contains('|linkall|'))">
<TrimMode>full</TrimMode>
<_TestVariationApplied>true</_TestVariationApplied>
</PropertyGroup>
<PropertyGroup Condition="$(_TestVariationForComparison.Contains('|coreclr|'))">
<UseMonoRuntime>false</UseMonoRuntime>
<_TestVariationApplied>true</_TestVariationApplied>
</PropertyGroup>
<PropertyGroup Condition="$(_TestVariationForComparison.Contains('|monovm|'))">
<UseMonoRuntime>true</UseMonoRuntime>
<_TestVariationApplied>true</_TestVariationApplied>
</PropertyGroup>
<PropertyGroup Condition="$(_TestVariationForComparison.Contains('|static-registrar|'))">
<Registrar>static</Registrar>
<_TestVariationApplied>true</_TestVariationApplied>
</PropertyGroup>
<PropertyGroup Condition="$(_TestVariationForComparison.Contains('|static-registrar-all-optimizations|'))">
<AppBundleExtraOptions>$(AppBundleExtraOptions) --optimize:all</AppBundleExtraOptions>
<Registrar>static</Registrar>
<DefineConstants>$(DefineConstants);OPTIMIZEALL</DefineConstants>
<_TestVariationApplied>true</_TestVariationApplied>
</PropertyGroup>
<PropertyGroup Condition="$(_TestVariationForComparison.Contains('|static-registrar-all-optimizations-linkall|'))">
<AppBundleExtraOptions>$(AppBundleExtraOptions) --optimize:all</AppBundleExtraOptions>
<Registrar>static</Registrar>
<TrimMode>full</TrimMode>
<DefineConstants>$(DefineConstants);OPTIMIZEALL</DefineConstants>
<_TestVariationApplied>true</_TestVariationApplied>
</PropertyGroup>
<PropertyGroup Condition="$(_TestVariationForComparison.Contains('|static-registrar-optimizations-except-uithread-checks-linkall|'))">
<AppBundleExtraOptions>$(AppBundleExtraOptions) --optimize:all,-remove-uithread-checks</AppBundleExtraOptions>
<Registrar>static</Registrar>
<TrimMode>full</TrimMode>
<DefineConstants>$(DefineConstants);OPTIMIZEALL</DefineConstants>
<_TestVariationApplied>true</_TestVariationApplied>
</PropertyGroup>
<PropertyGroup Condition="$(_TestVariationForComparison.Contains('|managed-static-registrar-all-optimizations-linkall|'))">
<AppBundleExtraOptions>$(AppBundleExtraOptions) --optimize:all</AppBundleExtraOptions>
<Registrar>managed-static</Registrar>
<TrimMode>full</TrimMode>
<DefineConstants>$(DefineConstants);OPTIMIZEALL</DefineConstants>
<_TestVariationApplied>true</_TestVariationApplied>
</PropertyGroup>
<Target Name="ValidateTestVariation" Condition="'$(TestVariation)' != '' And '$(OutputType)' == 'exe'" BeforeTargets="Build">
<ItemGroup>
<_InvalidTestVariations Include="$(TestVariation.Split('|'))" Exclude="@(TestVariations)" />
</ItemGroup>
<Error Text="Invalid test variation(s): '@(_InvalidTestVariations,', ')'. Please run 'make list-variations' to list all the valid variations." Condition="@(_InvalidTestVariations->Count()) != '0'" />
<Error Text="Test variation '$(TestVariation)' didn't find any test variations - this is a bug in a condition when applying test variations in this file." Condition="'$(_TestVariationApplied)' == ''" />
</Target>
</Project>