2016-05-26 16:06:52 +03:00
|
|
|
using System;
|
|
|
|
using System.Collections.Generic;
|
|
|
|
|
|
|
|
namespace xharness
|
|
|
|
{
|
|
|
|
public class MacUnifiedTarget : MacTarget
|
|
|
|
{
|
|
|
|
public bool Mobile { get; private set; }
|
|
|
|
|
2017-10-28 00:44:22 +03:00
|
|
|
// Optional
|
|
|
|
public MacBCLTestInfo BCLInfo { get; set; }
|
|
|
|
bool IsBCL => BCLInfo != null;
|
|
|
|
|
2016-05-26 16:06:52 +03:00
|
|
|
bool SkipProjectGeneration;
|
[runtime] integrate mono 2017-10 (#2905)
* Update the function name used to initialize libmono-profiler-log, its called mono_profiler_init_log () now.
* [builds] Pass --with-cross-offsets= to crosstv's configure.
* Bump mono to 2017-08.
* Bump mono to 2017-08.
* Force disable 'futimens' and 'utimensat' so that we build with Xcode 9.
This is also needed to build with Xcode 8.3 on High Sierra.
* Remove old AppleTls implementation.
* Bump mono.
* Bump mono to 2017-08.
* Bump mono to 2017-08
* Reenable link-keep-resources-2 test
- This reverts commit 76b759ef22c06cda3ba30aba1ac0d45634e4fbf4.
- 2017-08 has linker fix
* Bump mono to 2017-10
* Revert "Bump mono to 2017-10"
This reverts commit bb7832724e18f8578449e46426382a537f3f4823.
* Bump system mono to 2017-10
* Bump embedded mono to 2017-10
* [runtime] reflect eglib move
https://github.com/mono/mono/commit/9be68f8952ea0e1aad582bfe2f47bad71aee2cc7
* bump mono
* [btouch] remove Security.Tls usage from test
* [mtouch tests] update the function name used to initialize libmono-profiler-log, its called mono_profiler_init_log () now.
see
https://github.com/mono/mono/commit/ea4e4a9ef6fc42570a23026adbe826cf7248290e
fixes:
```
1) Failed : Xamarin.MTouch.Profiling(tvOS)
_mono_profiler_startup_log
Expected: collection containing "_mono_profiler_startup_log"
But was: < "_mono_profiler_init_log" >
at Xamarin.MTouch.Profiling (Xamarin.Profile profile) [0x00106] in <511889694a624cc9a50e0e9b259b05c5>:0
2) Failed : Xamarin.MTouch.Profiling(watchOS)
_mono_profiler_startup_log
Expected: collection containing "_mono_profiler_startup_log"
But was: < "_xamarin_get_block_descriptor", "_mono_profiler_init_log" >
at Xamarin.MTouch.Profiling (Xamarin.Profile profile) [0x00106] in <511889694a624cc9a50e0e9b259b05c5>:0
```
* [mmptest] update log profiler options.
https://github.com/mono/mono/commit/826558a4af624bc0acaea98ec39784e65d278091
deprecated the dash prefix for the mlpd path.
`noallocs` or `nocalls` are not needed, neither of them are default anymore.
* [mmptest] fix link-keep-resources-2 test to cope with more corlib resources.
another corlib resource (mscorlib.xml) was added:
https://github.com/mono/mono/commit/11e95169e787#diff-2d1c64decd91d9a6e8842ab0f0e9438d
* Revert "[mmptest] fix link-keep-resources-2 test to cope with more corlib resources."
This reverts commit 350eb3c174288bbffcc3b7acb15cadb913af25b7.
* [XHarness] Add the Mono.Data.Tds tests.
* Address comments from rolf in the review.
* [mmp regresssion tests] bump mono linker, so mscorlib.xml gets stripped
the test was failing in that way:
> Executing link-keep-resources-2...
> [FAIL] i18n 4/2 data files present: charinfo.nlp, collation.core.bin, collation.tailoring.bin, mscorlib.xml
also update the output, because it's actually expected at least three
elements.
fixes: https://bugzilla.xamarin.com/show_bug.cgi?id=59277
* bump mono
fixes crash in tvOS: https://github.com/mono/mono/pull/5812
* bump mono for updated BCL tests
see https://github.com/mono/mono/pull/5820
* [mono] set 2017-10 branch in .gitmodules
* [macos] Fix guiunit error on clean builds by depending on correct copy (#2912)
* [macos] Fix guiunit error on clean builds by depending on correct copy
- From a clean build making a BCL test would error due to the non-mobile guiunit not being built
- This was because the Makefile-mac.inc target was incorrect
- This was because xharness assumed that non variation based targets were always Modern
- However, BCL tests are Full, not Modern
* Code review change
* Swap to var to reduce diff
* Revert changes in the paths for GuiUnit.
* [XHarness] Add the System.IO.Compression bcl tests. (#2918)
* [XHarness] Add the System.IO.Compression bcl tests.
* [XHarness] Add bcl tests for System.IO.Compression.FileSystem. (#2924)
* [XHarness] Add the System.IO.Compression bcl tests.
* Ensure that resources are correctly copied in the bundles.
* [XHarness] Add bcl tests for System.IO.Compression.FileSystem.
* As per review, make the Mac test app name match the tests that are ran.
* [XHarness] Add Mono.CSharp tests on ios. (#2927)
* [XHarness] Add Mono.CSharp tests on ios.
* Bump mono to bring changes in the mono.csharp tests.
* [xtro-sharpie] fix TypeDefinition access due to Cecil change
* Bump mono
* bump mono
fixes
- https://bugzilla.xamarin.com/show_bug.cgi?id=60480
- https://bugzilla.xamarin.com/show_bug.cgi?id=60482
* bump mono
more fixes around conflicting paths when tests are run in parallel.
* Bump for mono/mono@2017-10
2017-11-14 23:30:08 +03:00
|
|
|
bool SkipSuffix;
|
2016-05-26 16:06:52 +03:00
|
|
|
|
[runtime] integrate mono 2017-10 (#2905)
* Update the function name used to initialize libmono-profiler-log, its called mono_profiler_init_log () now.
* [builds] Pass --with-cross-offsets= to crosstv's configure.
* Bump mono to 2017-08.
* Bump mono to 2017-08.
* Force disable 'futimens' and 'utimensat' so that we build with Xcode 9.
This is also needed to build with Xcode 8.3 on High Sierra.
* Remove old AppleTls implementation.
* Bump mono.
* Bump mono to 2017-08.
* Bump mono to 2017-08
* Reenable link-keep-resources-2 test
- This reverts commit 76b759ef22c06cda3ba30aba1ac0d45634e4fbf4.
- 2017-08 has linker fix
* Bump mono to 2017-10
* Revert "Bump mono to 2017-10"
This reverts commit bb7832724e18f8578449e46426382a537f3f4823.
* Bump system mono to 2017-10
* Bump embedded mono to 2017-10
* [runtime] reflect eglib move
https://github.com/mono/mono/commit/9be68f8952ea0e1aad582bfe2f47bad71aee2cc7
* bump mono
* [btouch] remove Security.Tls usage from test
* [mtouch tests] update the function name used to initialize libmono-profiler-log, its called mono_profiler_init_log () now.
see
https://github.com/mono/mono/commit/ea4e4a9ef6fc42570a23026adbe826cf7248290e
fixes:
```
1) Failed : Xamarin.MTouch.Profiling(tvOS)
_mono_profiler_startup_log
Expected: collection containing "_mono_profiler_startup_log"
But was: < "_mono_profiler_init_log" >
at Xamarin.MTouch.Profiling (Xamarin.Profile profile) [0x00106] in <511889694a624cc9a50e0e9b259b05c5>:0
2) Failed : Xamarin.MTouch.Profiling(watchOS)
_mono_profiler_startup_log
Expected: collection containing "_mono_profiler_startup_log"
But was: < "_xamarin_get_block_descriptor", "_mono_profiler_init_log" >
at Xamarin.MTouch.Profiling (Xamarin.Profile profile) [0x00106] in <511889694a624cc9a50e0e9b259b05c5>:0
```
* [mmptest] update log profiler options.
https://github.com/mono/mono/commit/826558a4af624bc0acaea98ec39784e65d278091
deprecated the dash prefix for the mlpd path.
`noallocs` or `nocalls` are not needed, neither of them are default anymore.
* [mmptest] fix link-keep-resources-2 test to cope with more corlib resources.
another corlib resource (mscorlib.xml) was added:
https://github.com/mono/mono/commit/11e95169e787#diff-2d1c64decd91d9a6e8842ab0f0e9438d
* Revert "[mmptest] fix link-keep-resources-2 test to cope with more corlib resources."
This reverts commit 350eb3c174288bbffcc3b7acb15cadb913af25b7.
* [XHarness] Add the Mono.Data.Tds tests.
* Address comments from rolf in the review.
* [mmp regresssion tests] bump mono linker, so mscorlib.xml gets stripped
the test was failing in that way:
> Executing link-keep-resources-2...
> [FAIL] i18n 4/2 data files present: charinfo.nlp, collation.core.bin, collation.tailoring.bin, mscorlib.xml
also update the output, because it's actually expected at least three
elements.
fixes: https://bugzilla.xamarin.com/show_bug.cgi?id=59277
* bump mono
fixes crash in tvOS: https://github.com/mono/mono/pull/5812
* bump mono for updated BCL tests
see https://github.com/mono/mono/pull/5820
* [mono] set 2017-10 branch in .gitmodules
* [macos] Fix guiunit error on clean builds by depending on correct copy (#2912)
* [macos] Fix guiunit error on clean builds by depending on correct copy
- From a clean build making a BCL test would error due to the non-mobile guiunit not being built
- This was because the Makefile-mac.inc target was incorrect
- This was because xharness assumed that non variation based targets were always Modern
- However, BCL tests are Full, not Modern
* Code review change
* Swap to var to reduce diff
* Revert changes in the paths for GuiUnit.
* [XHarness] Add the System.IO.Compression bcl tests. (#2918)
* [XHarness] Add the System.IO.Compression bcl tests.
* [XHarness] Add bcl tests for System.IO.Compression.FileSystem. (#2924)
* [XHarness] Add the System.IO.Compression bcl tests.
* Ensure that resources are correctly copied in the bundles.
* [XHarness] Add bcl tests for System.IO.Compression.FileSystem.
* As per review, make the Mac test app name match the tests that are ran.
* [XHarness] Add Mono.CSharp tests on ios. (#2927)
* [XHarness] Add Mono.CSharp tests on ios.
* Bump mono to bring changes in the mono.csharp tests.
* [xtro-sharpie] fix TypeDefinition access due to Cecil change
* Bump mono
* bump mono
fixes
- https://bugzilla.xamarin.com/show_bug.cgi?id=60480
- https://bugzilla.xamarin.com/show_bug.cgi?id=60482
* bump mono
more fixes around conflicting paths when tests are run in parallel.
* Bump for mono/mono@2017-10
2017-11-14 23:30:08 +03:00
|
|
|
public MacUnifiedTarget (bool mobile, bool thirtyTwoBit, bool shouldSkipProjectGeneration = false, bool skipSuffix = false) : base ()
|
2016-05-26 16:06:52 +03:00
|
|
|
{
|
|
|
|
Mobile = mobile;
|
2016-11-30 18:38:32 +03:00
|
|
|
ThirtyTwoBit = thirtyTwoBit;
|
2016-05-26 16:06:52 +03:00
|
|
|
SkipProjectGeneration = shouldSkipProjectGeneration;
|
[runtime] integrate mono 2017-10 (#2905)
* Update the function name used to initialize libmono-profiler-log, its called mono_profiler_init_log () now.
* [builds] Pass --with-cross-offsets= to crosstv's configure.
* Bump mono to 2017-08.
* Bump mono to 2017-08.
* Force disable 'futimens' and 'utimensat' so that we build with Xcode 9.
This is also needed to build with Xcode 8.3 on High Sierra.
* Remove old AppleTls implementation.
* Bump mono.
* Bump mono to 2017-08.
* Bump mono to 2017-08
* Reenable link-keep-resources-2 test
- This reverts commit 76b759ef22c06cda3ba30aba1ac0d45634e4fbf4.
- 2017-08 has linker fix
* Bump mono to 2017-10
* Revert "Bump mono to 2017-10"
This reverts commit bb7832724e18f8578449e46426382a537f3f4823.
* Bump system mono to 2017-10
* Bump embedded mono to 2017-10
* [runtime] reflect eglib move
https://github.com/mono/mono/commit/9be68f8952ea0e1aad582bfe2f47bad71aee2cc7
* bump mono
* [btouch] remove Security.Tls usage from test
* [mtouch tests] update the function name used to initialize libmono-profiler-log, its called mono_profiler_init_log () now.
see
https://github.com/mono/mono/commit/ea4e4a9ef6fc42570a23026adbe826cf7248290e
fixes:
```
1) Failed : Xamarin.MTouch.Profiling(tvOS)
_mono_profiler_startup_log
Expected: collection containing "_mono_profiler_startup_log"
But was: < "_mono_profiler_init_log" >
at Xamarin.MTouch.Profiling (Xamarin.Profile profile) [0x00106] in <511889694a624cc9a50e0e9b259b05c5>:0
2) Failed : Xamarin.MTouch.Profiling(watchOS)
_mono_profiler_startup_log
Expected: collection containing "_mono_profiler_startup_log"
But was: < "_xamarin_get_block_descriptor", "_mono_profiler_init_log" >
at Xamarin.MTouch.Profiling (Xamarin.Profile profile) [0x00106] in <511889694a624cc9a50e0e9b259b05c5>:0
```
* [mmptest] update log profiler options.
https://github.com/mono/mono/commit/826558a4af624bc0acaea98ec39784e65d278091
deprecated the dash prefix for the mlpd path.
`noallocs` or `nocalls` are not needed, neither of them are default anymore.
* [mmptest] fix link-keep-resources-2 test to cope with more corlib resources.
another corlib resource (mscorlib.xml) was added:
https://github.com/mono/mono/commit/11e95169e787#diff-2d1c64decd91d9a6e8842ab0f0e9438d
* Revert "[mmptest] fix link-keep-resources-2 test to cope with more corlib resources."
This reverts commit 350eb3c174288bbffcc3b7acb15cadb913af25b7.
* [XHarness] Add the Mono.Data.Tds tests.
* Address comments from rolf in the review.
* [mmp regresssion tests] bump mono linker, so mscorlib.xml gets stripped
the test was failing in that way:
> Executing link-keep-resources-2...
> [FAIL] i18n 4/2 data files present: charinfo.nlp, collation.core.bin, collation.tailoring.bin, mscorlib.xml
also update the output, because it's actually expected at least three
elements.
fixes: https://bugzilla.xamarin.com/show_bug.cgi?id=59277
* bump mono
fixes crash in tvOS: https://github.com/mono/mono/pull/5812
* bump mono for updated BCL tests
see https://github.com/mono/mono/pull/5820
* [mono] set 2017-10 branch in .gitmodules
* [macos] Fix guiunit error on clean builds by depending on correct copy (#2912)
* [macos] Fix guiunit error on clean builds by depending on correct copy
- From a clean build making a BCL test would error due to the non-mobile guiunit not being built
- This was because the Makefile-mac.inc target was incorrect
- This was because xharness assumed that non variation based targets were always Modern
- However, BCL tests are Full, not Modern
* Code review change
* Swap to var to reduce diff
* Revert changes in the paths for GuiUnit.
* [XHarness] Add the System.IO.Compression bcl tests. (#2918)
* [XHarness] Add the System.IO.Compression bcl tests.
* [XHarness] Add bcl tests for System.IO.Compression.FileSystem. (#2924)
* [XHarness] Add the System.IO.Compression bcl tests.
* Ensure that resources are correctly copied in the bundles.
* [XHarness] Add bcl tests for System.IO.Compression.FileSystem.
* As per review, make the Mac test app name match the tests that are ran.
* [XHarness] Add Mono.CSharp tests on ios. (#2927)
* [XHarness] Add Mono.CSharp tests on ios.
* Bump mono to bring changes in the mono.csharp tests.
* [xtro-sharpie] fix TypeDefinition access due to Cecil change
* Bump mono
* bump mono
fixes
- https://bugzilla.xamarin.com/show_bug.cgi?id=60480
- https://bugzilla.xamarin.com/show_bug.cgi?id=60482
* bump mono
more fixes around conflicting paths when tests are run in parallel.
* Bump for mono/mono@2017-10
2017-11-14 23:30:08 +03:00
|
|
|
SkipSuffix = skipSuffix;
|
2017-10-28 00:44:22 +03:00
|
|
|
}
|
|
|
|
|
|
|
|
protected override void CalculateName ()
|
|
|
|
{
|
|
|
|
base.CalculateName ();
|
|
|
|
|
|
|
|
if (IsBCL)
|
|
|
|
Name = Name + BCLInfo.FlavorSuffix;
|
2016-05-26 16:06:52 +03:00
|
|
|
}
|
|
|
|
|
|
|
|
public override bool ShouldSkipProjectGeneration
|
|
|
|
{
|
|
|
|
get
|
|
|
|
{
|
|
|
|
return SkipProjectGeneration;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
public override string Suffix {
|
|
|
|
get {
|
|
|
|
if (SkipProjectGeneration)
|
|
|
|
return "";
|
2017-10-20 18:14:02 +03:00
|
|
|
string suffix = (Mobile ? "" : "XM45") + (ThirtyTwoBit ? "-32" : "");
|
2017-10-28 00:44:22 +03:00
|
|
|
return "-unified" + (IsBCL ? "" : suffix);
|
2017-10-20 18:14:02 +03:00
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
public override string MakefileWhereSuffix {
|
|
|
|
get {
|
|
|
|
string suffix = (Mobile ? "" : "XM45") + (ThirtyTwoBit ? "32" : "");
|
2017-10-28 00:44:22 +03:00
|
|
|
return "unified" + (IsBCL ? "" : suffix);
|
2016-05-26 16:06:52 +03:00
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
protected override string ProjectTypeGuids {
|
|
|
|
get {
|
|
|
|
return "{A3F8F2AB-B479-4A4A-A458-A89E7DC349F1};" + LanguageGuid;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
protected override string BindingsProjectTypeGuids {
|
|
|
|
get {
|
|
|
|
return "{810C163F-4746-4721-8B8E-88A3673A62EA}";
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
protected override string TargetFrameworkIdentifier {
|
|
|
|
get {
|
|
|
|
return "Xamarin.Mac";
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
protected override string Imports {
|
|
|
|
get {
|
|
|
|
return IsFSharp ? "Mac\\Xamarin.Mac.FSharp.targets" : "Mac\\Xamarin.Mac.CSharp.targets";
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
protected override string BindingsImports {
|
|
|
|
get {
|
|
|
|
return "Mac\\Xamarin.Mac.ObjcBinding.CSharp";
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
protected override string AdditionalDefines {
|
|
|
|
get {
|
|
|
|
return "XAMCORE_2_0";
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
public override bool IsMultiArchitecture {
|
|
|
|
get {
|
|
|
|
return true;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
public override string Platform {
|
|
|
|
get {
|
|
|
|
return "mac";
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
public override string DefaultAssemblyReference { get { return "XamMac"; } }
|
|
|
|
|
|
|
|
public override IEnumerable<string> ReferenceToRemove { get { yield return "System.Drawing"; } }
|
|
|
|
|
|
|
|
public override bool ShouldSetTargetFrameworkIdentifier { get { return Mobile; } }
|
|
|
|
|
|
|
|
public override Dictionary<string, string> NewPropertiesToAdd
|
|
|
|
{
|
|
|
|
get
|
|
|
|
{
|
2016-11-30 18:38:32 +03:00
|
|
|
var props = new Dictionary<string, string> ();
|
|
|
|
|
|
|
|
|
2016-05-26 16:06:52 +03:00
|
|
|
if (Mobile)
|
2016-11-30 18:38:32 +03:00
|
|
|
{
|
|
|
|
props.Add ("TargetFrameworkVersion", "v2.0");
|
|
|
|
}
|
2016-05-26 16:06:52 +03:00
|
|
|
else
|
2016-11-30 18:38:32 +03:00
|
|
|
{
|
|
|
|
props.Add ("TargetFrameworkVersion", "v4.5");
|
|
|
|
props.Add ("UseXamMacFullFramework", "true");
|
|
|
|
}
|
|
|
|
|
|
|
|
props.Add ("XamMacArch", ThirtyTwoBit ? "i386" : "x86_64");
|
|
|
|
return props;
|
2016-05-26 16:06:52 +03:00
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|