Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[runtime] integrate mono 2018-02 #3402

Merged
merged 78 commits into from
Apr 25, 2018
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
78 commits
Select commit Hold shift + click to select a range
6f9b2f9
Bump mono to 2017-12
alexanderkyte Dec 29, 2017
b57b9f5
[integration] bump maccore
alexanderkyte Dec 29, 2017
7cadda4
Test fix for issue with stateful script loading
alexanderkyte Jan 4, 2018
4f787ac
Install only selected files to mimic Mono NO_INSTALL flag
marek-safar Jan 10, 2018
52154df
Exclude lines with comments from profile source files
marek-safar Jan 10, 2018
6570d15
Bump 2017-12 mono
marek-safar Jan 15, 2018
276a41f
Bump mono
marek-safar Jan 29, 2018
bf5da43
Bump Mono
marek-safar Jan 31, 2018
67a711e
Update linker sources location
marek-safar Jan 31, 2018
b2bd45e
More linker updates
marek-safar Jan 31, 2018
6afe61e
More build fixes
marek-safar Jan 31, 2018
2c5b177
Merge branch 'master' of github.com:xamarin/xamarin-macios into mono-…
luhenry Feb 5, 2018
21711fd
Bump to mono:2018-02
luhenry Feb 5, 2018
3189621
[tests] reflect category rename of NotWorkingInterpreter to NotWorkin…
lewurm Feb 6, 2018
4d4f664
[tests] update regular expression for extracting mono version
lewurm Feb 6, 2018
52ef8c7
Merge remote-tracking branch 'origin/master' into mono-2018-02
lewurm Feb 6, 2018
c7a95b4
Bump to mono:2018-02
lewurm Feb 8, 2018
f7a2323
Fix debug spew
luhenry Feb 7, 2018
59571a1
Bump to mono:2018-02
lewurm Feb 8, 2018
90deb31
Bump to mono:2018-02
lewurm Feb 9, 2018
ffe3fed
Bump to mono:2018-02
lewurm Feb 12, 2018
b0ab16d
Merge remote-tracking branch 'origin/master' into mono-2018-02
lewurm Feb 20, 2018
7d5f720
Bump to mono:2018-02
lewurm Feb 20, 2018
81e0ae3
Bump mono min version to avoid nuget restore issue
lewurm Feb 21, 2018
c9fbaf5
Bump to mono:2018-02
lewurm Feb 21, 2018
30421a5
Bump Touch.Unit
lewurm Feb 22, 2018
5936e07
Bump to mono:2018-02
lewurm Feb 22, 2018
23a7ddd
bump system mono to include xbuild workaround for fsharp
lewurm Feb 23, 2018
098c986
Merge remote-tracking branch 'origin/master' into mono-2018-02
lewurm Feb 23, 2018
4b292ef
Bump to mono:2018-02
lewurm Feb 27, 2018
ecc9293
unbump touch.unit
lewurm Feb 27, 2018
129a4cb
Merge remote-tracking branch 'origin/master' into mono-2018-02
lewurm Feb 27, 2018
a8ae06d
bump touch.unit
lewurm Mar 2, 2018
1f34209
Bump to mono:2018-02
lewurm Mar 2, 2018
af2af96
Merge remote-tracking branch 'origin/master' into mono-2018-02
lewurm Mar 2, 2018
bf9448e
Bump to mono:2018-02
lewurm Mar 5, 2018
7920e03
Merge remote-tracking branch 'origin/master' into mono-2018-02
lewurm Mar 5, 2018
77c30b6
Update linker tests using reflection not to be caught by linker refle…
marek-safar Mar 7, 2018
4ba043c
More linker reflection checks updates
marek-safar Mar 7, 2018
a7abab1
Fixes Bug59015 test to check for method is was intented to
marek-safar Mar 8, 2018
4748f82
[mmptest] fix linker test in link-safe-1
lewurm Mar 8, 2018
97c0581
Merge remote-tracking branch 'origin/master' into mono-2018-02
lewurm Mar 11, 2018
3a242e1
Bump to mono:2018-02
lewurm Mar 11, 2018
3e825fe
Bump to mono:2018-02
lewurm Mar 12, 2018
8133cbe
[linker] update facades list for .NET 4.7.1
lewurm Mar 12, 2018
9cb27be
Force libMonoPosixHelper usage in test to work around mono linker imp…
chamons Mar 14, 2018
34515ce
[msbuild] fix creation ouf output dependency (#3747)
lewurm Mar 14, 2018
4c16c4d
Bump to mono:2018-02
lewurm Mar 15, 2018
1e1fdf1
Merge remote-tracking branch 'origin/master' into mono-2018-02
lewurm Mar 15, 2018
bf0ce02
Merge remote-tracking branch 'origin/master' into mono-2018-02
lewurm Mar 20, 2018
bf95267
Bump to mono:2018-02
lewurm Mar 20, 2018
a07a5d4
Bump system mono
lewurm Mar 20, 2018
5f73544
Bump to mono:2018-02
lewurm Mar 21, 2018
0b26e37
Bump to mono:2018-02
lewurm Mar 26, 2018
d5b73cc
Merge remote-tracking branch 'origin/master' into mono-2018-02
lewurm Mar 26, 2018
d458533
Bump to mono:2018-02
lewurm Mar 27, 2018
4aa8444
Bump to mono:2018-02
lewurm Mar 30, 2018
fdc324b
Merge remote-tracking branch 'origin/master' into mono-2018-02
lewurm Mar 30, 2018
e6205f1
Bump to mono:2018-02
lewurm Apr 5, 2018
2c0f24b
Merge remote-tracking branch 'origin/master' into mono-2018-02
lewurm Apr 5, 2018
90eb269
Bump to mono:2018-02
lewurm Apr 6, 2018
7009fc5
Bump to mono:2018-02
lewurm Apr 9, 2018
4ef70a6
Bump to mono:2018-02
lewurm Apr 10, 2018
12d08a1
Updates facades list
marek-safar Apr 10, 2018
9b1e2c5
Merge remote-tracking branch 'origin/master' into mono-2018-02
lewurm Apr 10, 2018
201d3ad
Bump to mono:2018-02
lewurm Apr 10, 2018
999a06e
Bump to mono:2018-02
lewurm Apr 11, 2018
569c16d
Merge remote-tracking branch 'origin/master' into mono-2018-02
lewurm Apr 11, 2018
a6d1c69
Bump to mono:2018-02
lewurm Apr 13, 2018
eee8fce
Merge remote-tracking branch 'origin/master' into mono-2018-02
lewurm Apr 13, 2018
c58c748
Bump to mono:2018-02
lewurm Apr 15, 2018
950f2eb
Merge remote-tracking branch 'origin/master' into mono-2018-02
lewurm Apr 15, 2018
1eb1fcc
Bump to mono:2018-02
lewurm Apr 18, 2018
c2701e1
Merge remote-tracking branch 'origin/master' into mono-2018-02
lewurm Apr 18, 2018
f45440b
Bump to mono:2018-02
lewurm Apr 19, 2018
1831669
Merge branch 'master' of github.com:xamarin/xamarin-macios into mono-…
luhenry Apr 20, 2018
7b2fb47
Bump to mono/2018-02/9061f77e
luhenry Apr 20, 2018
16386eb
Merge branch 'master' into mono-2018-02
spouliot Apr 23, 2018
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .gitmodules
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@
[submodule "external/mono"]
path = external/mono
url = ../../mono/mono.git
branch = 2017-12
branch = 2018-02
[submodule "external/opentk"]
path = external/opentk
url = ../../mono/opentk.git
Expand Down
6 changes: 3 additions & 3 deletions Make.config
Original file line number Diff line number Diff line change
Expand Up @@ -60,9 +60,9 @@ XCODE_URL=http://xamarin-storage/bot-provisioning/xcodes/Xcode_9.3.xip
XCODE_DEVELOPER_ROOT=/Applications/Xcode93.app/Contents/Developer

# Minimum Mono version
MIN_MONO_VERSION=5.10.0.0
MAX_MONO_VERSION=5.10.99
MIN_MONO_URL=https://xamjenkinsartifact.azureedge.net/build-package-osx-mono/2017-12/13/MonoFramework-MDK-5.10.0.15.macos10.xamarin.universal.pkg
MIN_MONO_VERSION=5.12.0.122
MAX_MONO_VERSION=5.12.99
MIN_MONO_URL=https://xamjenkinsartifact.azureedge.net/build-package-osx-mono/2018-02/100/a6c7b9eca49859a04494380ff161acf24f37b3f0/MonoFramework-MDK-5.12.0.122.macos10.xamarin.universal.pkg

# Minimum Visual Studio version
MIN_VISUAL_STUDIO_URL=https://download.visualstudio.microsoft.com/download/pr/11550896/783d2219a348f93b6988fb415951788a/VisualStudioForMac-Preview-7.4.0.985.dmg
Expand Down
2 changes: 1 addition & 1 deletion external/mono
Submodule mono updated 703 files
2 changes: 1 addition & 1 deletion msbuild/Xamarin.Mac.Tasks/Xamarin.Mac.Tasks.csproj
Original file line number Diff line number Diff line change
Expand Up @@ -145,9 +145,9 @@
<Output TaskParameter="ConsoleOutput" PropertyName="ILRepackOutput" />
<Output TaskParameter="ExitCode" PropertyName="ExitCode" />
</Exec>
<Touch AlwaysCreate="true" Files="$(IntermediateOutputPath)ilrepack.txt" />
<Message Importance="high" Text="$(ILRepackOutput)" Condition="'$(ExitCode)' != '0'" />
<Delete Files="$(IntermediateOutputPath)ilrepack.txt" Condition="'$(ExitCode)' != '0'" />
<Touch AlwaysCreate="true" Files="$(IntermediateOutputPath)ilrepack.txt" Condition="'$(ExitCode)' == '0'" />
<Error Text="$(ILRepackOutput)" Condition="'$(ExitCode)' != '0' And '$(ContinueOnError)' != 'true'" />
<Delete Files="@(MergedAssemblies -> '$(MSBuildProjectDirectory)\$(OutputPath)%(Filename)%(Extension)')" Condition="Exists('$(MSBuildProjectDirectory)\$(OutputPath)%(Filename)%(Extension)')" />
</Target>
Expand Down
2 changes: 1 addition & 1 deletion msbuild/Xamarin.iOS.Tasks/Xamarin.iOS.Tasks.csproj
Original file line number Diff line number Diff line change
Expand Up @@ -129,9 +129,9 @@
<Output TaskParameter="ConsoleOutput" PropertyName="ILRepackOutput" />
<Output TaskParameter="ExitCode" PropertyName="ExitCode" />
</Exec>
<Touch AlwaysCreate="true" Files="$(IntermediateOutputPath)ilrepack.txt" />
<Message Importance="high" Text="$(ILRepackOutput)" Condition="'$(ExitCode)' != '0'" />
<Delete Files="$(IntermediateOutputPath)ilrepack.txt" Condition="'$(ExitCode)' != '0'" />
<Touch AlwaysCreate="true" Files="$(IntermediateOutputPath)ilrepack.txt" Condition="'$(ExitCode)' == '0'" />
<Error Text="$(ILRepackOutput)" Condition="'$(ExitCode)' != '0' And '$(ContinueOnError)' != 'true'" />
<Delete Files="@(MergedAssemblies -> '$(MSBuildProjectDirectory)\$(OutputPath)%(Filename)%(Extension)')" Condition="Exists('$(MSBuildProjectDirectory)\$(OutputPath)%(Filename)%(Extension)')" />
</Target>
Expand Down
2 changes: 1 addition & 1 deletion tests/bcl-test/AppDelegate.cs
Original file line number Diff line number Diff line change
Expand Up @@ -48,7 +48,7 @@ public override bool FinishedLaunching (UIApplication app, NSDictionary options)
// create a new window instance based on the screen size
window = new UIWindow (UIScreen.MainScreen.Bounds);
runner = new TouchRunner (window);
runner.Filter = new NotFilter (new CategoryExpression ("MobileNotWorking,NotOnMac,NotWorking,ValueAdd,CAS,InetAccess,NotWorkingInterpreter").Filter);
runner.Filter = new NotFilter (new CategoryExpression ("MobileNotWorking,NotOnMac,NotWorking,ValueAdd,CAS,InetAccess,NotWorkingLinqInterpreter").Filter);

// register every tests included in the main application/assembly
runner.Add (System.Reflection.Assembly.GetExecutingAssembly ());
Expand Down
2 changes: 1 addition & 1 deletion tests/common/mac/MacTestMain.cs
Original file line number Diff line number Diff line change
Expand Up @@ -45,7 +45,7 @@ static void RunTests (string [] original_args)
args.Add ($"-test={testName}");

#if ADD_BCL_EXCLUSIONS
args.Add ("-exclude=MacNotWorking,MobileNotWorking,NotOnMac,NotWorking,ValueAdd,CAS,InetAccess,NotWorkingInterpreter");
args.Add ("-exclude=MacNotWorking,MobileNotWorking,NotOnMac,NotWorking,ValueAdd,CAS,InetAccess,NotWorkingLinqInterpreter");
#endif

// Skip arguments added by VSfM/macOS when running from the IDE
Expand Down
16 changes: 10 additions & 6 deletions tests/linker/ios/link all/InterfacesTest.cs
Original file line number Diff line number Diff line change
Expand Up @@ -64,6 +64,10 @@ public void CleanUpNativeData (IntPtr pNativeData)
[Preserve (AllMembers = true)]
public class InterfaceTest {

static Type type_a = typeof (A);
static Type type_b = typeof (B);
static Type type_i = typeof (I);

static void F (I i)
{
i.Bar ();
Expand All @@ -78,18 +82,18 @@ public void Bug10866 ()
F (new A ());

// Foo and Bar methods are both used on A and must be present
Assert.NotNull (typeof(A).GetMethod ("Foo", BindingFlags.Instance | BindingFlags.Public), "A::Foo");
Assert.NotNull (typeof(A).GetMethod ("Bar", BindingFlags.Instance | BindingFlags.Public), "A::Bar");
Assert.NotNull (type_a.GetMethod ("Foo", BindingFlags.Instance | BindingFlags.Public), "A::Foo");
Assert.NotNull (type_a.GetMethod ("Bar", BindingFlags.Instance | BindingFlags.Public), "A::Bar");
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Has something changed in the linker so the old and new code is not seen as identical ?
That smells like a breaking change, we can update the test not the existing (customer) code.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The linker is now smarter so the test old code which used this approached to check for non-existence of the method actually forced the linker not to remove it.


// I::Foo is never used and can be removed
Assert.Null (typeof(I).GetMethod ("Foo", BindingFlags.Instance | BindingFlags.Public), "I::Foo");
Assert.Null (type_i.GetMethod ("Foo", BindingFlags.Instance | BindingFlags.Public), "I::Foo");
// I::Bar is used in F so everyone implementing I needs Bar
Assert.NotNull (typeof(I).GetMethod ("Bar", BindingFlags.Instance | BindingFlags.Public), "I::Bar");
Assert.NotNull (type_i.GetMethod ("Bar", BindingFlags.Instance | BindingFlags.Public), "I::Bar");

// Foo and Bar are never used on B - so Foo can be removed
Assert.Null (typeof(B).GetMethod ("Foo", BindingFlags.Instance | BindingFlags.Public), "B::Foo");
Assert.Null (type_b.GetMethod ("Foo", BindingFlags.Instance | BindingFlags.Public), "B::Foo");
// but Bar cannot since B implements I
Assert.NotNull (typeof(B).GetMethod ("Bar", BindingFlags.Instance | BindingFlags.Public), "B::Bar");
Assert.NotNull (type_b.GetMethod ("Bar", BindingFlags.Instance | BindingFlags.Public), "B::Bar");
}

[DllImport ("/usr/lib/system/libsystem_dnssd.dylib")]
Expand Down
18 changes: 12 additions & 6 deletions tests/linker/ios/link all/LinkAllTest.cs
Original file line number Diff line number Diff line change
Expand Up @@ -40,7 +40,7 @@
namespace LinkAll {

// we DO NOT want the code to be "fully" available
public partial class NotPreserved {
public class NotPreserved {

public byte One {
get; set;
Expand Down Expand Up @@ -85,6 +85,9 @@ public class LinkAllRegressionTest {
#error Unknown platform
#endif

Type not_preserved_type = typeof (NotPreserved);


class TypeAttribute : Attribute {
public TypeAttribute (Type type) {}
}
Expand All @@ -103,7 +106,8 @@ public void GetterOnly ()
// which means the property will be available for MEF_3862
NotPreserved np = new NotPreserved ();
Assert.That (np.Two, Is.EqualTo (0), "Two==0");
PropertyInfo pi = typeof (NotPreserved).GetProperty ("Two");

PropertyInfo pi = not_preserved_type.GetProperty ("Two");
// check the *unused* setter absence from the application
Assert.NotNull (pi.GetGetMethod (), "getter");
Assert.Null (pi.GetSetMethod (), "setter");
Expand All @@ -115,7 +119,8 @@ public void SetterOnly ()
// that ensure the setter is not linked away,
NotPreserved np = new NotPreserved ();
np.One = 1;
PropertyInfo pi = typeof (NotPreserved).GetProperty ("One");

PropertyInfo pi = not_preserved_type.GetProperty ("One");
// check the *unused* setter absence from the application
Assert.Null (pi.GetGetMethod (), "getter");
Assert.NotNull (pi.GetSetMethod (), "setter");
Expand All @@ -126,7 +131,7 @@ public void MEF_3862 ()
{
// note: avoiding using "typeof(DefaultValueAttribute)" in the code
// so the linker does not keep it just because of it
PropertyInfo pi = typeof (NotPreserved).GetProperty ("Two");
PropertyInfo pi = not_preserved_type.GetProperty ("Two");
object [] attrs = pi.GetCustomAttributes (false);
bool default_value = false;
foreach (var ca in attrs) {
Expand Down Expand Up @@ -546,13 +551,14 @@ public void WebKit_NSProxy ()
Assert.Null (Type.GetType (fqn), fqn);
}

static Type type_Task = typeof (Task);

[Test]
public void Bug59015 ()
{
CheckAsyncTaskMethodBuilder (typeof (AsyncTaskMethodBuilder));
CheckAsyncTaskMethodBuilder (typeof (AsyncTaskMethodBuilder<int>));
var t = typeof (Task);
var snfwc = t.GetMethod ("SetNotificationForWaitCompletion", BindingFlags.Instance | BindingFlags.NonPublic);
var snfwc = type_Task.GetMethod ("NotifyDebuggerOfWaitCompletion", BindingFlags.Instance | BindingFlags.NonPublic);
#if DEBUG
Assert.NotNull (snfwc, "Task.NotifyDebuggerOfWaitCompletion");
#else
Expand Down
4 changes: 3 additions & 1 deletion tests/linker/ios/link sdk/LinkSdkRegressionTest.cs
Original file line number Diff line number Diff line change
Expand Up @@ -1070,13 +1070,15 @@ public void SecurityDeclaration ()
}

#if !__WATCHOS__
static Type type_uibutton = typeof (UIButton);

[Test]
public void UIButtonSubclass ()
{
// ensure the linker keeps the .ctor(UIButtonType) around
using (var b = new UIButton (UIButtonType.Custom)) {
// https://trello.com/c/Nf2B8mIM/484-remove-debug-code-in-the-linker
var m = typeof (UIButton).GetMethod ("VerifyIsUIButton", BindingFlags.Instance | BindingFlags.NonPublic);
var m = type_uibutton.GetMethod ("VerifyIsUIButton", BindingFlags.Instance | BindingFlags.NonPublic);
#if DEBUG
// kept in debug builds
Assert.NotNull (m, "VerifyIsUIButton");
Expand Down
6 changes: 4 additions & 2 deletions tests/mmptest/regression/link-safe-1/LinkSafeAssembly.cs
Original file line number Diff line number Diff line change
Expand Up @@ -26,16 +26,18 @@ public void UnusedMethod ()
{
}

static Type type_stla = typeof(SafeToLinkAssembly);

static void Main (string[] args)
{
NSApplication.Init ();

Test.EnsureLinker (true);

int pcount = typeof (SafeToLinkAssembly).GetProperties (BindingFlags.NonPublic | BindingFlags.Static).Length;
int pcount = type_stla.GetProperties (BindingFlags.NonPublic | BindingFlags.Static).Length;
Test.Log.WriteLine ("{0}\tUnused property ({1}/0) was preserved by linker", pcount == 0 ? "[PASS]" : "[FAIL]", pcount);

bool m = typeof (SafeToLinkAssembly).GetMethod ("UnusedMethod", BindingFlags.Public | BindingFlags.Instance) == null;
bool m = type_stla.GetMethod ("UnusedMethod", BindingFlags.Public | BindingFlags.Instance) == null;
Test.Log.WriteLine ("{0}\tUnused method was preserved by linker", m ? "[PASS]" : "[FAIL]");

Test.Terminate ();
Expand Down
3 changes: 2 additions & 1 deletion tests/mmptest/src/CodeStrippingTests.cs
Original file line number Diff line number Diff line change
Expand Up @@ -62,7 +62,8 @@ public void ShouldStripMonoPosixHelper (bool? strip, bool debugStrips, bool rele
MMPTests.RunMMPTest (tmpDir =>
{
TI.UnifiedTestConfig test = CreateStripTestConfig (strip, tmpDir);

// Mono's linker is smart enough to remove libMonoPosixHelper unless used (DeflateStream uses it)
test.TestCode = "using (var ms = new System.IO.MemoryStream ()) { using (var gz = new System.IO.Compression.DeflateStream (ms, System.IO.Compression.CompressionMode.Compress)) { }}";
StripTestCore (test, debugStrips, releaseStrips, "Contents/MonoBundle/libMonoPosixHelper.dylib", shouldWarn: false);
});
}
Expand Down
2 changes: 1 addition & 1 deletion tests/templates/TodayExtension/TodayExtensionMain.cs
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@ public void WidgetPerformUpdate (Action<NCUpdateResult> completionHandler)
{
runner = new ConsoleRunner ();
runner.Add (System.Reflection.Assembly.GetExecutingAssembly ());
runner.Filter = new NotFilter (new CategoryExpression ("MobileNotWorking,NotOnMac,NotWorking,ValueAdd,CAS,InetAccess,NotWorkingInterpreter").Filter);
runner.Filter = new NotFilter (new CategoryExpression ("MobileNotWorking,NotOnMac,NotWorking,ValueAdd,CAS,InetAccess,NotWorkingLinqInterpreter").Filter);
System.Threading.ThreadPool.QueueUserWorkItem ((v) =>
{
runner.LoadSync ();
Expand Down
2 changes: 1 addition & 1 deletion tests/templates/TodayExtension/TodayExtensionMain.fs
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@ type TodayViewController() =
[<Export ("widgetPerformUpdateWithCompletionHandler:")>]
member this.WidgetPerformUpdate (completionHandler: Action<NCUpdateResult>) =
runner <- new ConsoleRunner ()
let ce = new CategoryExpression ("MobileNotWorking,NotOnMac,NotWorking,ValueAdd,CAS,InetAccess,NotWorkingInterpreter")
let ce = new CategoryExpression ("MobileNotWorking,NotOnMac,NotWorking,ValueAdd,CAS,InetAccess,NotWorkingLinqInterpreter")
runner.Filter <- new NotFilter (ce.Filter)
let tp = this.GetType ()
runner.Add (tp.Assembly)
Expand Down
2 changes: 1 addition & 1 deletion tests/templates/WatchExtension/InterfaceController.cs
Original file line number Diff line number Diff line change
Expand Up @@ -71,7 +71,7 @@ public override void Awake (NSObject context)
void LoadTests ()
{
runner = new WatchOSRunner ();
var categoryFilter = new NotFilter (new CategoryExpression ("MobileNotWorking,NotOnMac,NotWorking,ValueAdd,CAS,InetAccess,NotWorkingInterpreter,RequiresBSDSockets").Filter);
var categoryFilter = new NotFilter (new CategoryExpression ("MobileNotWorking,NotOnMac,NotWorking,ValueAdd,CAS,InetAccess,NotWorkingLinqInterpreter,RequiresBSDSockets").Filter);
if (!string.IsNullOrEmpty (Environment.GetEnvironmentVariable ("NUNIT_FILTER_START"))) {
var firstChar = Environment.GetEnvironmentVariable ("NUNIT_FILTER_START") [0];
var lastChar = Environment.GetEnvironmentVariable ("NUNIT_FILTER_END") [0];
Expand Down
2 changes: 1 addition & 1 deletion tests/templates/WatchExtension/InterfaceController.fs
Original file line number Diff line number Diff line change
Expand Up @@ -35,7 +35,7 @@ type InterfaceController (handle: IntPtr) =

member this.LoadTests () =
runner <- new WatchOSRunner ()
let ce = new CategoryExpression ("MobileNotWorking,NotOnMac,NotWorking,ValueAdd,CAS,InetAccess,NotWorkingInterpreter")
let ce = new CategoryExpression ("MobileNotWorking,NotOnMac,NotWorking,ValueAdd,CAS,InetAccess,NotWorkingLinqInterpreter")
runner.Filter <- new NotFilter (ce.Filter)
let tp = this.GetType ()
runner.Add (tp.Assembly)
Expand Down
3 changes: 3 additions & 0 deletions tools/linker/MobileProfile.cs
Original file line number Diff line number Diff line change
Expand Up @@ -94,6 +94,7 @@ public abstract class MobileProfile : BaseProfile {
"System.Memory",
"System.Net.AuthenticationManager",
"System.Net.Cache",
"System.Net.Http.Rtc",
"System.Net.HttpListener",
"System.Net.Mail",
"System.Net.NameResolution",
Expand All @@ -117,8 +118,10 @@ public abstract class MobileProfile : BaseProfile {
"System.Reflection.Primitives",
"System.Reflection.TypeExtensions",
"System.Reflection",
"System.Resources.Reader",
"System.Resources.ReaderWriter",
"System.Resources.ResourceManager",
"System.Resources.Writer",
"System.Runtime.CompilerServices.VisualC",
"System.Runtime.Extensions",
"System.Runtime.Handles",
Expand Down