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

6 Коммитов

Автор SHA1 Сообщение Дата
Rolf Bjarne Kvinge 2b2f1d08dc
[tests] Remove Classic code from all tests. (#8702) 2020-05-28 16:35:09 +02:00
michizhou e9b18d4c2f [CoreFoundation] [tests] Add new DispatchQueue overloaded method (#7343)
* [CoreFoundation] [tests] Add new DispatchQueue overloaded method with unit tests. Fixes #6783

* [CoreFoundation] [tests] Add new variant method to DispatchQueue

* [CoreFoundation] [tests] Remove nonexistent DispatchQueue methods

* [CoreFoundation] [tests] Restore existing methods and tests
2019-11-12 14:56:45 +01:00
Rolf Bjarne Kvinge e5ee9606f0
[tests] Ignore RuntimeTest.MainThreadDeallocationTest if all optimizations are enabled and not linking everything. Fixes #4566. (#4744)
This test contains code that requires the dynamic registrar unless the code is
optimized, and it's only optimized if the assembly is linked, which only
happens if linking all assemblies.

So disable the test if dynamic registrar is removed (which happens when all
optimizations are enabled) and the assembly isn't linked.

Fixes https://github.com/xamarin/xamarin-macios/issues/4566.
2018-09-05 12:47:52 +02:00
Rolf Bjarne Kvinge 0a24bd603d
[runtime] Always release blocks on the main thread. Fixes #4130. (#4312)
Fixes https://github.com/xamarin/xamarin-macios/issues/4130.
2018-06-29 10:42:25 +02:00
Rolf Bjarne Kvinge 10481fcf62
[runtime] Don't throw exceptions when checking if a token reference exists (and not finding any). Fixes #3830. (#3995)
* [runtime] Don't throw exceptions when checking if a token reference exists (and not finding any). Fixes #3830.

It's not necessarily bad to not be able to find a token reference for a class:
in particular not if we're just checking if a token reference exists. In this
case, don't throw any exceptions, so that the fall-back code path (if no token
references were found) can execute properly.

This scenario occurs when all the following are true:

* The runtime runs into a native object that is exposed in managed as a protocol.
* The native type's managed type does not implement the protocol.
* The dynamic registrar is being used.

Fixes https://github.com/xamarin/xamarin-macios/issues/3830.
2018-04-27 11:33:33 +02:00
Rolf Bjarne Kvinge 1206b868c2
[runtime] Don't lock while calling selectors that can up calling managed code. Fixes #3943. (#3979)
* [runtime] Don't lock while calling selectors that can up calling managed code. Fixes #3943.

Instead of locking the framework peer lock while we call release on dying
object, we just lock and then immediately unlock again before calling release.

This enforces an execution order that still strong enough to not run into race
conditions, while at the same time not running into deadlocks.

Fixes https://github.com/xamarin/xamarin-macios/issues/3943.
2018-04-27 07:40:03 +02:00