Граф коммитов

5647 Коммитов

Автор SHA1 Сообщение Дата
Sebastien Pouliot c740cdfc26
Bump mono to head of 2018-08 (#5375)
Commit list for mono/mono:

* mono/mono@25a8be9111 Bump CoreFX to bring a fix for #12093
* mono/mono@29e0e642da [Android] Fix build with NDK r18 (#11016) (#12291)
* mono/mono@7b44d5719e [tests] Remove an invalid assertion on System.IO.DriveInfo
* mono/mono@3fad9a7a1c Update DateTimeTest.cs
* mono/mono@6b6fd890ee Update mono/metadata/culture-info-tables.h
* mono/mono@8f50f96e8f Add tests
* mono/mono@1edf795ae0 ko-* specific AM/PM designators

Diff: 9671417e21...25a8be9111
2019-01-10 15:37:07 -05:00
Manuel de la Pena 8e32a07af0
[XHarness] Reneable the System.IO.Compression tests. (#5373) 2019-01-10 19:05:13 +01:00
Manuel de la Pena 81ea2e3e46
[Network] Add test to ensure that auth headers are not fwd on redirects. (#5371) 2019-01-10 17:45:20 +01:00
Rolf Bjarne Kvinge 61bf0db817
[tests] Run tests-docs using xharness. (#5372)
Jenkins has a limitation where you can't mark a step a failure, it has to
*fail* to be reported as such.

This means that running multiple tests, and reporting a failure if any of
those tests fail is not possible.

We run into this with the normal test run + the docs tests; where we currently
don't show a red result in the UI if any of those fail.

So incorporate the test-docs step into xharness, so that we only have one
thing to in the Jenkinsfile, which makes it possible for us to fail the test
run step properly.

This also required a few upgrades to xharness to get more info for pull
requests, since the logic to enable the docs tests is a bit more complicated
than anything else we have (if the current branch (or the target branch for a
PR) is 'master' AND xamarin mode is enabled).
2019-01-10 16:43:02 +01:00
Manuel de la Pena 18035518fb
[XHarness] Reenable System.Xml tests from the mono test dlls. (#5370) 2019-01-10 16:26:54 +01:00
Rolf Bjarne Kvinge 2b4a3b948b
[mtouch] Disable native code sharing if the interpreter settings differ between the main app and app extensions. Fixes #5365. (#5369)
We can't share native code between apps and app extensions if the interpreter
settings differ between them, so detect this scenario and automatically
disable native code sharing.

Fixes https://github.com/xamarin/xamarin-macios/issues/5365.
2019-01-10 15:45:33 +01:00
Rolf Bjarne Kvinge 7b2a32c812
[msbuild] Fix APFS check if root file system isn't APFS. (#5361)
Fixes this:

    Errors and Failures:
    1) Test Error : Xamarin.iOS.Tasks.CodesignAppBundle("iPhone","Debug").CodesignAfterModifyingAppExtensionTest
       System.Exception : Could not determine whether / is APFS or not. 'df -t apfs /' returned 1 and said:
      at Xamarin.iOS.Tasks.TestBase.get_IsAPFS () [0x00051] in <c0cbc86394444f8e9cb85adb1eab6fea>:0
      at Xamarin.iOS.Tasks.TestBase.EnsureFilestampChange () [0x00001] in <c0cbc86394444f8e9cb85adb1eab6fea>:0
      at Xamarin.iOS.Tasks.CodesignAppBundle.CodesignAfterModifyingAppExtensionTest () [0x0007d] in <c0cbc86394444f8e9cb85adb1eab6fea>:0
      at (wrapper managed-to-native) System.Reflection.MonoMethod.InternalInvoke(System.Reflection.MonoMethod,object,object[],System.Exception&)
      at System.Reflection.MonoMethod.Invoke (System.Object obj, System.Reflection.BindingFlags invokeAttr, System.Reflection.Binder binder, System.Object[] parameters, System.Globalization.CultureInfo culture) [0x0003b] in <96207d0baa204f48a53ad6be05f5ecba>:0
2019-01-09 16:33:40 +01:00
Rolf Bjarne Kvinge 29e6afc0f3
[compare-commits] Only validate files when validating if files have unexpectedly changed. (#5360)
Fixes this problem:

    The following files were modified, and they shouldn't have been:
        /Users/builder/jenkins/workspace/xamarin-macios-pr-builder/src

which shouldn't be reported, since the "file" in question is a directory.

Reference: https://github.com/xamarin/xamarin-macios/pull/5355#issuecomment-452400517
2019-01-09 16:07:23 +01:00
Sebastien Pouliot 2e9394e231
[foundation] Directly call Remove in NSUrlSessionHandler (#5358)
Small optimization. It's not needed to check if the item exists
in the dictionary to remove it, `Remove` returns `true` if the item
was present (but we do not care about the result here).
2019-01-09 09:28:44 -05:00
Sebastien Pouliot 533a68ddf3
[foundation] Remove unused (internal) NSLogWriter (#5357)
This code was moved inside mono since it's used for `Console` output
https://github.com/mono/mono/blob/master/mcs/class/corlib/System/Console.iOS.cs
2019-01-09 09:27:54 -05:00
Sebastien Pouliot 34e52a7710
[mac][coreservices] Add recent/missing enums for FSEvent* API. Fixes #5353 (#5356)
reference: https://github.com/xamarin/xamarin-macios/issues/5353
2019-01-09 09:27:18 -05:00
Rolf Bjarne Kvinge 327c0a8ddf
[xibuild] Add support for /verbose, and use it accordingly. (#5224)
* [xibuild] Add support for /verbose, and use it accordingly.

Also stop using xibuild when it's not needed.

* Use the same verbosity for xibuild as we do for xbuild/msbuild.
2019-01-09 07:43:22 +01:00
Rolf Bjarne Kvinge a42b6b7237
[tests] Add MONO_SDK_DESTDIR to config file when using system XI for tests. (#5355)
Fixes this problem when running the VSTS device tests:

    Unhandled Exception:
    System.Collections.Generic.KeyNotFoundException: The given key 'MONO_SDK_DESTDIR' was not present in the dictionary.
      at System.Collections.Generic.Dictionary`2[TKey,TValue].get_Item (TKey key) [0x0001e] in <96207d0baa204f48a53ad6be05f5ecba>:0
      at xharness.Harness.LoadConfig () [0x001a3] in <299e29e4a95f41499aef8f7d9863ca3d>:0
      at xharness.Harness.Execute () [0x00001] in <299e29e4a95f41499aef8f7d9863ca3d>:0
      at xharness.MainClass.Main (System.String[] args) [0x003e3] in <299e29e4a95f41499aef8f7d9863ca3d>:0
2019-01-09 07:30:01 +01:00
Sebastien Pouliot df1a0fa450
[coretext] Simplify CTRunDelegate code. Fixes #5303 (#5321)
including

* Reflection is simply not needed. Existing unit tests 
   confirms the virtual method are called properly.

* Reduce metadata
	* reuse internal delegate types using identical signatures
	* remove internnal enum with a single value

* Use `nint` (for `CFIndex`) so it's clearly 64 bits aware (not just
  trusting alignment rules)

reference: https://github.com/xamarin/xamarin-macios/issues/5303
2019-01-08 09:34:48 -05:00
Rolf Bjarne Kvinge b7c8fdbedb
[tests] Add test to ensure LLVM succeeds on watchOS for every assembly we ship. (#5295)
* [tests] Add test to ensure LLVM succeeds on watchOS for every assembly we ship.

References:

* https://github.com/mono/mono/issues/12131: LLVM failed for 'UIEdgeInsets.Equals': opcode r4_cneq
* https://github.com/mono/mono/issues/12130: [watchOS] MT3001: Could not AOT the assembly mscorlib.dll
* https://github.com/xamarin/xamarin-macios/issues/4763: [RFC] Improve handling of filter clauses with LLVM/Bitcode
* https://bugzilla.xamarin.com/show_bug.cgi?id=58209: LLVM/bitcode can't handle filter clauses

* LLVM failure in mscorlib.dll is now fixed.

* Revert "LLVM failure in mscorlib.dll is now fixed."

This reverts commit ace3c930a9.

* [tests] Run mtouch tests inprocess.

Fixes a remoting exception:

    System.Runtime.Remoting.RemotingException: Cannot create channel sink to connect to URL fff8ce5c_3219_4dd0_941f_500dd49e02a5/94f23f2_4.rem. An appropriate channel has probably not been registered.

    Server stack trace:
      at System.Runtime.Remoting.RemotingServices.GetClientChannelSinkChain (System.String url, System.Object channelData, System.String& objectUri) [0x00019] in <96207d0baa204f48a53ad6be05f5ecba>:0
      at System.Runtime.Remoting.RemotingServices.GetOrCreateClientIdentity (System.Runtime.Remoting.ObjRef objRef, System.Type proxyType, System.Object& clientProxy) [0x0001d] in <96207d0baa204f48a53ad6be05f5ecba>:0
      at System.Runtime.Remoting.RemotingServices.GetRemoteObject (System.Runtime.Remoting.ObjRef objRef, System.Type proxyType) [0x00000] in <96207d0baa204f48a53ad6be05f5ecba>:0
      at System.Runtime.Remoting.RemotingServices.GetProxyForRemoteObject (System.Runtime.Remoting.ObjRef objref, System.Type classToProxy) [0x0001b] in <96207d0baa204f48a53ad6be05f5ecba>:0
      at System.Runtime.Remoting.RemotingServices.Unmarshal (System.Runtime.Remoting.ObjRef objectRef, System.Boolean fRefine) [0x0007a] in <96207d0baa204f48a53ad6be05f5ecba>:0
      at System.Runtime.Remoting.RemotingServices.Unmarshal (System.Runtime.Remoting.ObjRef objectRef) [0x00000] in <96207d0baa204f48a53ad6be05f5ecba>:0
      at System.Runtime.Remoting.ObjRef.GetRealObject (System.Runtime.Serialization.StreamingContext context) [0x0000f] in <96207d0baa204f48a53ad6be05f5ecba>:0
      at System.Runtime.Serialization.ObjectManager.ResolveObjectReference (System.Runtime.Serialization.ObjectHolder holder) [0x00010] in <96207d0baa204f48a53ad6be05f5ecba>:0
      at System.Runtime.Serialization.ObjectManager.DoFixups () [0x0007f] in <96207d0baa204f48a53ad6be05f5ecba>:0
      at System.Runtime.Serialization.Formatters.Binary.ObjectReader.Deserialize (System.Runtime.Remoting.Messaging.HeaderHandler handler, System.Runtime.Serialization.Formatters.Binary.__BinaryParser serParser, System.Boolean fCheck, System.Boolean isCrossAppDomain, System.Runtime.Remoting.Messaging.IMethodCallMessage methodCallMessage) [0x00077] in <96207d0baa204f48a53ad6be05f5ecba>:0
      at System.Runtime.Serialization.Formatters.Binary.BinaryFormatter.Deserialize (System.IO.Stream serializationStream, System.Runtime.Remoting.Messaging.HeaderHandler handler, System.Boolean fCheck, System.Boolean isCrossAppDomain, System.Runtime.Remoting.Messaging.IMethodCallMessage methodCallMessage) [0x000a2] in <96207d0baa204f48a53ad6be05f5ecba>:0
      at System.Runtime.Serialization.Formatters.Binary.BinaryFormatter.Deserialize (System.IO.Stream serializationStream, System.Runtime.Remoting.Messaging.HeaderHandler handler, System.Boolean fCheck, System.Runtime.Remoting.Messaging.IMethodCallMessage methodCallMessage) [0x00000] in <96207d0baa204f48a53ad6be05f5ecba>:0
      at System.Runtime.Serialization.Formatters.Binary.BinaryFormatter.DeserializeMethodResponse (System.IO.Stream serializationStream, System.Runtime.Remoting.Messaging.HeaderHandler handler, System.Runtime.Remoting.Messaging.IMethodCallMessage methodCallMessage) [0x00000] in <96207d0baa204f48a53ad6be05f5ecba>:0
      at System.Runtime.Remoting.Channels.BinaryClientFormatterSink.SyncProcessMessage (System.Runtime.Remoting.Messaging.IMessage msg) [0x00083] in <dcf627861d9e44ce818b79d685496eeb>:0

    Exception rethrown at [0]:
      at (wrapper managed-to-native) System.Object.__icall_wrapper_mono_remoting_wrapper(intptr,intptr)
      at (wrapper remoting-invoke) NUnit.Engine.Agents.RemoteTestAgent.Load()
      at NUnit.Engine.Runners.ProcessRunner.LoadPackage () [0x00040] in <28c9cb3cd2594f14ad436553a9b77f5d>:0
      at NUnit.Engine.Runners.AbstractTestRunner.Load () [0x00000] in <28c9cb3cd2594f14ad436553a9b77f5d>:0
      at NUnit.Engine.Runners.MasterTestRunner.LoadPackage () [0x0006b] in <28c9cb3cd2594f14ad436553a9b77f5d>:0
      at NUnit.Engine.Runners.MasterTestRunner..ctor (NUnit.Engine.IServiceLocator services, NUnit.Engine.TestPackage package) [0x0007a] in <28c9cb3cd2594f14ad436553a9b77f5d>:0
      at NUnit.Engine.TestEngine.GetRunner (NUnit.Engine.TestPackage package) [0x0001e] in <28c9cb3cd2594f14ad436553a9b77f5d>:0
      at NUnit.ConsoleRunner.ConsoleRunner.RunTests (NUnit.Engine.TestPackage package, NUnit.Engine.TestFilter filter) [0x00095] in <93782c327b3c4ab5aae551528dfe1cae>:0
      at NUnit.ConsoleRunner.ConsoleRunner.Execute () [0x000b6] in <93782c327b3c4ab5aae551528dfe1cae>:0
      at NUnit.ConsoleRunner.Program.Main (System.String[] args) [0x001b5] in <93782c327b3c4ab5aae551528dfe1cae>:0

* [xharness] Run mtouch tests in-process.

* [tests] Don't run the LLVM watchOS tests if we didn't build for device.

* [tests] Update NoLLVMFailuresInWatchOS known failures according to latest mono bump.
2019-01-08 15:17:21 +01:00
Rolf Bjarne Kvinge 25e9a29cbe
[generator] Fix launch arguments in the project file. (#5323)
Also run 'make bgen' after the build to install any newly built binaries, so
that the generator tests that don't use the in-proc generator automatically
pick up the newly built one.
2019-01-08 09:42:37 +01:00
Sebastien Pouliot aa77c673c2
[arkit] Fix crash in ARConfiguration.SupportedVideoFormats. Fixes #5347 (#5348)
Even if 'supportedVideoFormats' is static the type is abstract.

> Important
> ARConfiguration is an abstract base class, so its implementation of
> this property always returns an empty array. Read this property from
> the configuration subclass you plan to use for your AR session, such
> as ARWorldTrackingConfiguration or ARFaceTrackingConfiguration.
https://developer.apple.com/documentation/arkit/arconfiguration/2942261-supportedvideoformats?language=objc

and this behave differently in Objective-C (than .net) as every (static)
method will be different (and not a single implementation like C#).

The existing implementation (as a property) calls `ARConfiguration`
implementation which simply throws a (native) exception

> NSInvalidArgumentException Reason: Supported video formats should be called on individual configuration class

The solution is to obsolete the property (can't be subclassed in .net
since it's static) and add, only on the subclasses, a method that
call the 'supportedVideoFormats' selector on the current (not base)
type.

Added unit test to detect the addition of newer subclasses - since they
will also need to expose this method.

reference: https://github.com/xamarin/xamarin-macios/issues/5347
2019-01-04 17:29:19 -05:00
Sebastien Pouliot 38c488eb69
[mapkit] Add missing [NullAllowed] in initWithAnnotation:reuseIdentifier: Fixes 5345 (#5346)
It was missing on the first argument for `MKAnnotationView` and
inconsistent on subclasses.

references: https://github.com/xamarin/xamarin-macios/issues/5345
2019-01-04 13:23:34 -05:00
Sebastien Pouliot fbd63db027
[appkit] Use generated bindings for NS[Open|Save].[Open|Save]Panel. Fixes #5336 (#5341)
Also add [Advice] to help people using writing applications that runs
inside the sandbox.

reference: https://github.com/xamarin/xamarin-macios/issues/5336
2019-01-03 19:26:21 -05:00
Sebastien Pouliot b9de5926f4
Bump mono to head of 2018-08 (#5340)
Commit list for mono/mono:

* mono/mono@9671417e21 [2018-08] [Network] Fix CVE 2018-8292 on Mac OS X. (#12153)
* mono/mono@047d0abd5c [llvm] Add support for OP_RCNEQ.
* mono/mono@237c5fedc7 [2018-08] [GTK] Bump bockbuild for VSTS #737323 fix to GtkNSView. (#12164)
* mono/mono@bac9fc1f88 [2018-08] Bump msbuild to track xplat-master (#12115)
* mono/mono@88eafb72e4 [2018-08] Bump to latest SQLite for Mac bundle (#12159)

Diff: 3f799cc3c7...9671417e21
2019-01-03 19:24:47 -05:00
Emanuel Fernandez Dell'Oca 7e41ef7d3e Fixes spacing issues in MSBuild tasks (#5338) 2019-01-03 14:03:08 -05:00
Rolf Bjarne Kvinge 0772f6a9c6 [generator] Delete unused project template. (#5322) 2019-01-02 11:43:06 -05:00
Cody Russell 0229590f68 Fix error message (#5319) 2019-01-02 08:43:54 -05:00
Sebastien Pouliot 9456474948
[foundation] Fix ICE in NSUrlSessionHandler.CreateConfig on macOS 10.9. Fixes #5309 (#5320)
For some reason (internal type?) OSX 10.9 does not return the expected
instance type when copied.

However it turns out that the copy is not required

> Modifying the returned session configuration object does not affect any
> configuration objects returned by future calls to this method, and does
> not change the default behavior for existing sessions. It is therefore
> always safe to use the returned object as a starting point for
> additional customization.

https://developer.apple.com/documentation/foundation/nsurlsessionconfiguration/1411560-defaultsessionconfiguration?language=objc

So the simpler code should fix the issue.

https://github.com/xamarin/xamarin-macios/issues/5309
2018-12-21 11:24:22 -05:00
Sebastien Pouliot f55db9d7bc
[coretext] Update CTRunDelegate to work on 64 bits. Fixes #5132 (#5302)
Basic fix that does not require a breaking change.

It's _basic_ as it does not fix the performance comments made inside
the issue. Those are different (not a bug, an enhancement) and I'll
file a separate issue to track this.

Reference: https://github.com/xamarin/xamarin-macios/issues/5132
2018-12-21 08:57:32 -05:00
Manuel de la Pena 40921b9924
[XHarness] Reenable Mono.Data.Tds tests on watch os. (#5317)
Ignore the failing tests and run the rest. Fixes xamarin/maccore#1152
2018-12-21 10:38:13 +01:00
Manuel de la Pena 480f786839
[XHarness] Add support for ignore files in the blc tests (#5288)
This PR adds support to the use of *.ignore files for iOS/tvOS/WatchOS. The files are very similar to those that are use in xtro. We have:

* common-{TestProjectName}.ignore: For those tests that fail in all platforms.
* tvOS-{TestProjectName}.ignore: For tvOS specific failures.
* watchOS-{TestProjectName}.ignore: For watchOS specific failures.
* iOS-{TestProjectName}.ignore: for iOS specific projects.

Two test projects that were ignored previously have been added to show that the code does as advertised:

* SystemDataXunit: xUnit test project example. Fixes https://github.com/xamarin/maccore/issues/1131
* SystemServiceModelWebTests: NUnit test project example. Fixes https://github.com/xamarin/maccore/issues/1137

The files take the name of the failing tests, although we do support ignoring by class/namespace and other combinations, that would make the *.ignore files format more complicated and it is not worth it.
2018-12-20 23:13:17 +01:00
Rolf Bjarne Kvinge d6cf195b4e
[registrar] Throw EntryPointNotFoundException when generating P/Invoke wrappers for objc_msgSend*_stret on arm64. Fixes #5183. (#5312)
objc_msgSend*_stret doesn't exist on arm64, so trying to call these functions
in our generated P/Invoke wrappers will result in a clang error:

    [...]/pinvokes.m:180:69: error: 'objc_msgSend_stret' is unavailable: not available in arm64 (TaskId:243)

So instead generate a call to throw an EntryPointNotFoundException (which is
exactly what would happen if we didn't generate the P/Invoke wrapper).

Fixes https://github.com/xamarin/xamarin-macios/issues/5183.
2018-12-20 18:38:07 +01:00
Rolf Bjarne Kvinge b331ed8290
[registrar] Remove unused parameter from function call. (#5311) 2018-12-20 17:27:45 +01:00
Rolf Bjarne Kvinge 163f9a37f9
[mtouch] Ignore linker warnings about our own libraries being built for iOS 7.0 when deployment target is iOS 6.0. Fixes #5092. (#5310)
Only the arm64 slice are built for iOS 7.0 (because that's when arm64 was
introduced), the arm7(s) slices are built for iOS 6.0, which means it's safe
to ignore this warning.

Fixes https://github.com/xamarin/xamarin-macios/issues/5092.
2018-12-20 17:27:25 +01:00
Rolf Bjarne Kvinge 9d80293924
Bump mono to get fix for #5252. (#5308)
Fixes https://github.com/xamarin/xamarin-macios/issues/5252.

Commit list for mono/mono:

* mono/mono@3f799cc3c7 [exceptions] Verbose logging for cfa_reg assertion (#11916)
* mono/mono@0d9e781cb6 [jit] Fix a buffer overflow in mini_get_gsharedvt_out_sig_wrapper_signature ().
* mono/mono@35a1ed626d Fix IndexOutOfRangeException in MethodInfo.ReturnParameter.IsDefined(type)
* mono/mono@03b9354ed9 [MacSDK] Bump NuGet to 4.8.1

Diff: f919fb58c4...3f799cc3c7
2018-12-20 17:27:05 +01:00
Rolf Bjarne Kvinge 3bb1fc11a8
[msbuild] Sleep before and after touching files on non-APFS file systems. (#5298)
Hopefully fixes these tests:

    Xamarin.iOS.Tasks.TargetTests.RebuildLibrary_TouchBundleResource: Expected: not 2018-12-18 17:15:05.000
    But was: 2018-12-18 17:15:05.000

    Xamarin.iOS.Tasks.TargetTests.RebuildLibrary_TouchEmbeddedResource: Expected: not 2018-12-18 17:15:07.000
    But was: 2018-12-18 17:15:07.000

    Xamarin.iOS.Tasks.TargetTests.RebuildLibrary_TouchStoryboard: Expected: not 2018-12-18 17:15:09.000
    But was: 2018-12-18 17:15:09.000

Additionally change existing sleeping code to not sleep when running on APFS.
Should make test runs slightly faster.
2018-12-20 09:50:53 +01:00
Rolf Bjarne Kvinge 75147cf062
[runtime] Improve rendering/logging of managed exceptions in a few places. (#5293)
* [runtime] Only print the stack trace if we have a stack trace.

* [runtime] Only print 'Unhandled managed exception' when it's actually an unhandled exception.

We render exceptions in several other circumstances, when they're not
unhandled, so this improves the output text in those scenarios a little bit.

* [runtime] Fix typo in logging message.

* [runtime] Improve abort message for managed exception marshalling a bit.
2018-12-20 09:50:08 +01:00
Rolf Bjarne Kvinge f9ff8d8e07
[msbuild] Fix typo in assert message. (#5296) 2018-12-20 07:36:48 +01:00
Rolf Bjarne Kvinge 2b9d9fb667
[msbuild] Declare which frameworks XStaticArTest.framework and XStaticObjectTest.framework need. (#5297)
Fixes these test failure:

    Xamarin.iOS.Tasks.NativeReferencesNoEmbedding("iPhone").FrameworksEmbeddedProperly(True): #RunTarget-ErrorCount
        linker command failed with exit code 1 (use -v to see invocation)
        Native linking failed, undefined Objective-C class: MDLTransform. The symbol '_OBJC_CLASS_$_MDLTransform' could not be found in any of the libraries or frameworks linked with your application.
        Native linking failed. Please review the build log.
    Expected: 0
    But was: 3

    Xamarin.iOS.Tasks.NativeReferencesNoEmbedding("iPhone").ShouldNotUnnecessarilyRebuildFinalProject(True): #RunTarget-ErrorCount
        linker command failed with exit code 1 (use -v to see invocation)
        Native linking failed, undefined Objective-C class: MDLTransform. The symbol '_OBJC_CLASS_$_MDLTransform' could not be found in any of the libraries or frameworks linked with your application.
        Native linking failed. Please review the build log.
    Expected: 0
    But was: 3
2018-12-20 07:35:34 +01:00
Rolf Bjarne Kvinge 03d2b7d0b7
[jenkins] Add links to the packages in the GitHub comment. (#5301) 2018-12-20 07:34:57 +01:00
Rolf Bjarne Kvinge b21eb28b72
[jenkins] Improve rendering of failures on older macOS bots. (#5304)
Improve rendering of failures on older macOS bots by showing which bot things
failed on in the commit comment.
2018-12-20 07:34:23 +01:00
Rolf Bjarne Kvinge ac45389565
[ObjCRuntime] Verify the system mono version at launch. (#5292)
This makes Visual Studio for Mac show a better error message when the system mono is too old:

    FATAL ERROR [2018-12-19 08:07:50Z]: Visual Studio failed to start. Some of the assemblies required to run Visual Studio (for example gtk-sharp)may not be properly installed in the GAC.
    System.Exception: Toolkit could not be loaded ---> System.NotSupportedException: This version of Xamarin.Mac requires Mono 5.18.0.185, but found Mono 5.16.0.209.
      at ObjCRuntime.Runtime.VerifyMonoVersion () [0x000b4] in /work/maccore/master/xamarin-macios/src/ObjCRuntime/Runtime.mac.cs:150
      at ObjCRuntime.Runtime.EnsureInitialized () [0x00030] in /work/maccore/master/xamarin-macios/src/ObjCRuntime/Runtime.mac.cs:117
      at AppKit.NSApplication.Init () [0x00016] in /work/maccore/master/xamarin-macios/src/AppKit/NSApplication.cs:56
      at Xwt.Mac.NSApplicationInitializer.Initialize () [0x00051] in /work/monodevelop/monodevelop/main/external/xwt/Xwt.XamMac/Xwt.Mac/NSApplicationInitializer.cs:44
      at Xwt.Mac.MacEngine.InitializeApplication () [0x00001] in /work/monodevelop/monodevelop/main/external/xwt/Xwt.XamMac/Xwt.Mac/MacEngine.cs:48

instead of (from https://github.com/mono/monodevelop/issues/6779):

    FATAL ERROR [2018-12-17 14:05:44Z]: Visual Studio failed to start. Some of the assemblies required to run Visual Studio (for example gtk-sharp)may not be properly installed in the GAC.
    System.Exception: Toolkit could not be loaded ---> System.NullReferenceException: Object reference not set to an instance of an object
      at (wrapper managed-to-native) System.Object.wrapper_native_0x102f47470()
      at ObjCRuntime.Runtime.EnsureInitialized () [0x00041] in /Library/Frameworks/Xamarin.Mac.framework/Versions/5.6.0.1/src/Xamarin.Mac/ObjCRuntime/Runtime.mac.cs:118
      at AppKit.NSApplication.Init () [0x00016] in /Library/Frameworks/Xamarin.Mac.framework/Versions/5.6.0.1/src/Xamarin.Mac/AppKit/NSApplication.cs:56
      at Xwt.Mac.NSApplicationInitializer.Initialize () [0x00046] in /Users/vsts/agent/2.144.0/work/1/s/monodevelop/main/external/xwt/Xwt.XamMac/Xwt.Mac/NSApplicationInitializer.cs:44
      at Xwt.Mac.MacEngine.InitializeApplication () [0x00000] in /Users/vsts/agent/2.144.0/work/1/s/monodevelop/main/external/xwt/Xwt.XamMac/Xwt.Mac/MacEngine.cs:48
2018-12-19 17:03:57 +01:00
Rolf Bjarne Kvinge fc51fa887d
Enable the device build correctly when mono/llvm is bumped. (#5294)
This allowed #5252 to pass the PR build: the device build was disabled for the
PR test run.
2018-12-19 16:56:12 +01:00
Sebastien Pouliot 30d60bffe9
[foundation] Respect HttpClient.Timeout for NSUrlSessionHandler. Fix #5190 (#5290)
When `HttpClient` is used it might not be possible to set custom
properties on the handler.

This PR avoids a fight between the `HttpClient.Timeout` and the ones that
`NSURLSession` provides - making its use, as default, working as expected

It is still possible to set those custom properties when creating the
`NSUrlSessionHandler` manually, so there's no loss of functionalities.

Adding a unit test would be tricky since it depends on external sites and
requires "enough" delays to trigger (both leading to false positives over
time).

Notes
* HttpClientHandler timeout is broken -> https://github.com/mono/mono/issues/12100
* CFNetworkHandler is broken when no data is received -> https://github.com/xamarin/xamarin-macios/issues/5289

Fixes https://github.com/xamarin/xamarin-macios/issues/5190
2018-12-19 10:14:43 -05:00
Emanuel Fernandez Dell'Oca 2cc7fb1987 [msbuild] Fixes incremental build issues with frameworks from VS (#5249)
* [msbuild] Adds output property for unpacked resources

This output property will be used by VS to create/touch output files on Windows only for the unpacked resources and not for all the resources found.

Partial fix for bug 662636 - *.dylib libraries are signed during full rebuild, but not the second time
https://devdiv.visualstudio.com/DevDiv/_queries/edit/662636

* [msbuild] Adds output property with copied frameworks to MTouchTaskBase

This property is needed from VS to know Frameworks where changed as a result of the mtouch execution. The lack of this information was causing MSBuild to skip the CodesignFrameworks target (from Windows) on incremental builds if the frameworks were copied to the app bundle by mtouch.

Partial fix for bug 662636 - *.dylib libraries are signed during full rebuild, but not the second time
https://devdiv.visualstudio.com/DevDiv/_queries/edit/662636
2018-12-19 07:55:01 +01:00
Filip Navara 50f43f5059 Update binding_types_reference_guide.md (#5287)
Fix function name to match code - trampolines in runtime code are prefixed with `xamarin` since the unification of Xamarin.iOS and Xamarin.Mac.
2018-12-18 14:38:30 +01:00
Manuel de la Pena ef78b1dbc3
[XHarness] Do not build the test assemblies for the iOS platforms. (#5270)
We now download the ios Mono sdk which means that there is no need for
us to build the test assemblies on iOS, WatchOS and tvOS BUT we need to
do so for the Mac tests.

The change includes:
  1. Use fo the downloaded test assemblies.
  2. Removal of the dependency of building them in the tests.
  3. Move back to using reflection for the project generation.
  4. Remove the cached project details added in the workaround.
2018-12-18 14:21:09 +01:00
Rolf Bjarne Kvinge 3704379ba5
[msbuild] Find source files in the Xamarin.MacDev repo as well to improve dependency tracking. (#5278)
This makes 'make' rebuild the msbuild assemblies when only something in the
Xamarin.MacDev repository changes.
2018-12-18 07:48:40 +01:00
Rolf Bjarne Kvinge 1f9096c8e9
Add the minimum system mono version for running Xamarin.Mac apps using system mono to Versions.plist. (#5281) 2018-12-18 07:48:19 +01:00
Rolf Bjarne Kvinge a793a5d92b
Bump Xamarin.MacDev to get fix for #5277. (#5282)
Commit list for xamarin/Xamarin.MacDev:

* xamarin/Xamarin.MacDev@2029b17 Keys in property list dictionaries aren't necessarily unique. Fixes xamarin-macios#5277. (#39)
* xamarin/Xamarin.MacDev@80498aa Get rid of spurious <ItemGroup>
* xamarin/Xamarin.MacDev@9921b48 Remove packagerefs. Leads to unintended problems (see discussion https://github.com/xamarin/md-addins/pull/3946) (#38)
* xamarin/Xamarin.MacDev@179f720 Add in MicroBuild to all projects for signing (#37)
* xamarin/Xamarin.MacDev@45e26fc Cache EntitlementExtensions.AllKeys

Diff: 49a17b1cbb...2029b1703e
2018-12-17 17:52:07 +01:00
Matt Sylvia 8d76943bf1 Bump version numbers to the correct values (#5283)
Since the new branch was 12.6.0 and 5.6.0, master needs to be higher.
2018-12-17 11:09:05 -05:00
Rolf Bjarne Kvinge d205f2215b
[builds] Consume llvm + cross compilers from mono's package. (#5254)
* [builds] Consume LLVM from mono's package.

* Fix mono sdk paths in makefile to be relative to the top.

* [builds] Make curl verbose if V=1.

* [builds] Improve llvm build targets.

* Fix dependencies so that 'make -j llvm' (and other variations of the same
  target) work properly.
* Rename things a bit to make it clear there are 32-bit and 64-bit llvm
  targets.

* [builds] Consume cross compilers from mono's package as well.

Compiling the cross compilers while using LLVM from mono's package becomes
complicated, so just go ahead and get the cross compilers from the mono
package as well.

* Make llvm rules symmetric between llvm32 and llvm64.
2018-12-17 10:22:54 +01:00
Chris Hamons 68049f9180
[tests] Remove NoBindingEmbedding rebuild tests (#5274)
- These tests failed randomly, especially on older macOS without APFS
- They also were rather slow
2018-12-14 09:37:58 -05:00
Manuel de la Pena b51e8ecfc8
[CFNetwork] Fix CVE 2018-8292 on Mac OS X. (#5271)
The MessageHandler class suffers from the CVE 2018-8292. this commit
fixes the issue by ensuring that the we donot use autoredirect from
CFNetwork and perform the first request. If the response is a redirect,
follow it wihout the Autherization headers.
2018-12-14 11:31:35 +01:00