diff --git a/tests/xharness/Harness.cs b/tests/xharness/Harness.cs index 30c401a314..e8275fbbcb 100644 --- a/tests/xharness/Harness.cs +++ b/tests/xharness/Harness.cs @@ -82,6 +82,7 @@ namespace xharness public string JENKINS_RESULTS_DIRECTORY { get; set; } // Use same name as in Makefiles, so that a grep finds it. public string MAC_DESTDIR { get; set; } public string IOS_DESTDIR { get; set; } + public bool IncludeMac32 { get; set; } // Run public AppRunnerTarget Target { get; set; } diff --git a/tests/xharness/MacClassicTarget.cs b/tests/xharness/MacClassicTarget.cs index 797998dcce..01ad629328 100644 --- a/tests/xharness/MacClassicTarget.cs +++ b/tests/xharness/MacClassicTarget.cs @@ -4,6 +4,11 @@ namespace xharness { public class MacClassicTarget : MacTarget { + public MacClassicTarget () + { + ThirtyTwoBit = true; + } + protected override void ExecuteInternal () { // nothing to do here diff --git a/tests/xharness/MacTarget.cs b/tests/xharness/MacTarget.cs index aed5244cd5..769c64abbb 100644 --- a/tests/xharness/MacTarget.cs +++ b/tests/xharness/MacTarget.cs @@ -4,6 +4,8 @@ namespace xharness { public class MacTarget : Target { + public bool ThirtyTwoBit; + protected override bool FixProjectReference (string name) { switch (name) { diff --git a/tests/xharness/MacUnifiedTarget.cs b/tests/xharness/MacUnifiedTarget.cs index 31c23e8702..0f6b4c995d 100644 --- a/tests/xharness/MacUnifiedTarget.cs +++ b/tests/xharness/MacUnifiedTarget.cs @@ -12,7 +12,6 @@ namespace xharness bool IsBCL => BCLInfo != null; bool SkipProjectGeneration; - bool ThirtyTwoBit; bool SkipSuffix; public MacUnifiedTarget (bool mobile, bool thirtyTwoBit, bool shouldSkipProjectGeneration = false, bool skipSuffix = false) : base () diff --git a/tests/xharness/MakefileGenerator.cs b/tests/xharness/MakefileGenerator.cs index d2e9a492c2..2e0796e1ba 100644 --- a/tests/xharness/MakefileGenerator.cs +++ b/tests/xharness/MakefileGenerator.cs @@ -194,7 +194,11 @@ namespace xharness writer.WriteLine ("# Container targets that run multiple test projects"); writer.WriteLine (); - var grouped = allTargets.GroupBy ((target) => target.SimplifiedName); + IEnumerable groupableTargets = allTargets; + if (!harness.IncludeMac32) + groupableTargets = groupableTargets.Where ((v) => !v.ThirtyTwoBit); + + var grouped = groupableTargets.GroupBy ((target) => target.SimplifiedName); foreach (MacTargetNameType action in Enum.GetValues (typeof (MacTargetNameType))) { var actionName = action.ToString ().ToLowerInvariant (); foreach (var group in grouped) { @@ -210,7 +214,7 @@ namespace xharness writer.WriteLine ("mac-run run-mac:"); writer.WriteLine ("\t$(Q) rm -rf \".$@-failure.stamp\""); - foreach (var target in allTargets) { + foreach (var target in groupableTargets) { if (target is MacClassicTarget) writer.WriteLine ("\t$(Q) $(MAKE) {0} || echo \"{0} failed\" >> \".$@-failure.stamp\"", MakeMacClassicTargetName (target, MacTargetNameType.Run)); else if (target is MacUnifiedTarget) @@ -224,7 +228,7 @@ namespace xharness writer.WriteLine ("mac-build mac-build-all build-mac:"); // build everything writer.WriteLine ("\t$(Q) rm -rf \".$@-failure.stamp\""); - foreach (var target in allTargets) { + foreach (var target in groupableTargets) { if (target is MacClassicTarget) writer.WriteLine ("\t$(Q) $(MAKE) {0} || echo \"{0} failed\" >> \".$@-failure.stamp\"", MakeMacClassicTargetName (target, MacTargetNameType.Build)); else if (target is MacUnifiedTarget)