Created attachment 6332 [details]
Example solution with Android/iOS library and test projects.
In an android tests project any test that is async and encounters an exception will cause the test application to crash.
This includes [ExpectedException] tests, tests with a try/catch block, and when using Assert.Throws.
The iOS test project when linked to the same test code passes the test without issue.
I run both test iOS and Android and noticed that for the the "LibraryCodeTests" failed for android test and success for iOS test project. I am not getting any crashed for Android test.
Android test Execution log: https://gist.github.com/Sadik1/9637217
Screen cast: http://screencast.com/t/96MoHGd0
=== Xamarin Studio ===
Version 4.2.3 (build 60)
Installation UUID: ce3f5199-e126-42fd-bc8a-6a96370af9ab
Mono 3.2.6 ((no/9b58377)
GTK+ 2.24.23 theme: Raleigh
Package version: 302060000
=== Apple Developer Tools ===
Xcode 5.0 (3332.22)
=== Xamarin.Mac ===
Xamarin.Mac: Not Installed
=== Xamarin.Android ===
Version: 4.12.1 (Business Edition)
Android SDK: /Users/mac109/Desktop/android-sdk-macosx
Supported Android versions:
2.2 (API level 8)
2.3 (API level 10)
3.1 (API level 12)
4.0 (API level 14)
4.0.3 (API level 15)
4.1 (API level 16)
4.2 (API level 17)
4.4 (API level 19)
Java SDK: /usr
java version "1.6.0_65"
Java(TM) SE Runtime Environment (build 1.6.0_65-b14-462-11M4609)
Java HotSpot(TM) 64-Bit Server VM (build 20.65-b04-462, mixed mode)
=== Xamarin.iOS ===
Version: 184.108.40.206 (Business Edition)
Build date: 2014-10-03 18:02:26-0400
=== Build Information ===
Release ID: 402030060
Git revision: 30c4afc300c2a39ec5300851357ce02e49dd217e
Build date: 2014-03-05 22:09:33+0000
Xamarin addins: f8a9589b57c2bfab2ccd73c880e7ad81e3ecf044
=== Operating System ===
Mac OS X 10.9.0
Darwin mac109s-Mac-mini.local 13.0.0 Darwin Kernel Version 13.0.0
Thu Sep 19 22:22:27 PDT 2013
We use NUnitLite 1.0.0 in our products (even when it was reported) but it was built without NET_4_5 condition.
Also there was difference between the original NUnitLite that we use in Xamarin.Android and NUnitLite in Xamarin.iOS which is NOT the original but the modified version in Touch.Unit, namely this:
... caused ArgumentNullException ("method") propagated up to unit test failures.
After fixing that issue, there still seems runtime issue. With debug.mono.trace=Xamarin.Android.NUnitLite the trace stops at:
[mono] [0xb7710060: 25.11839 22]
[mono] ENTER: NUnit.Framework.Internal.AsyncInvocationRegion/AsyncTaskInvoca
[mono] this:0xa804ae10[.AsyncTaskInvocationRegion RootDomain],
[Mono] DllImport attempting to load: '/system/lib/libc.so'.
[Mono] DllImport loaded library '/system/lib/libc.so'.
[Mono] DllImport searching in: '/system/lib/libc.so' ('/system/lib/libc.so')
[Mono] Searching for 'gettid'.
[Mono] Probing 'gettid'.
[Mono] Found as 'gettid'.
*** Bug 20242 has been marked as a duplicate of this bug. ***