[xharness] Don't add Debug variations for arm64_32, we don't support it yet.
This commit is contained in:
Родитель
2f8100d962
Коммит
321c6e7a87
|
@ -238,7 +238,7 @@ namespace xharness
|
||||||
public string LinkMode;
|
public string LinkMode;
|
||||||
public string Defines;
|
public string Defines;
|
||||||
public string Undefines;
|
public string Undefines;
|
||||||
public bool Ignored;
|
public bool? Ignored;
|
||||||
public bool EnableSGenConc;
|
public bool EnableSGenConc;
|
||||||
public bool UseThumb;
|
public bool UseThumb;
|
||||||
public MonoNativeFlavor MonoNativeFlavor;
|
public MonoNativeFlavor MonoNativeFlavor;
|
||||||
|
@ -266,48 +266,65 @@ namespace xharness
|
||||||
// 32-bit interpreter doesn't work yet: https://github.com/mono/mono/issues/9871
|
// 32-bit interpreter doesn't work yet: https://github.com/mono/mono/issues/9871
|
||||||
var supports_interpreter = test.Platform != TestPlatform.iOS_Unified32;
|
var supports_interpreter = test.Platform != TestPlatform.iOS_Unified32;
|
||||||
var supports_dynamic_registrar_on_device = test.Platform == TestPlatform.iOS_Unified64 || test.Platform == TestPlatform.tvOS;
|
var supports_dynamic_registrar_on_device = test.Platform == TestPlatform.iOS_Unified64 || test.Platform == TestPlatform.tvOS;
|
||||||
|
// arm64_32 is only supported for Release builds for now.
|
||||||
|
var supports_debug = test.Platform != TestPlatform.watchOS_64_32;
|
||||||
|
bool? ignored_release = null;
|
||||||
|
if (test.Platform == TestPlatform.watchOS_64_32) {
|
||||||
|
// The template test is in the Debug configuration, but we only support arm64_32 in Release, which means the template test is ignored.
|
||||||
|
// We still want to run any Release configurations, so forcefully unignore those.
|
||||||
|
ignored_release = false;
|
||||||
|
}
|
||||||
|
|
||||||
switch (test.ProjectPlatform) {
|
switch (test.ProjectPlatform) {
|
||||||
case "iPhone":
|
case "iPhone":
|
||||||
/* we don't add --assembly-build-target=@all=staticobject because that's the default in all our test projects */
|
/* we don't add --assembly-build-target=@all=staticobject because that's the default in all our test projects */
|
||||||
|
if (supports_debug) {
|
||||||
yield return new TestData { Variation = "AssemblyBuildTarget: dylib (debug)", MTouchExtraArgs = "--assembly-build-target=@all=dynamiclibrary", Debug = true, Profiling = false, MonoNativeLinkMode = MonoNativeLinkMode.Dynamic, MonoNativeFlavor = flavor };
|
yield return new TestData { Variation = "AssemblyBuildTarget: dylib (debug)", MTouchExtraArgs = "--assembly-build-target=@all=dynamiclibrary", Debug = true, Profiling = false, MonoNativeLinkMode = MonoNativeLinkMode.Dynamic, MonoNativeFlavor = flavor };
|
||||||
yield return new TestData { Variation = "AssemblyBuildTarget: SDK framework (debug)", MTouchExtraArgs = "--assembly-build-target=@sdk=framework=Xamarin.Sdk --assembly-build-target=@all=staticobject", Debug = true, Profiling = false, MonoNativeLinkMode = MonoNativeLinkMode.Static, MonoNativeFlavor = flavor };
|
yield return new TestData { Variation = "AssemblyBuildTarget: SDK framework (debug)", MTouchExtraArgs = "--assembly-build-target=@sdk=framework=Xamarin.Sdk --assembly-build-target=@all=staticobject", Debug = true, Profiling = false, MonoNativeLinkMode = MonoNativeLinkMode.Static, MonoNativeFlavor = flavor };
|
||||||
|
|
||||||
yield return new TestData { Variation = "AssemblyBuildTarget: dylib (debug, profiling)", MTouchExtraArgs = "--assembly-build-target=@all=dynamiclibrary", Debug = true, Profiling = true, MonoNativeLinkMode = MonoNativeLinkMode.Dynamic, MonoNativeFlavor = flavor };
|
yield return new TestData { Variation = "AssemblyBuildTarget: dylib (debug, profiling)", MTouchExtraArgs = "--assembly-build-target=@all=dynamiclibrary", Debug = true, Profiling = true, MonoNativeLinkMode = MonoNativeLinkMode.Dynamic, MonoNativeFlavor = flavor };
|
||||||
yield return new TestData { Variation = "AssemblyBuildTarget: SDK framework (debug, profiling)", MTouchExtraArgs = "--assembly-build-target=@sdk=framework=Xamarin.Sdk --assembly-build-target=@all=staticobject", Debug = true, Profiling = true, MonoNativeLinkMode = MonoNativeLinkMode.Static, MonoNativeFlavor = flavor };
|
yield return new TestData { Variation = "AssemblyBuildTarget: SDK framework (debug, profiling)", MTouchExtraArgs = "--assembly-build-target=@sdk=framework=Xamarin.Sdk --assembly-build-target=@all=staticobject", Debug = true, Profiling = true, MonoNativeLinkMode = MonoNativeLinkMode.Static, MonoNativeFlavor = flavor };
|
||||||
|
}
|
||||||
|
|
||||||
yield return new TestData { Variation = "Release", MTouchExtraArgs = "", Debug = false, Profiling = false, MonoNativeLinkMode = MonoNativeLinkMode.Static };
|
yield return new TestData { Variation = "Release", MTouchExtraArgs = "", Debug = false, Profiling = false, Ignored = ignored_release, MonoNativeLinkMode = MonoNativeLinkMode.Static };
|
||||||
if (test.Platform == TestPlatform.iOS_Unified32)
|
if (test.Platform == TestPlatform.iOS_Unified32)
|
||||||
yield return new TestData { Variation = "Release: UseThumb", MTouchExtraArgs = "", Debug = false, Profiling = false, MonoNativeLinkMode = MonoNativeLinkMode.Static, UseThumb = true };
|
yield return new TestData { Variation = "Release: UseThumb", MTouchExtraArgs = "", Debug = false, Ignored = ignored_release, Profiling = false, MonoNativeLinkMode = MonoNativeLinkMode.Static, UseThumb = true };
|
||||||
yield return new TestData { Variation = "AssemblyBuildTarget: SDK framework (release)", MTouchExtraArgs = "--assembly-build-target=@sdk=framework=Xamarin.Sdk --assembly-build-target=@all=staticobject", Debug = false, Profiling = false, MonoNativeLinkMode = MonoNativeLinkMode.Static, MonoNativeFlavor = flavor };
|
yield return new TestData { Variation = "AssemblyBuildTarget: SDK framework (release)", MTouchExtraArgs = "--assembly-build-target=@sdk=framework=Xamarin.Sdk --assembly-build-target=@all=staticobject", Debug = false, Profiling = false, Ignored = ignored_release, MonoNativeLinkMode = MonoNativeLinkMode.Static, MonoNativeFlavor = flavor };
|
||||||
|
|
||||||
switch (test.TestName) {
|
switch (test.TestName) {
|
||||||
case "monotouch-test":
|
case "monotouch-test":
|
||||||
if (supports_dynamic_registrar_on_device)
|
if (supports_dynamic_registrar_on_device)
|
||||||
yield return new TestData { Variation = "Debug (dynamic registrar)", MTouchExtraArgs = "--registrar:dynamic", Debug = true, Profiling = false };
|
yield return new TestData { Variation = "Debug (dynamic registrar)", MTouchExtraArgs = "--registrar:dynamic", Debug = true, Profiling = false };
|
||||||
yield return new TestData { Variation = "Release (all optimizations)", MTouchExtraArgs = "--registrar:static --optimize:all", Debug = false, Profiling = false, Defines = "OPTIMIZEALL" };
|
yield return new TestData { Variation = "Release (all optimizations)", MTouchExtraArgs = "--registrar:static --optimize:all", Debug = false, Profiling = false, Defines = "OPTIMIZEALL" };
|
||||||
|
if (supports_debug) {
|
||||||
yield return new TestData { Variation = "Debug (all optimizations)", MTouchExtraArgs = "--registrar:static --optimize:all", Debug = true, Profiling = false, Defines = "OPTIMIZEALL" };
|
yield return new TestData { Variation = "Debug (all optimizations)", MTouchExtraArgs = "--registrar:static --optimize:all", Debug = true, Profiling = false, Defines = "OPTIMIZEALL" };
|
||||||
yield return new TestData { Variation = "Debug: SGenConc", MTouchExtraArgs = "", Debug = true, Profiling = false, MonoNativeLinkMode = MonoNativeLinkMode.Static, EnableSGenConc = true};
|
yield return new TestData { Variation = "Debug: SGenConc", MTouchExtraArgs = "", Debug = true, Profiling = false, MonoNativeLinkMode = MonoNativeLinkMode.Static, EnableSGenConc = true};
|
||||||
|
}
|
||||||
if (supports_interpreter) {
|
if (supports_interpreter) {
|
||||||
|
if (supports_debug) {
|
||||||
yield return new TestData { Variation = "Debug (interpreter)", MTouchExtraArgs = "--interpreter", Debug = true, Profiling = false, };
|
yield return new TestData { Variation = "Debug (interpreter)", MTouchExtraArgs = "--interpreter", Debug = true, Profiling = false, };
|
||||||
yield return new TestData { Variation = "Debug (interpreter -mscorlib)", MTouchExtraArgs = "--interpreter=-mscorlib", Debug = true, Profiling = false, };
|
yield return new TestData { Variation = "Debug (interpreter -mscorlib)", MTouchExtraArgs = "--interpreter=-mscorlib", Debug = true, Profiling = false, };
|
||||||
yield return new TestData { Variation = "Release (interpreter -mscorlib)", MTouchExtraArgs = "--interpreter=-mscorlib", Debug = false, Profiling = false, };
|
}
|
||||||
|
yield return new TestData { Variation = "Release (interpreter -mscorlib)", MTouchExtraArgs = "--interpreter=-mscorlib", Debug = false, Profiling = false, Ignored = ignored_release, };
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case "mscorlib":
|
case "mscorlib":
|
||||||
yield return new TestData { Variation = "Debug: SGenConc", MTouchExtraArgs = "", Debug = true, Profiling = false, MonoNativeLinkMode = MonoNativeLinkMode.Static, EnableSGenConc = true};
|
yield return new TestData { Variation = "Debug: SGenConc", MTouchExtraArgs = "", Debug = true, Profiling = false, MonoNativeLinkMode = MonoNativeLinkMode.Static, EnableSGenConc = true};
|
||||||
if (supports_interpreter) {
|
if (supports_interpreter) {
|
||||||
|
if (supports_debug) {
|
||||||
yield return new TestData { Variation = "Debug (interpreter)", MTouchExtraArgs = "--interpreter", Debug = true, Profiling = false, Undefines = "FULL_AOT_RUNTIME" };
|
yield return new TestData { Variation = "Debug (interpreter)", MTouchExtraArgs = "--interpreter", Debug = true, Profiling = false, Undefines = "FULL_AOT_RUNTIME" };
|
||||||
yield return new TestData { Variation = "Debug (interpreter -mscorlib)", MTouchExtraArgs = "--interpreter=-mscorlib", Debug = true, Profiling = false, Undefines = "FULL_AOT_RUNTIME" };
|
yield return new TestData { Variation = "Debug (interpreter -mscorlib)", MTouchExtraArgs = "--interpreter=-mscorlib", Debug = true, Profiling = false, Undefines = "FULL_AOT_RUNTIME" };
|
||||||
yield return new TestData { Variation = "Release (interpreter -mscorlib)", MTouchExtraArgs = "--interpreter=-mscorlib", Debug = false, Profiling = false, Undefines = "FULL_AOT_RUNTIME" };
|
}
|
||||||
|
yield return new TestData { Variation = "Release (interpreter -mscorlib)", MTouchExtraArgs = "--interpreter=-mscorlib", Debug = false, Profiling = false, Ignored = ignored_release, Undefines = "FULL_AOT_RUNTIME" };
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case "mini":
|
case "mini":
|
||||||
yield return new TestData { Variation = "Debug: SGenConc", MTouchExtraArgs = "", Debug = true, Profiling = false, MonoNativeLinkMode = MonoNativeLinkMode.Static, EnableSGenConc = true};
|
yield return new TestData { Variation = "Debug: SGenConc", MTouchExtraArgs = "", Debug = true, Profiling = false, MonoNativeLinkMode = MonoNativeLinkMode.Static, EnableSGenConc = true};
|
||||||
if (supports_interpreter) {
|
if (supports_interpreter) {
|
||||||
|
if (supports_debug) {
|
||||||
yield return new TestData { Variation = "Debug (interpreter)", MTouchExtraArgs = "--interpreter", Debug = true, Profiling = false, Undefines = "FULL_AOT_RUNTIME" };
|
yield return new TestData { Variation = "Debug (interpreter)", MTouchExtraArgs = "--interpreter", Debug = true, Profiling = false, Undefines = "FULL_AOT_RUNTIME" };
|
||||||
yield return new TestData { Variation = "Debug (interpreter -mscorlib)", MTouchExtraArgs = "--interpreter=-mscorlib", Debug = true, Profiling = false, Undefines = "FULL_AOT_RUNTIME" };
|
yield return new TestData { Variation = "Debug (interpreter -mscorlib)", MTouchExtraArgs = "--interpreter=-mscorlib", Debug = true, Profiling = false, Undefines = "FULL_AOT_RUNTIME" };
|
||||||
yield return new TestData { Variation = "Release (interpreter -mscorlib)", MTouchExtraArgs = "--interpreter=-mscorlib", Debug = false, Profiling = false, Undefines = "FULL_AOT_RUNTIME" };
|
}
|
||||||
|
yield return new TestData { Variation = "Release (interpreter -mscorlib)", MTouchExtraArgs = "--interpreter=-mscorlib", Debug = false, Profiling = false, Ignored = ignored_release, Undefines = "FULL_AOT_RUNTIME" };
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
@ -452,7 +469,7 @@ namespace xharness
|
||||||
};
|
};
|
||||||
T newVariation = creator (build, task, candidates);
|
T newVariation = creator (build, task, candidates);
|
||||||
newVariation.Variation = variation;
|
newVariation.Variation = variation;
|
||||||
newVariation.Ignored = task.Ignored || ignored;
|
newVariation.Ignored = ignored ?? task.Ignored;
|
||||||
newVariation.BuildOnly = task.BuildOnly;
|
newVariation.BuildOnly = task.BuildOnly;
|
||||||
rv.Add (newVariation);
|
rv.Add (newVariation);
|
||||||
}
|
}
|
||||||
|
@ -599,6 +616,7 @@ namespace xharness
|
||||||
ProjectPlatform = "iPhone",
|
ProjectPlatform = "iPhone",
|
||||||
Platform = TestPlatform.watchOS_64_32,
|
Platform = TestPlatform.watchOS_64_32,
|
||||||
TestName = project.Name,
|
TestName = project.Name,
|
||||||
|
Ignored = true,
|
||||||
};
|
};
|
||||||
buildWatch64_32.CloneTestProject (watchOSProject);
|
buildWatch64_32.CloneTestProject (watchOSProject);
|
||||||
rv.Add (new RunDeviceTask (buildWatch64_32, Devices.ConnectedWatch32_64.Where (d => d.IsSupported (project))) { Ignored = ignored || !IncludewatchOS, BuildOnly = project.BuildOnly });
|
rv.Add (new RunDeviceTask (buildWatch64_32, Devices.ConnectedWatch32_64.Where (d => d.IsSupported (project))) { Ignored = ignored || !IncludewatchOS, BuildOnly = project.BuildOnly });
|
||||||
|
|
Загрузка…
Ссылка в новой задаче