Age | Commit message (Collapse) | Author |
|
|
|
Fix build warnings
|
|
|
|
|
|
On linux/macOS the exit code is byte-sized, which means that if 256 tests
fails, the exit code would become 0.
|
|
|
|
|
|
This reverts commit f1b9f939acdd72bf481eb5697fd9838fd1ba2464.
This didn't help, so let's just try to fix the actual problem
|
|
If we allow the finalizers to run we may end up returning
a failure exit code if the finalizer does something wrong.
For example xamarin.mac can crash while finalizing CALayers
but we do not really want that to mark our test run as failed.
2017-02-27T02:37:28.1153580Z stderr: Unhandled Exception:
2017-02-27T02:37:28.1186210Z stderr: System.Exception: Failed to marshal the Objective-C object 0x7f85edb651e0 (type: Xamarin_Designer_Mac_DesignerDragOperationMac_MacDragImage_LayerScaleTransitionDelegate). Could not find an existing managed instance for this object, nor was it possible to create a new managed instance (because the type 'Xamarin.Designer.Mac.DesignerDragOperationMac+MacDragImage+LayerScaleTransitionDelegate' does not have a constructor that takes one IntPtr argument).
2017-02-27T02:37:28.1204140Z stderr: at ObjCRuntime.Runtime.MissingCtor (System.IntPtr ptr, System.IntPtr klass, System.Type type, ObjCRuntime.Runtime+MissingCtorResolution resolution) [0x0006e] in <fc5e1fa5f40e47b7ab6a305f19513423>:0
2017-02-27T02:37:28.1218240Z stderr: at ObjCRuntime.Runtime.ConstructNSObject[T] (System.IntPtr ptr, System.Type type, ObjCRuntime.Runtime+MissingCtorResolution missingCtorResolution) [0x0002c] in <fc5e1fa5f40e47b7ab6a305f19513423>:0
2017-02-27T02:37:28.1232350Z stderr: at ObjCRuntime.Runtime.ConstructNSObject (System.IntPtr ptr, System.IntPtr klass, ObjCRuntime.Runtime+MissingCtorResolution missingCtorResolution) [0x00015] in <fc5e1fa5f40e47b7ab6a305f19513423>:0
2017-02-27T02:37:28.1246740Z stderr: at ObjCRuntime.Runtime.GetNSObject (System.IntPtr ptr, ObjCRuntime.Runtime+MissingCtorResolution missingCtorResolution, System.Boolean evenInFinalizerQueue) [0x00034] in <fc5e1fa5f40e47b7ab6a305f19513423>:0
2017-02-27T02:37:28.1260580Z stderr: at Registrar.DynamicRegistrar.GetMethodDescriptionAndObject (System.Type type, System.IntPtr selector, System.IntPtr obj, System.IntPtr& mthis) [0x00068] in <fc5e1fa5f40e47b7ab6a305f19513423>:0
2017-02-27T02:37:28.1274350Z stderr: at ObjCRuntime.Runtime.GetMethodAndObjectForSelector (System.IntPtr klass, System.IntPtr sel, System.IntPtr obj, System.IntPtr& mthis) [0x0000c] in <fc5e1fa5f40e47b7ab6a305f19513423>:0
2017-02-27T02:37:28.1289980Z stderr: at ObjCRuntime.Runtime.get_method_and_object_for_selector (System.IntPtr cls, System.IntPtr sel, System.IntPtr obj, System.IntPtr& mthis, System.Int32& exception_gchandle) [0x00006] in <fc5e1fa5f40e47b7ab6a305f19513423>:0
2017-02-27T02:37:28.1313850Z stderr: --- End of stack trace from previous location where exception was thrown ---
2017-02-27T02:37:28.1331490Z stderr: at (wrapper managed-to-native) ObjCRuntime.Messaging:void_objc_msgSend_IntPtr (intptr,intptr,intptr)
2017-02-27T02:37:28.1345900Z stderr: at CoreAnimation.CALayer.set_WeakDelegate (Foundation.NSObject value) [0x0002e] in <fc5e1fa5f40e47b7ab6a305f19513423>:0
2017-02-27T02:37:28.1358800Z stderr: at CoreAnimation.CALayer.OnDispose () [0x00024] in <fc5e1fa5f40e47b7ab6a305f19513423>:0
2017-02-27T02:37:28.1371610Z stderr: at CoreAnimation.CALayer.Dispose (System.Boolean disposing) [0x00001] in <fc5e1fa5f40e47b7ab6a305f19513423>:0
2017-02-27T02:37:28.1384350Z stderr: at Foundation.NSObject.Finalize () [0x00001] in <fc5e1fa5f40e47b7ab6a305f19513423>:0
|
|
|
|
|
|
Works around https://bugzilla.xamarin.com/show_bug.cgi?id=43932
|
|
|
|
The calling assembly will always be guiunit itself. All our
tests are written in different assembly. As such, if we aren't
given the path to an assembly we should assume that something else
is loading us and the thing which loaded us has the tests.
|
|
|
|
This allows custom main loop integrations to use it when
Shutdown is called in the case where the integration's
IMainLoopIntegration.RunMainLoop is a no-op (e.g. the
main loop is running already).
|
|
|
|
|
|
|
|
Such a hack :)
|
|
|
|
|
|
|
|
We're more than happy with a single static variable. We don't support
multiple appdomains (or want to support it), and our usage of
async/await does not work with CallContext under .NET 4.5. We end up
getting a null value from CallContext.GetData after an await
completes, which is expected behaviour.
|
|
|
|
The actul bug was that Xamarin Studio was incorrectly specifying
the test name. This has been fixed now.
|
|
Fix two wrong conditionals.
|
|
|
|
|
|
This reverts commit 55f1f48ab46fe8728beb0bb58118689d26a6452c.
Our test assemblies are signed and so need gui-unit signed in order
to build.
Whatever the issue with .NET 4.5.1 is, we'll have to solve it a
differnet way.
|
|
Otherwise the test results file could end up anywhere.
It's perfectly valid for unit tests to change the working dir.
|
|
|
|
[TestRunner] Fix commandline from Windows.
|
|
|
|
NUnitLite does not construct a 'Test' object for the namespace
hierarchy. It is a flat list of tests which have fully qualified type
names inside a single container. As such we need to use
a Test.Name.StartsWith instead of checking the parent when
we want to run all tests in the 'Foo.Bar' namespace, such as
Foo.Bar.Baz and Foo.Bar.Bim
|
|
This reverts commit 8c76547e7f29c664812d27a0226e17b32a656d00.
|
|
We want to gracefully shut down the socket when possible.
|
|
|
|
|
|
|
|
We need this to be correct so we can use the SimpleNameFilter to filter
tests.
|
|
Specifying 'Foo.Bar' should let the test 'Foo.Bar.Baz' execute
|
|
The last commit was broken. Whoops!
|
|
This should make it easier to detect failures when run from the
commandline
|
|
|
|
`Assembly.LoadFile` and `Assembly.Location` are not present on Windows
Phone. To allow us to keep our hard coded list of main loop integrations
(and other support), we'll check for these methods at runtime and properties
and skip steps that aren't required/supported on Windows Phone.
|
|
|
|
Sometimes someone will want to set up their own SyncronizationContext
and have the tests run without calling any special setup/shutdown
methods. This isn't fully tested but if there are bugs i can fix em.
|
|
|
|
It always appends .exe even if the assembly already has an extension
so let's just leave it as GuiUnit.exe
|