diff --git a/Xamarin.Android-Tests.sln b/Xamarin.Android-Tests.sln
index 77b4a4534d1..002e05772b5 100644
--- a/Xamarin.Android-Tests.sln
+++ b/Xamarin.Android-Tests.sln
@@ -22,8 +22,6 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Xamarin.Android.Locale-Test
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "CodeGen-Binding", "CodeGen-Binding", "{2EFFECF5-1CCA-4005-AE62-1D6F01C88DF4}"
EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Xamarin.Android.McwGen-Tests", "tests\CodeGen-Binding\Xamarin.Android.McwGen-Tests\Xamarin.Android.McwGen-Tests.csproj", "{EF798EB3-D639-4E09-9DB0-233E67F727B0}"
-EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Xamarin.Android.LibraryProjectZip-LibBinding", "tests\CodeGen-Binding\Xamarin.Android.LibraryProjectZip-LibBinding\Xamarin.Android.LibraryProjectZip-LibBinding.csproj", "{9553ED9D-92EA-411B-ADFF-21C5608CCD16}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Xamarin.Android.FixJavaAbstractMethod-APIv1Binding", "tests\CodeGen-Binding\Xamarin.Android.FixJavaAbstractMethod-APIv1Binding\Xamarin.Android.FixJavaAbstractMethod-APIv1Binding.csproj", "{91105023-9421-4E56-A87B-64BC62525D55}"
@@ -32,8 +30,6 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Xamarin.Android.FixJavaAbst
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Xamarin.Android.FixJavaAbstractMethod-Library", "tests\CodeGen-Binding\Xamarin.Android.FixJavaAbstractMethod-Library\Xamarin.Android.FixJavaAbstractMethod-Library.csproj", "{B7476528-C166-40BF-931F-EAEB02247879}"
EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Xamarin.Android.JcwGen-Tests", "tests\CodeGen-Binding\Xamarin.Android.JcwGen-Tests\Xamarin.Android.JcwGen-Tests.csproj", "{9479B71F-19FE-48F9-AB3F-AE764D76038A}"
-EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "ResolveImports", "ResolveImports", "{E49089E4-4CE0-475E-BE9C-0AB4E4D56EE9}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Xamarin.Android.BindingResolveImportLib1", "tests\ResolveImports\Xamarin.Android.BindingResolveImportLib1\Xamarin.Android.BindingResolveImportLib1.csproj", "{2A0519DF-0DDA-45F7-AC3C-E2992748D364}"
@@ -119,10 +115,6 @@ Global
{9D5C83B5-70D5-4CC2-9DB7-78B23DC8F255}.Debug|Any CPU.Build.0 = Debug|Any CPU
{9D5C83B5-70D5-4CC2-9DB7-78B23DC8F255}.Release|Any CPU.ActiveCfg = Release|Any CPU
{9D5C83B5-70D5-4CC2-9DB7-78B23DC8F255}.Release|Any CPU.Build.0 = Release|Any CPU
- {EF798EB3-D639-4E09-9DB0-233E67F727B0}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {EF798EB3-D639-4E09-9DB0-233E67F727B0}.Debug|Any CPU.Build.0 = Debug|Any CPU
- {EF798EB3-D639-4E09-9DB0-233E67F727B0}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {EF798EB3-D639-4E09-9DB0-233E67F727B0}.Release|Any CPU.Build.0 = Release|Any CPU
{9553ED9D-92EA-411B-ADFF-21C5608CCD16}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{9553ED9D-92EA-411B-ADFF-21C5608CCD16}.Debug|Any CPU.Build.0 = Debug|Any CPU
{9553ED9D-92EA-411B-ADFF-21C5608CCD16}.Release|Any CPU.ActiveCfg = Release|Any CPU
@@ -139,10 +131,6 @@ Global
{B7476528-C166-40BF-931F-EAEB02247879}.Debug|Any CPU.Build.0 = Debug|Any CPU
{B7476528-C166-40BF-931F-EAEB02247879}.Release|Any CPU.ActiveCfg = Release|Any CPU
{B7476528-C166-40BF-931F-EAEB02247879}.Release|Any CPU.Build.0 = Release|Any CPU
- {9479B71F-19FE-48F9-AB3F-AE764D76038A}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {9479B71F-19FE-48F9-AB3F-AE764D76038A}.Debug|Any CPU.Build.0 = Debug|Any CPU
- {9479B71F-19FE-48F9-AB3F-AE764D76038A}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {9479B71F-19FE-48F9-AB3F-AE764D76038A}.Release|Any CPU.Build.0 = Release|Any CPU
{2A0519DF-0DDA-45F7-AC3C-E2992748D364}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{2A0519DF-0DDA-45F7-AC3C-E2992748D364}.Debug|Any CPU.Build.0 = Debug|Any CPU
{2A0519DF-0DDA-45F7-AC3C-E2992748D364}.Release|Any CPU.ActiveCfg = Release|Any CPU
@@ -243,12 +231,10 @@ Global
{6BE66B30-9346-4DA6-B09A-0CDC1DFE33C2} = {43A4FB09-279A-4138-8027-EC1E1CED2E8A}
{05768F39-7BAF-43E6-971E-712F5771E88E} = {D6BFEDF6-2F48-44B2-9553-F2F6F92531BD}
{9D5C83B5-70D5-4CC2-9DB7-78B23DC8F255} = {D6BFEDF6-2F48-44B2-9553-F2F6F92531BD}
- {EF798EB3-D639-4E09-9DB0-233E67F727B0} = {2EFFECF5-1CCA-4005-AE62-1D6F01C88DF4}
{9553ED9D-92EA-411B-ADFF-21C5608CCD16} = {2EFFECF5-1CCA-4005-AE62-1D6F01C88DF4}
{91105023-9421-4E56-A87B-64BC62525D55} = {2EFFECF5-1CCA-4005-AE62-1D6F01C88DF4}
{7B9D9F32-973F-49CF-A8F8-05BDFC75556C} = {2EFFECF5-1CCA-4005-AE62-1D6F01C88DF4}
{B7476528-C166-40BF-931F-EAEB02247879} = {2EFFECF5-1CCA-4005-AE62-1D6F01C88DF4}
- {9479B71F-19FE-48F9-AB3F-AE764D76038A} = {2EFFECF5-1CCA-4005-AE62-1D6F01C88DF4}
{2A0519DF-0DDA-45F7-AC3C-E2992748D364} = {E49089E4-4CE0-475E-BE9C-0AB4E4D56EE9}
{DD4E2A49-730C-41FD-B6D4-AFB73F94271F} = {E49089E4-4CE0-475E-BE9C-0AB4E4D56EE9}
{9802CB35-0BC0-4EE1-9A81-BB40BD97945A} = {E49089E4-4CE0-475E-BE9C-0AB4E4D56EE9}
diff --git a/build-tools/automation/azure-pipelines.yaml b/build-tools/automation/azure-pipelines.yaml
index 9f6fb2286c5..121fef1994c 100644
--- a/build-tools/automation/azure-pipelines.yaml
+++ b/build-tools/automation/azure-pipelines.yaml
@@ -205,6 +205,25 @@ stages:
artifactSource: bin/Test$(XA.Build.Configuration)/$(DotNetTargetFramework)-android/Mono.Android.NET_Tests-Signed.aab
artifactFolder: $(DotNetTargetFramework)-AotLlvm
+ - template: yaml-templates/apk-instrumentation.yaml
+ parameters:
+ configuration: $(XA.Build.Configuration)
+ testName: Xamarin.Android.BindingRuntime_Tests
+ project: tests/BindingTests/Xamarin.Android.BindingRuntime-Tests/Xamarin.Android.BindingRuntime-Tests.csproj
+ testResultsFiles: TestResult-Xamarin.Android.BindingRuntime_Tests-$(XA.Build.Configuration).xml
+ artifactSource: bin/Test$(XA.Build.Configuration)/$(DotNetTargetFramework)-android/Xamarin.Android.BindingRuntime_Tests-Signed.apk
+ artifactFolder: $(DotNetTargetFramework)-Default
+
+ - template: yaml-templates/apk-instrumentation.yaml
+ parameters:
+ configuration: $(XA.Build.Configuration)
+ testName: Xamarin.Android.BindingRuntime_Tests_FastDev
+ project: tests/BindingTests/Xamarin.Android.BindingRuntime-Tests/Xamarin.Android.BindingRuntime-Tests.csproj
+ testResultsFiles: TestResult-Xamarin.Android.BindingRuntime_Tests-$(XA.Build.Configuration).xml
+ artifactSource: bin/Test$(XA.Build.Configuration)/$(DotNetTargetFramework)-android/Xamarin.Android.BindingRuntime_Tests-Signed.apk
+ artifactFolder: $(DotNetTargetFramework)-FastDev_Assemblies_Dexes
+ extraBuildArgs: /p:AndroidFastDeploymentType=Assemblies:Dexes
+
- template: yaml-templates/run-nunit-tests.yaml
parameters:
testRunTitle: Xamarin.Android.Tools.Aidl-Tests - macOS
diff --git a/tests/BindingTests/Xamarin.Android.BindingRuntime-Tests/AndroidManifest.xml b/tests/BindingTests/Xamarin.Android.BindingRuntime-Tests/AndroidManifest.xml
new file mode 100644
index 00000000000..ac1549139bb
--- /dev/null
+++ b/tests/BindingTests/Xamarin.Android.BindingRuntime-Tests/AndroidManifest.xml
@@ -0,0 +1,8 @@
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/tests/CodeGen-Binding/Xamarin.Android.McwGen-Tests/Jars/KotlinUnsignedTypes.jar b/tests/BindingTests/Xamarin.Android.BindingRuntime-Tests/Jars/KotlinUnsignedTypes.jar
similarity index 100%
rename from tests/CodeGen-Binding/Xamarin.Android.McwGen-Tests/Jars/KotlinUnsignedTypes.jar
rename to tests/BindingTests/Xamarin.Android.BindingRuntime-Tests/Jars/KotlinUnsignedTypes.jar
diff --git a/tests/CodeGen-Binding/Xamarin.Android.McwGen-Tests/Jars/UnsignedMethods.kt b/tests/BindingTests/Xamarin.Android.BindingRuntime-Tests/Jars/UnsignedMethods.kt
similarity index 100%
rename from tests/CodeGen-Binding/Xamarin.Android.McwGen-Tests/Jars/UnsignedMethods.kt
rename to tests/BindingTests/Xamarin.Android.BindingRuntime-Tests/Jars/UnsignedMethods.kt
diff --git a/tests/CodeGen-Binding/Xamarin.Android.McwGen-Tests/java/com/xamarin/android/Bxc37706Throwable.java b/tests/BindingTests/Xamarin.Android.BindingRuntime-Tests/Java/Bxc37706Throwable.java
similarity index 100%
rename from tests/CodeGen-Binding/Xamarin.Android.McwGen-Tests/java/com/xamarin/android/Bxc37706Throwable.java
rename to tests/BindingTests/Xamarin.Android.BindingRuntime-Tests/Java/Bxc37706Throwable.java
diff --git a/tests/CodeGen-Binding/Xamarin.Android.McwGen-Tests/java/com/xamarin/android/Bxc4288.java b/tests/BindingTests/Xamarin.Android.BindingRuntime-Tests/Java/Bxc4288.java
similarity index 100%
rename from tests/CodeGen-Binding/Xamarin.Android.McwGen-Tests/java/com/xamarin/android/Bxc4288.java
rename to tests/BindingTests/Xamarin.Android.BindingRuntime-Tests/Java/Bxc4288.java
diff --git a/tests/CodeGen-Binding/Xamarin.Android.McwGen-Tests/java/com/xamarin/android/Bxc58383.java b/tests/BindingTests/Xamarin.Android.BindingRuntime-Tests/Java/Bxc58383.java
similarity index 100%
rename from tests/CodeGen-Binding/Xamarin.Android.McwGen-Tests/java/com/xamarin/android/Bxc58383.java
rename to tests/BindingTests/Xamarin.Android.BindingRuntime-Tests/Java/Bxc58383.java
diff --git a/tests/CodeGen-Binding/Xamarin.Android.McwGen-Tests/java/com/xamarin/android/Bxc7634.java b/tests/BindingTests/Xamarin.Android.BindingRuntime-Tests/Java/Bxc7634.java
similarity index 100%
rename from tests/CodeGen-Binding/Xamarin.Android.McwGen-Tests/java/com/xamarin/android/Bxc7634.java
rename to tests/BindingTests/Xamarin.Android.BindingRuntime-Tests/Java/Bxc7634.java
diff --git a/tests/CodeGen-Binding/Xamarin.Android.McwGen-Tests/java/com/xamarin/android/Bxc9446.java b/tests/BindingTests/Xamarin.Android.BindingRuntime-Tests/Java/Bxc9446.java
similarity index 100%
rename from tests/CodeGen-Binding/Xamarin.Android.McwGen-Tests/java/com/xamarin/android/Bxc9446.java
rename to tests/BindingTests/Xamarin.Android.BindingRuntime-Tests/Java/Bxc9446.java
diff --git a/tests/CodeGen-Binding/Xamarin.Android.McwGen-Tests/java/com/xamarin/android/CallMethodFromCtor.java b/tests/BindingTests/Xamarin.Android.BindingRuntime-Tests/Java/CallMethodFromCtor.java
similarity index 100%
rename from tests/CodeGen-Binding/Xamarin.Android.McwGen-Tests/java/com/xamarin/android/CallMethodFromCtor.java
rename to tests/BindingTests/Xamarin.Android.BindingRuntime-Tests/Java/CallMethodFromCtor.java
diff --git a/tests/CodeGen-Binding/Xamarin.Android.McwGen-Tests/java/com/xamarin/android/CallNonvirtualBase.java b/tests/BindingTests/Xamarin.Android.BindingRuntime-Tests/Java/CallNonvirtualBase.java
similarity index 100%
rename from tests/CodeGen-Binding/Xamarin.Android.McwGen-Tests/java/com/xamarin/android/CallNonvirtualBase.java
rename to tests/BindingTests/Xamarin.Android.BindingRuntime-Tests/Java/CallNonvirtualBase.java
diff --git a/tests/CodeGen-Binding/Xamarin.Android.McwGen-Tests/java/com/xamarin/android/CallNonvirtualDerived.java b/tests/BindingTests/Xamarin.Android.BindingRuntime-Tests/Java/CallNonvirtualDerived.java
similarity index 100%
rename from tests/CodeGen-Binding/Xamarin.Android.McwGen-Tests/java/com/xamarin/android/CallNonvirtualDerived.java
rename to tests/BindingTests/Xamarin.Android.BindingRuntime-Tests/Java/CallNonvirtualDerived.java
diff --git a/tests/CodeGen-Binding/Xamarin.Android.McwGen-Tests/java/com/xamarin/android/DataHandler.java b/tests/BindingTests/Xamarin.Android.BindingRuntime-Tests/Java/DataHandler.java
similarity index 100%
rename from tests/CodeGen-Binding/Xamarin.Android.McwGen-Tests/java/com/xamarin/android/DataHandler.java
rename to tests/BindingTests/Xamarin.Android.BindingRuntime-Tests/Java/DataHandler.java
diff --git a/tests/CodeGen-Binding/Xamarin.Android.McwGen-Tests/java/com/xamarin/android/DataListener.java b/tests/BindingTests/Xamarin.Android.BindingRuntime-Tests/Java/DataListener.java
similarity index 100%
rename from tests/CodeGen-Binding/Xamarin.Android.McwGen-Tests/java/com/xamarin/android/DataListener.java
rename to tests/BindingTests/Xamarin.Android.BindingRuntime-Tests/Java/DataListener.java
diff --git a/tests/CodeGen-Binding/Xamarin.Android.McwGen-Tests/java/com/xamarin/android/DefaultMethodsInterface.java b/tests/BindingTests/Xamarin.Android.BindingRuntime-Tests/Java/DefaultMethodsInterface.java
similarity index 100%
rename from tests/CodeGen-Binding/Xamarin.Android.McwGen-Tests/java/com/xamarin/android/DefaultMethodsInterface.java
rename to tests/BindingTests/Xamarin.Android.BindingRuntime-Tests/Java/DefaultMethodsInterface.java
diff --git a/tests/CodeGen-Binding/Xamarin.Android.McwGen-Tests/java/com/xamarin/android/Empty1.java b/tests/BindingTests/Xamarin.Android.BindingRuntime-Tests/Java/Empty1.java
similarity index 100%
rename from tests/CodeGen-Binding/Xamarin.Android.McwGen-Tests/java/com/xamarin/android/Empty1.java
rename to tests/BindingTests/Xamarin.Android.BindingRuntime-Tests/Java/Empty1.java
diff --git a/tests/CodeGen-Binding/Xamarin.Android.McwGen-Tests/java/com/xamarin/android/Empty2.java b/tests/BindingTests/Xamarin.Android.BindingRuntime-Tests/Java/Empty2.java
similarity index 100%
rename from tests/CodeGen-Binding/Xamarin.Android.McwGen-Tests/java/com/xamarin/android/Empty2.java
rename to tests/BindingTests/Xamarin.Android.BindingRuntime-Tests/Java/Empty2.java
diff --git a/tests/CodeGen-Binding/Xamarin.Android.McwGen-Tests/java/com/xamarin/android/EmptyOverrideClass.java b/tests/BindingTests/Xamarin.Android.BindingRuntime-Tests/Java/EmptyOverrideClass.java
similarity index 100%
rename from tests/CodeGen-Binding/Xamarin.Android.McwGen-Tests/java/com/xamarin/android/EmptyOverrideClass.java
rename to tests/BindingTests/Xamarin.Android.BindingRuntime-Tests/Java/EmptyOverrideClass.java
diff --git a/tests/CodeGen-Binding/Xamarin.Android.McwGen-Tests/java/com/xamarin/android/Gxa4098.java b/tests/BindingTests/Xamarin.Android.BindingRuntime-Tests/Java/Gxa4098.java
similarity index 100%
rename from tests/CodeGen-Binding/Xamarin.Android.McwGen-Tests/java/com/xamarin/android/Gxa4098.java
rename to tests/BindingTests/Xamarin.Android.BindingRuntime-Tests/Java/Gxa4098.java
diff --git a/tests/CodeGen-Binding/Xamarin.Android.McwGen-Tests/java/com/xamarin/android/ImplementedChainOverrideClass.java b/tests/BindingTests/Xamarin.Android.BindingRuntime-Tests/Java/ImplementedChainOverrideClass.java
similarity index 100%
rename from tests/CodeGen-Binding/Xamarin.Android.McwGen-Tests/java/com/xamarin/android/ImplementedChainOverrideClass.java
rename to tests/BindingTests/Xamarin.Android.BindingRuntime-Tests/Java/ImplementedChainOverrideClass.java
diff --git a/tests/CodeGen-Binding/Xamarin.Android.McwGen-Tests/java/com/xamarin/android/ImplementedOverrideClass.java b/tests/BindingTests/Xamarin.Android.BindingRuntime-Tests/Java/ImplementedOverrideClass.java
similarity index 100%
rename from tests/CodeGen-Binding/Xamarin.Android.McwGen-Tests/java/com/xamarin/android/ImplementedOverrideClass.java
rename to tests/BindingTests/Xamarin.Android.BindingRuntime-Tests/Java/ImplementedOverrideClass.java
diff --git a/tests/CodeGen-Binding/Xamarin.Android.McwGen-Tests/java/com/xamarin/android/Logger.java b/tests/BindingTests/Xamarin.Android.BindingRuntime-Tests/Java/Logger.java
similarity index 100%
rename from tests/CodeGen-Binding/Xamarin.Android.McwGen-Tests/java/com/xamarin/android/Logger.java
rename to tests/BindingTests/Xamarin.Android.BindingRuntime-Tests/Java/Logger.java
diff --git a/tests/CodeGen-Binding/Xamarin.Android.McwGen-Tests/java/com/xamarin/android/MarkerIgnoringBase.java b/tests/BindingTests/Xamarin.Android.BindingRuntime-Tests/Java/MarkerIgnoringBase.java
similarity index 100%
rename from tests/CodeGen-Binding/Xamarin.Android.McwGen-Tests/java/com/xamarin/android/MarkerIgnoringBase.java
rename to tests/BindingTests/Xamarin.Android.BindingRuntime-Tests/Java/MarkerIgnoringBase.java
diff --git a/tests/CodeGen-Binding/Xamarin.Android.McwGen-Tests/java/com/xamarin/android/MyCanvas.java b/tests/BindingTests/Xamarin.Android.BindingRuntime-Tests/Java/MyCanvas.java
similarity index 100%
rename from tests/CodeGen-Binding/Xamarin.Android.McwGen-Tests/java/com/xamarin/android/MyCanvas.java
rename to tests/BindingTests/Xamarin.Android.BindingRuntime-Tests/Java/MyCanvas.java
diff --git a/tests/CodeGen-Binding/Xamarin.Android.McwGen-Tests/java/com/xamarin/example/NamespaceTransform.java b/tests/BindingTests/Xamarin.Android.BindingRuntime-Tests/Java/NamespaceTransform.java
similarity index 100%
rename from tests/CodeGen-Binding/Xamarin.Android.McwGen-Tests/java/com/xamarin/example/NamespaceTransform.java
rename to tests/BindingTests/Xamarin.Android.BindingRuntime-Tests/Java/NamespaceTransform.java
diff --git a/tests/CodeGen-Binding/Xamarin.Android.McwGen-Tests/java/com/xamarin/android/StaticMethodsInterface.java b/tests/BindingTests/Xamarin.Android.BindingRuntime-Tests/Java/StaticMethodsInterface.java
similarity index 100%
rename from tests/CodeGen-Binding/Xamarin.Android.McwGen-Tests/java/com/xamarin/android/StaticMethodsInterface.java
rename to tests/BindingTests/Xamarin.Android.BindingRuntime-Tests/Java/StaticMethodsInterface.java
diff --git a/tests/CodeGen-Binding/Xamarin.Android.McwGen-Tests/java/com/xamarin/android/Timing.java b/tests/BindingTests/Xamarin.Android.BindingRuntime-Tests/Java/Timing.java
similarity index 100%
rename from tests/CodeGen-Binding/Xamarin.Android.McwGen-Tests/java/com/xamarin/android/Timing.java
rename to tests/BindingTests/Xamarin.Android.BindingRuntime-Tests/Java/Timing.java
diff --git a/tests/CodeGen-Binding/Xamarin.Android.McwGen-Tests/java/com/xamarin/android/Xdc33310.java b/tests/BindingTests/Xamarin.Android.BindingRuntime-Tests/Java/Xdc33310.java
similarity index 100%
rename from tests/CodeGen-Binding/Xamarin.Android.McwGen-Tests/java/com/xamarin/android/Xdc33310.java
rename to tests/BindingTests/Xamarin.Android.BindingRuntime-Tests/Java/Xdc33310.java
diff --git a/tests/BindingTests/Xamarin.Android.BindingRuntime-Tests/MainActivity.cs b/tests/BindingTests/Xamarin.Android.BindingRuntime-Tests/MainActivity.cs
new file mode 100644
index 00000000000..acd286c2eff
--- /dev/null
+++ b/tests/BindingTests/Xamarin.Android.BindingRuntime-Tests/MainActivity.cs
@@ -0,0 +1,20 @@
+using System.Reflection;
+using Xamarin.Android.NUnitLite;
+
+namespace Xamarin.Android.BindingRuntime_Tests;
+
+[Activity (Label = "@string/app_name", MainLauncher = true)]
+public class MainActivity : TestSuiteActivity
+{
+ protected override void OnCreate (Bundle? savedInstanceState)
+ {
+ // tests can be inside the main assembly
+ AddTest (Assembly.GetExecutingAssembly ());
+
+ // or in any reference assemblies
+ // AddTest (typeof (Your.Library.TestClass).Assembly);
+
+ // Once you called base.OnCreate(), you cannot add more assemblies.
+ base.OnCreate (savedInstanceState);
+ }
+}
diff --git a/tests/BindingTests/Xamarin.Android.BindingRuntime-Tests/Resources/layout/activity_main.xml b/tests/BindingTests/Xamarin.Android.BindingRuntime-Tests/Resources/layout/activity_main.xml
new file mode 100644
index 00000000000..f94985291bf
--- /dev/null
+++ b/tests/BindingTests/Xamarin.Android.BindingRuntime-Tests/Resources/layout/activity_main.xml
@@ -0,0 +1,13 @@
+
+
+
+
\ No newline at end of file
diff --git a/tests/BindingTests/Xamarin.Android.BindingRuntime-Tests/Resources/mipmap-anydpi-v26/appicon.xml b/tests/BindingTests/Xamarin.Android.BindingRuntime-Tests/Resources/mipmap-anydpi-v26/appicon.xml
new file mode 100644
index 00000000000..7751f69514d
--- /dev/null
+++ b/tests/BindingTests/Xamarin.Android.BindingRuntime-Tests/Resources/mipmap-anydpi-v26/appicon.xml
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/tests/BindingTests/Xamarin.Android.BindingRuntime-Tests/Resources/mipmap-anydpi-v26/appicon_round.xml b/tests/BindingTests/Xamarin.Android.BindingRuntime-Tests/Resources/mipmap-anydpi-v26/appicon_round.xml
new file mode 100644
index 00000000000..7751f69514d
--- /dev/null
+++ b/tests/BindingTests/Xamarin.Android.BindingRuntime-Tests/Resources/mipmap-anydpi-v26/appicon_round.xml
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/tests/BindingTests/Xamarin.Android.BindingRuntime-Tests/Resources/mipmap-hdpi/appicon.png b/tests/BindingTests/Xamarin.Android.BindingRuntime-Tests/Resources/mipmap-hdpi/appicon.png
new file mode 100644
index 00000000000..f97217f4aa4
Binary files /dev/null and b/tests/BindingTests/Xamarin.Android.BindingRuntime-Tests/Resources/mipmap-hdpi/appicon.png differ
diff --git a/tests/BindingTests/Xamarin.Android.BindingRuntime-Tests/Resources/mipmap-hdpi/appicon_background.png b/tests/BindingTests/Xamarin.Android.BindingRuntime-Tests/Resources/mipmap-hdpi/appicon_background.png
new file mode 100644
index 00000000000..513e69d8412
Binary files /dev/null and b/tests/BindingTests/Xamarin.Android.BindingRuntime-Tests/Resources/mipmap-hdpi/appicon_background.png differ
diff --git a/tests/BindingTests/Xamarin.Android.BindingRuntime-Tests/Resources/mipmap-hdpi/appicon_foreground.png b/tests/BindingTests/Xamarin.Android.BindingRuntime-Tests/Resources/mipmap-hdpi/appicon_foreground.png
new file mode 100644
index 00000000000..99d3a291bc3
Binary files /dev/null and b/tests/BindingTests/Xamarin.Android.BindingRuntime-Tests/Resources/mipmap-hdpi/appicon_foreground.png differ
diff --git a/tests/BindingTests/Xamarin.Android.BindingRuntime-Tests/Resources/mipmap-mdpi/appicon.png b/tests/BindingTests/Xamarin.Android.BindingRuntime-Tests/Resources/mipmap-mdpi/appicon.png
new file mode 100644
index 00000000000..76ceb98d488
Binary files /dev/null and b/tests/BindingTests/Xamarin.Android.BindingRuntime-Tests/Resources/mipmap-mdpi/appicon.png differ
diff --git a/tests/BindingTests/Xamarin.Android.BindingRuntime-Tests/Resources/mipmap-mdpi/appicon_background.png b/tests/BindingTests/Xamarin.Android.BindingRuntime-Tests/Resources/mipmap-mdpi/appicon_background.png
new file mode 100644
index 00000000000..9e2d1e4d8d4
Binary files /dev/null and b/tests/BindingTests/Xamarin.Android.BindingRuntime-Tests/Resources/mipmap-mdpi/appicon_background.png differ
diff --git a/tests/BindingTests/Xamarin.Android.BindingRuntime-Tests/Resources/mipmap-mdpi/appicon_foreground.png b/tests/BindingTests/Xamarin.Android.BindingRuntime-Tests/Resources/mipmap-mdpi/appicon_foreground.png
new file mode 100644
index 00000000000..a28d342c1c7
Binary files /dev/null and b/tests/BindingTests/Xamarin.Android.BindingRuntime-Tests/Resources/mipmap-mdpi/appicon_foreground.png differ
diff --git a/tests/BindingTests/Xamarin.Android.BindingRuntime-Tests/Resources/mipmap-xhdpi/appicon.png b/tests/BindingTests/Xamarin.Android.BindingRuntime-Tests/Resources/mipmap-xhdpi/appicon.png
new file mode 100644
index 00000000000..83f089c37bb
Binary files /dev/null and b/tests/BindingTests/Xamarin.Android.BindingRuntime-Tests/Resources/mipmap-xhdpi/appicon.png differ
diff --git a/tests/BindingTests/Xamarin.Android.BindingRuntime-Tests/Resources/mipmap-xhdpi/appicon_background.png b/tests/BindingTests/Xamarin.Android.BindingRuntime-Tests/Resources/mipmap-xhdpi/appicon_background.png
new file mode 100644
index 00000000000..658be3fb6a3
Binary files /dev/null and b/tests/BindingTests/Xamarin.Android.BindingRuntime-Tests/Resources/mipmap-xhdpi/appicon_background.png differ
diff --git a/tests/BindingTests/Xamarin.Android.BindingRuntime-Tests/Resources/mipmap-xhdpi/appicon_foreground.png b/tests/BindingTests/Xamarin.Android.BindingRuntime-Tests/Resources/mipmap-xhdpi/appicon_foreground.png
new file mode 100644
index 00000000000..70a542ac03c
Binary files /dev/null and b/tests/BindingTests/Xamarin.Android.BindingRuntime-Tests/Resources/mipmap-xhdpi/appicon_foreground.png differ
diff --git a/tests/BindingTests/Xamarin.Android.BindingRuntime-Tests/Resources/mipmap-xxhdpi/appicon.png b/tests/BindingTests/Xamarin.Android.BindingRuntime-Tests/Resources/mipmap-xxhdpi/appicon.png
new file mode 100644
index 00000000000..988160a1905
Binary files /dev/null and b/tests/BindingTests/Xamarin.Android.BindingRuntime-Tests/Resources/mipmap-xxhdpi/appicon.png differ
diff --git a/tests/BindingTests/Xamarin.Android.BindingRuntime-Tests/Resources/mipmap-xxhdpi/appicon_background.png b/tests/BindingTests/Xamarin.Android.BindingRuntime-Tests/Resources/mipmap-xxhdpi/appicon_background.png
new file mode 100644
index 00000000000..9171c3e4044
Binary files /dev/null and b/tests/BindingTests/Xamarin.Android.BindingRuntime-Tests/Resources/mipmap-xxhdpi/appicon_background.png differ
diff --git a/tests/BindingTests/Xamarin.Android.BindingRuntime-Tests/Resources/mipmap-xxhdpi/appicon_foreground.png b/tests/BindingTests/Xamarin.Android.BindingRuntime-Tests/Resources/mipmap-xxhdpi/appicon_foreground.png
new file mode 100644
index 00000000000..cb63bfb9f8e
Binary files /dev/null and b/tests/BindingTests/Xamarin.Android.BindingRuntime-Tests/Resources/mipmap-xxhdpi/appicon_foreground.png differ
diff --git a/tests/BindingTests/Xamarin.Android.BindingRuntime-Tests/Resources/mipmap-xxxhdpi/appicon.png b/tests/BindingTests/Xamarin.Android.BindingRuntime-Tests/Resources/mipmap-xxxhdpi/appicon.png
new file mode 100644
index 00000000000..b65da5a7358
Binary files /dev/null and b/tests/BindingTests/Xamarin.Android.BindingRuntime-Tests/Resources/mipmap-xxxhdpi/appicon.png differ
diff --git a/tests/BindingTests/Xamarin.Android.BindingRuntime-Tests/Resources/mipmap-xxxhdpi/appicon_background.png b/tests/BindingTests/Xamarin.Android.BindingRuntime-Tests/Resources/mipmap-xxxhdpi/appicon_background.png
new file mode 100644
index 00000000000..1232d8c8d23
Binary files /dev/null and b/tests/BindingTests/Xamarin.Android.BindingRuntime-Tests/Resources/mipmap-xxxhdpi/appicon_background.png differ
diff --git a/tests/BindingTests/Xamarin.Android.BindingRuntime-Tests/Resources/mipmap-xxxhdpi/appicon_foreground.png b/tests/BindingTests/Xamarin.Android.BindingRuntime-Tests/Resources/mipmap-xxxhdpi/appicon_foreground.png
new file mode 100644
index 00000000000..9f9c9e6d932
Binary files /dev/null and b/tests/BindingTests/Xamarin.Android.BindingRuntime-Tests/Resources/mipmap-xxxhdpi/appicon_foreground.png differ
diff --git a/tests/BindingTests/Xamarin.Android.BindingRuntime-Tests/Resources/values/ic_launcher_background.xml b/tests/BindingTests/Xamarin.Android.BindingRuntime-Tests/Resources/values/ic_launcher_background.xml
new file mode 100644
index 00000000000..6ec24e6413c
--- /dev/null
+++ b/tests/BindingTests/Xamarin.Android.BindingRuntime-Tests/Resources/values/ic_launcher_background.xml
@@ -0,0 +1,4 @@
+
+
+ #2C3E50
+
\ No newline at end of file
diff --git a/tests/BindingTests/Xamarin.Android.BindingRuntime-Tests/Resources/values/strings.xml b/tests/BindingTests/Xamarin.Android.BindingRuntime-Tests/Resources/values/strings.xml
new file mode 100644
index 00000000000..181519248a8
--- /dev/null
+++ b/tests/BindingTests/Xamarin.Android.BindingRuntime-Tests/Resources/values/strings.xml
@@ -0,0 +1,4 @@
+
+ BindingRuntime
+ Hello, Android!
+
diff --git a/tests/CodeGen-Binding/Xamarin.Android.JcwGen-Tests/TestInstrumentation.cs b/tests/BindingTests/Xamarin.Android.BindingRuntime-Tests/TestInstrumentation.cs
similarity index 55%
rename from tests/CodeGen-Binding/Xamarin.Android.JcwGen-Tests/TestInstrumentation.cs
rename to tests/BindingTests/Xamarin.Android.BindingRuntime-Tests/TestInstrumentation.cs
index 1153790e3d7..e5176ae2b33 100644
--- a/tests/CodeGen-Binding/Xamarin.Android.JcwGen-Tests/TestInstrumentation.cs
+++ b/tests/BindingTests/Xamarin.Android.BindingRuntime-Tests/TestInstrumentation.cs
@@ -1,16 +1,13 @@
-using System;
using System.Reflection;
-
-using Android.App;
-using Android.Content;
using Android.Runtime;
-
using Xamarin.Android.NUnitLite;
-namespace Xamarin.Android.JcwGenTests {
+namespace Xamarin.Android.BindingRuntime_Tests
+{
- [Instrumentation (Name="xamarin.android.jcwgentests.TestInstrumentation")]
- public class TestInstrumentation : TestSuiteInstrumentation {
+ [Instrumentation (Name = "xamarin.android.bindingruntime.TestInstrumentation")]
+ public class TestInstrumentation : TestSuiteInstrumentation
+ {
public TestInstrumentation (IntPtr handle, JniHandleOwnership transfer)
: base (handle, transfer)
diff --git a/tests/CodeGen-Binding/Xamarin.Android.JcwGen-Tests/BindingTests.cs b/tests/BindingTests/Xamarin.Android.BindingRuntime-Tests/Tests/BindingTests.cs
similarity index 95%
rename from tests/CodeGen-Binding/Xamarin.Android.JcwGen-Tests/BindingTests.cs
rename to tests/BindingTests/Xamarin.Android.BindingRuntime-Tests/Tests/BindingTests.cs
index 797191a9429..f4e7017d406 100644
--- a/tests/CodeGen-Binding/Xamarin.Android.JcwGen-Tests/BindingTests.cs
+++ b/tests/BindingTests/Xamarin.Android.BindingRuntime-Tests/Tests/BindingTests.cs
@@ -8,7 +8,7 @@
using Com.Xamarin.Android;
-namespace Xamarin.Android.JcwGenTests {
+namespace Xamarin.Android.BindingRuntime_Tests {
[TestFixture]
public class BindingTests {
@@ -20,6 +20,7 @@ public void TestTimingCreateTimingIsCorrectType ()
Assert.IsTrue (t is Com.Xamarin.Android.Timing);
}
+#if TODO_7794
[Test]
public void TestResourceId ()
{
@@ -37,7 +38,8 @@ public void TestNativeLibDllImportInEmbeddedArchive ()
{
Assert.AreEqual (TestNativeLib.Binding.SampleFunction2 (), 0xf200);
}
-
+#endif // TODO_7794
+
[Test]
public void NamespaceTransforms ()
{
@@ -80,9 +82,9 @@ public void Arrays ()
Assert.AreEqual ("payloadType", e.PayloadType);
for (int i = 0; i < e.Payload.Length; ++i) {
for (int j = 0; j < e.Payload [i].Length; ++j) {
- byte expected = (byte) (((i+1)*10) + (j+1));
- Assert.AreEqual ((byte)(expected + 'J'), e.Payload [i][j]);
- e.Payload [i][j] = expected;
+ byte expected = (byte) (((i + 1) * 10) + (j + 1));
+ Assert.AreEqual ((byte) (expected + 'J'), e.Payload [i] [j]);
+ e.Payload [i] [j] = expected;
}
}
};
@@ -178,6 +180,10 @@ public void VirtualMethodBinding ()
}
}
+#if TODO_7794
+ // This test requires that https://github.com/xamarin/xamarin-android/issues/7794
+ // be completed first, as it depends on Xamarin.Android.FixJavaAbstractMethod* projects.
+
[Test]
public void JavaAbstractMethodTest ()
{
@@ -202,7 +208,8 @@ public void JavaAbstractMethodTest ()
if (mi != null && mi.GetMethodBody ().LocalVariables.Count == 0)
throw new Exception ("FixAbstractMethodStep broken, MethodWithRT added, while it should not be");
}
-
+#endif // TODO_7794
+
// Context https://bugzilla.xamarin.com/show_bug.cgi?id=36036
[Test]
public void NestedClassTest ()
diff --git a/tests/CodeGen-Binding/Xamarin.Android.JcwGen-Tests/DimBindingTests.cs b/tests/BindingTests/Xamarin.Android.BindingRuntime-Tests/Tests/DimBindingTests.cs
similarity index 98%
rename from tests/CodeGen-Binding/Xamarin.Android.JcwGen-Tests/DimBindingTests.cs
rename to tests/BindingTests/Xamarin.Android.BindingRuntime-Tests/Tests/DimBindingTests.cs
index c1554ea1b27..8e43176c13e 100644
--- a/tests/CodeGen-Binding/Xamarin.Android.JcwGen-Tests/DimBindingTests.cs
+++ b/tests/BindingTests/Xamarin.Android.BindingRuntime-Tests/Tests/DimBindingTests.cs
@@ -3,7 +3,7 @@
using Java.Lang;
using NUnit.Framework;
-namespace Xamarin.Android.JcwGenTests
+namespace Xamarin.Android.BindingRuntime_Tests
{
[TestFixture]
public class DimTest
diff --git a/tests/CodeGen-Binding/Xamarin.Android.JcwGen-Tests/ExceptionTests.cs b/tests/BindingTests/Xamarin.Android.BindingRuntime-Tests/Tests/ExceptionTests.cs
similarity index 95%
rename from tests/CodeGen-Binding/Xamarin.Android.JcwGen-Tests/ExceptionTests.cs
rename to tests/BindingTests/Xamarin.Android.BindingRuntime-Tests/Tests/ExceptionTests.cs
index d50f749c65c..0179c5dc494 100644
--- a/tests/CodeGen-Binding/Xamarin.Android.JcwGen-Tests/ExceptionTests.cs
+++ b/tests/BindingTests/Xamarin.Android.BindingRuntime-Tests/Tests/ExceptionTests.cs
@@ -7,7 +7,7 @@
using Com.Xamarin.Android;
-namespace Xamarin.Android.JcwGenTests {
+namespace Xamarin.Android.BindingRuntime_Tests {
[TestFixture]
public class ExceptionTests {
diff --git a/tests/CodeGen-Binding/Xamarin.Android.JcwGen-Tests/KotlinUnsignedTypesTests.cs b/tests/BindingTests/Xamarin.Android.BindingRuntime-Tests/Tests/KotlinUnsignedTypesTests.cs
similarity index 98%
rename from tests/CodeGen-Binding/Xamarin.Android.JcwGen-Tests/KotlinUnsignedTypesTests.cs
rename to tests/BindingTests/Xamarin.Android.BindingRuntime-Tests/Tests/KotlinUnsignedTypesTests.cs
index 0550aa3e067..8a7d28becfc 100644
--- a/tests/CodeGen-Binding/Xamarin.Android.JcwGen-Tests/KotlinUnsignedTypesTests.cs
+++ b/tests/BindingTests/Xamarin.Android.BindingRuntime-Tests/Tests/KotlinUnsignedTypesTests.cs
@@ -4,7 +4,7 @@
using Java.Lang;
using NUnit.Framework;
-namespace Xamarin.Android.JcwGenTests
+namespace Xamarin.Android.BindingRuntime_Tests
{
[TestFixture]
public class KotlinUnsignedTypesTests
diff --git a/tests/BindingTests/Xamarin.Android.BindingRuntime-Tests/Tests/TypeWithUnicodeCharacters.cs b/tests/BindingTests/Xamarin.Android.BindingRuntime-Tests/Tests/TypeWithUnicodeCharacters.cs
new file mode 100644
index 00000000000..187bd8d67e7
--- /dev/null
+++ b/tests/BindingTests/Xamarin.Android.BindingRuntime-Tests/Tests/TypeWithUnicodeCharacters.cs
@@ -0,0 +1,9 @@
+using System;
+
+namespace Xamarin.Android.BindingRuntime_Tests
+{
+ public class HélloÊncodingIssues : Java.Lang.Object
+ {
+ }
+}
+
diff --git a/tests/CodeGen-Binding/Xamarin.Android.McwGen-Tests/Timing.cs b/tests/BindingTests/Xamarin.Android.BindingRuntime-Tests/Timing.cs
similarity index 100%
rename from tests/CodeGen-Binding/Xamarin.Android.McwGen-Tests/Timing.cs
rename to tests/BindingTests/Xamarin.Android.BindingRuntime-Tests/Timing.cs
diff --git a/tests/BindingTests/Xamarin.Android.BindingRuntime-Tests/Transforms/Metadata.xml b/tests/BindingTests/Xamarin.Android.BindingRuntime-Tests/Transforms/Metadata.xml
new file mode 100644
index 00000000000..5f90f256b53
--- /dev/null
+++ b/tests/BindingTests/Xamarin.Android.BindingRuntime-Tests/Transforms/Metadata.xml
@@ -0,0 +1,17 @@
+
+
+ Android.Graphics.Color
+ Android.Graphics.Color
+
+
+ fromNode
+ fromChannel
+ payloadType
+ payload
+
diff --git a/tests/BindingTests/Xamarin.Android.BindingRuntime-Tests/Xamarin.Android.BindingRuntime-Tests.csproj b/tests/BindingTests/Xamarin.Android.BindingRuntime-Tests/Xamarin.Android.BindingRuntime-Tests.csproj
new file mode 100644
index 00000000000..96e5ddc8196
--- /dev/null
+++ b/tests/BindingTests/Xamarin.Android.BindingRuntime-Tests/Xamarin.Android.BindingRuntime-Tests.csproj
@@ -0,0 +1,72 @@
+
+
+
+ $(DotNetAndroidTargetFramework)
+ 24
+ Exe
+ enable
+ enable
+ Xamarin.Android.BindingRuntime_Tests
+ 1
+ 1.0
+ Xamarin.Android.BindingRuntime_Tests
+
+
+
+
+
+ ..\..\..\bin\Test$(Configuration)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ <_PackageName>$(ApplicationId)
+
+
+
+ True
+
+
+
+
+ $(ApplicationId)
+ $(MSBuildThisFileDirectory)..\..\..\build-tools\scripts\TimingDefinitions.txt
+ $(MSBuildThisFileDirectory)..\..\..\TestResult-Xamarin.Android.BindingRuntime_Tests-times.csv
+
+
+
+
+
+ $(ApplicationId)
+ $(OutputPath)TestResult-Xamarin.Android.BindingRuntime_Tests.xml
+
+
+
+ $(ApplicationId)
+
+
+
+ $(ApplicationId)
+
+
+
+
+
+
\ No newline at end of file
diff --git a/tests/CodeGen-Binding/Xamarin.Android.JcwGen-Tests/.gitignore b/tests/CodeGen-Binding/Xamarin.Android.JcwGen-Tests/.gitignore
deleted file mode 100644
index a93e887bab1..00000000000
--- a/tests/CodeGen-Binding/Xamarin.Android.JcwGen-Tests/.gitignore
+++ /dev/null
@@ -1 +0,0 @@
-libs
diff --git a/tests/CodeGen-Binding/Xamarin.Android.JcwGen-Tests/Assets/AboutAssets.txt b/tests/CodeGen-Binding/Xamarin.Android.JcwGen-Tests/Assets/AboutAssets.txt
deleted file mode 100644
index a9b0638eb1b..00000000000
--- a/tests/CodeGen-Binding/Xamarin.Android.JcwGen-Tests/Assets/AboutAssets.txt
+++ /dev/null
@@ -1,19 +0,0 @@
-Any raw assets you want to be deployed with your application can be placed in
-this directory (and child directories) and given a Build Action of "AndroidAsset".
-
-These files will be deployed with your package and will be accessible using Android's
-AssetManager, like this:
-
-public class ReadAsset : Activity
-{
- protected override void OnCreate (Bundle bundle)
- {
- base.OnCreate (bundle);
-
- InputStream input = Assets.Open ("my_asset.txt");
- }
-}
-
-Additionally, some Android functions will automatically load asset files:
-
-Typeface tf = Typeface.CreateFromAsset (Context.Assets, "fonts/samplefont.ttf");
diff --git a/tests/CodeGen-Binding/Xamarin.Android.JcwGen-Tests/Environment.txt b/tests/CodeGen-Binding/Xamarin.Android.JcwGen-Tests/Environment.txt
deleted file mode 100644
index e69de29bb2d..00000000000
diff --git a/tests/CodeGen-Binding/Xamarin.Android.JcwGen-Tests/MainActivity.cs b/tests/CodeGen-Binding/Xamarin.Android.JcwGen-Tests/MainActivity.cs
deleted file mode 100644
index afe55167d79..00000000000
--- a/tests/CodeGen-Binding/Xamarin.Android.JcwGen-Tests/MainActivity.cs
+++ /dev/null
@@ -1,23 +0,0 @@
-using System.Reflection;
-using Android.App;
-using Android.OS;
-using Xamarin.Android.NUnitLite;
-
-namespace Xamarin.Android.JcwGenTests {
-
- [Activity (Label = "Xamarin.Android.JcwGen-Tests", MainLauncher = true)]
- public class MainActivity : TestSuiteActivity
- {
- protected override void OnCreate (Bundle bundle)
- {
- // tests can be inside the main assembly
- AddTest (Assembly.GetExecutingAssembly ());
- // or in any reference assemblies
- // AddTest (typeof (Your.Library.TestClass).Assembly);
-
- // Once you called base.OnCreate(), you cannot add more assemblies.
- base.OnCreate (bundle);
- }
- }
-}
-
diff --git a/tests/CodeGen-Binding/Xamarin.Android.JcwGen-Tests/Properties/AndroidManifest.xml b/tests/CodeGen-Binding/Xamarin.Android.JcwGen-Tests/Properties/AndroidManifest.xml
deleted file mode 100644
index 2bc34cf316f..00000000000
--- a/tests/CodeGen-Binding/Xamarin.Android.JcwGen-Tests/Properties/AndroidManifest.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-
-
-
-
-
-
-
-
diff --git a/tests/CodeGen-Binding/Xamarin.Android.JcwGen-Tests/Properties/AssemblyInfo.cs b/tests/CodeGen-Binding/Xamarin.Android.JcwGen-Tests/Properties/AssemblyInfo.cs
deleted file mode 100644
index 2c8c274cd2b..00000000000
--- a/tests/CodeGen-Binding/Xamarin.Android.JcwGen-Tests/Properties/AssemblyInfo.cs
+++ /dev/null
@@ -1,28 +0,0 @@
-using System.Reflection;
-using System.Runtime.CompilerServices;
-using Android.App;
-
-// Information about this assembly is defined by the following attributes.
-// Change them to the values specific to your project.
-
-[assembly: AssemblyTitle("Xamarin.Android.Generation-Tests")]
-[assembly: AssemblyDescription("")]
-[assembly: AssemblyConfiguration("")]
-[assembly: AssemblyCompany("")]
-[assembly: AssemblyProduct("")]
-[assembly: AssemblyCopyright("jon")]
-[assembly: AssemblyTrademark("")]
-[assembly: AssemblyCulture("")]
-
-// The assembly version has the format "{Major}.{Minor}.{Build}.{Revision}".
-// The form "{Major}.{Minor}.*" will automatically update the build and revision,
-// and "{Major}.{Minor}.{Build}.*" will update just the revision.
-
-[assembly: AssemblyVersion("1.0.0")]
-
-// The following attributes are used to specify the signing key for the assembly,
-// if desired. See the Mono documentation for more information about signing.
-
-//[assembly: AssemblyDelaySign(false)]
-//[assembly: AssemblyKeyFile("")]
-
diff --git a/tests/CodeGen-Binding/Xamarin.Android.JcwGen-Tests/Resources/AboutResources.txt b/tests/CodeGen-Binding/Xamarin.Android.JcwGen-Tests/Resources/AboutResources.txt
deleted file mode 100644
index 10f52d46021..00000000000
--- a/tests/CodeGen-Binding/Xamarin.Android.JcwGen-Tests/Resources/AboutResources.txt
+++ /dev/null
@@ -1,44 +0,0 @@
-Images, layout descriptions, binary blobs and string dictionaries can be included
-in your application as resource files. Various Android APIs are designed to
-operate on the resource IDs instead of dealing with images, strings or binary blobs
-directly.
-
-For example, a sample Android app that contains a user interface layout (main.axml),
-an internationalization string table (strings.xml) and some icons (drawable-XXX/icon.png)
-would keep its resources in the "Resources" directory of the application:
-
-Resources/
- drawable/
- icon.png
-
- layout/
- main.axml
-
- values/
- strings.xml
-
-In order to get the build system to recognize Android resources, set the build action to
-"AndroidResource". The native Android APIs do not operate directly with filenames, but
-instead operate on resource IDs. When you compile an Android application that uses resources,
-the build system will package the resources for distribution and generate a class called "R"
-(this is an Android convention) that contains the tokens for each one of the resources
-included. For example, for the above Resources layout, this is what the R class would expose:
-
-public class R {
- public class drawable {
- public const int icon = 0x123;
- }
-
- public class layout {
- public const int main = 0x456;
- }
-
- public class strings {
- public const int first_string = 0xabc;
- public const int second_string = 0xbcd;
- }
-}
-
-You would then use R.drawable.icon to reference the drawable/icon.png file, or R.layout.main
-to reference the layout/main.axml file, or R.strings.first_string to reference the first
-string in the dictionary file values/strings.xml.
diff --git a/tests/CodeGen-Binding/Xamarin.Android.JcwGen-Tests/Resources/drawable/Icon.png b/tests/CodeGen-Binding/Xamarin.Android.JcwGen-Tests/Resources/drawable/Icon.png
deleted file mode 100644
index a07c69fa5a0..00000000000
Binary files a/tests/CodeGen-Binding/Xamarin.Android.JcwGen-Tests/Resources/drawable/Icon.png and /dev/null differ
diff --git a/tests/CodeGen-Binding/Xamarin.Android.JcwGen-Tests/TimingTests.cs b/tests/CodeGen-Binding/Xamarin.Android.JcwGen-Tests/TimingTests.cs
deleted file mode 100644
index 7f165bc2299..00000000000
--- a/tests/CodeGen-Binding/Xamarin.Android.JcwGen-Tests/TimingTests.cs
+++ /dev/null
@@ -1,489 +0,0 @@
-using System;
-using System.Diagnostics;
-using System.Globalization;
-using System.Runtime.CompilerServices;
-using System.Runtime.InteropServices;
-
-using NUnit.Framework;
-
-using Android.Runtime;
-
-namespace Xamarin.Android.JcwGenTests {
-
- [TestFixture]
- public class TimingTests {
-
- [DllImport ("timing")]
- static extern void foo_void_timing ();
-
- [DllImport ("timing")]
- static extern int foo_int_timing ();
-
- [DllImport ("timing")]
- static extern IntPtr foo_ptr_timing ();
-
- [DllImport ("timing")]
- static extern void foo_init (IntPtr env);
-
- [DllImport ("timing")]
- static extern void foo_get_native_jni_timings (IntPtr env, int count, IntPtr klass, IntPtr self, long[] jniTimes);
-
- struct FooMethods {
- public IntPtr instance_void;
- public IntPtr instance_int;
- public IntPtr instance_ptr;
-
- public IntPtr void_1_args;
- public IntPtr void_2_args;
- public IntPtr void_3_args;
-
- public IntPtr void_1_iargs;
- public IntPtr void_2_iargs;
- public IntPtr void_3_iargs;
- }
-
- [DllImport ("timing")]
- static extern void foo_get_methods (out FooMethods methods);
-
-
- delegate void DV ();
- delegate int DI ();
- delegate IntPtr DP ();
-
- delegate void DV1A (IntPtr obj1);
- delegate void DV2A (IntPtr obj1, IntPtr obj2);
- delegate void DV3A (IntPtr obj1, IntPtr obj2, IntPtr obj3);
-
- delegate void DV1AI (int i1);
- delegate void DV2AI (int i1, int i2);
- delegate void DV3AI (int i1, int i2, int i3);
-
- [Test]
- public void MethodTiming ()
- {
- FooMethods pinvoke_methods;
- foo_get_methods (out pinvoke_methods);
-
- DV p_instance_void = (DV) Marshal.GetDelegateForFunctionPointer (pinvoke_methods.instance_void, typeof (DV));
- DI p_instance_int = (DI) Marshal.GetDelegateForFunctionPointer (pinvoke_methods.instance_int, typeof (DI));
- DP p_instance_ptr = (DP) Marshal.GetDelegateForFunctionPointer (pinvoke_methods.instance_ptr, typeof (DP));
-
- DV1A p_void_1a = (DV1A) Marshal.GetDelegateForFunctionPointer (pinvoke_methods.void_1_args, typeof (DV1A));
- DV2A p_void_2a = (DV2A) Marshal.GetDelegateForFunctionPointer (pinvoke_methods.void_2_args, typeof (DV2A));
- DV3A p_void_3a = (DV3A) Marshal.GetDelegateForFunctionPointer (pinvoke_methods.void_3_args, typeof (DV3A));
-
- DV1AI p_void_1ai = (DV1AI) Marshal.GetDelegateForFunctionPointer (pinvoke_methods.void_1_iargs, typeof (DV1AI));
- DV2AI p_void_2ai = (DV2AI) Marshal.GetDelegateForFunctionPointer (pinvoke_methods.void_2_iargs, typeof (DV2AI));
- DV3AI p_void_3ai = (DV3AI) Marshal.GetDelegateForFunctionPointer (pinvoke_methods.void_3_iargs, typeof (DV3AI));
-
- IntPtr obj_class = JNIEnv.FindClass ("java/lang/Object");
- IntPtr obj_init = JNIEnv.GetMethodID (obj_class, "", "()V");
-
- var ownership = JniHandleOwnership.DoNotTransfer;
-
- Java.Lang.Object jobj1 = new Java.Lang.Object (JNIEnv.NewObject (obj_class, obj_init), ownership),
- jobj2 = new Java.Lang.Object (JNIEnv.NewObject (obj_class, obj_init), ownership),
- jobj3 = new Java.Lang.Object (JNIEnv.NewObject (obj_class, obj_init), ownership);
-
- SomeClass obj1 = new SomeClass (),
- obj2 = new SomeClass (),
- obj3 = new SomeClass ();
-
- var j = new Com.Xamarin.Android.Timing ();
- var m = new ManagedTiming ();
- var comparisons = new[]{
- new {
- Name = "static void",
- Jni = A (() => Com.Xamarin.Android.Timing.StaticVoidMethod ()),
- Managed = A (() => ManagedTiming.StaticVoidMethod ()),
- Pinvoke = A (() => foo_void_timing ()),
- },
- new {
- Name = "static int",
- Jni = A (() => Com.Xamarin.Android.Timing.StaticIntMethod ()),
- Managed = A (() => ManagedTiming.StaticIntMethod ()),
- Pinvoke = A (() => foo_int_timing ()),
- },
- new {
- Name = "static object",
- Jni = A (() => Com.Xamarin.Android.Timing.StaticObjectMethod ()),
- Managed = A (() => ManagedTiming.StaticObjectMethod ()),
- Pinvoke = A (() => foo_ptr_timing ()),
- },
- new {
- Name = "virtual void",
- Jni = A (() => j.VirtualVoidMethod ()),
- Managed = A (() => m.VirtualVoidMethod ()),
- Pinvoke = A (() => p_instance_void ()),
- },
- new {
- Name = "virtual int",
- Jni = A (() => j.VirtualIntMethod ()),
- Managed = A (() => m.VirtualIntMethod ()),
- Pinvoke = A (() => p_instance_int ()),
- },
- new {
- Name = "virtual object",
- Jni = A (() => j.VirtualObjectMethod ()),
- Managed = A (() => m.VirtualObjectMethod ()),
- Pinvoke = A (() => p_instance_ptr ()),
- },
- new {
- Name = "final void",
- Jni = A (() => j.FinalVoidMethod ()),
- Managed = A (() => m.FinalVoidMethod ()),
- Pinvoke = A (null),
- },
- new {
- Name = "final int",
- Jni = A (() => j.FinalIntMethod ()),
- Managed = A (() => m.FinalIntMethod ()),
- Pinvoke = A (null),
- },
- new {
- Name = "final object",
- Jni = A (() => j.FinalObjectMethod ()),
- Managed = A (() => m.FinalObjectMethod ()),
- Pinvoke = A (null),
- },
- new {
- Name = "static void o1",
- Jni = A (() => Com.Xamarin.Android.Timing.StaticVoidMethod1Args (jobj1)),
- Managed = A (() => ManagedTiming.StaticVoidMethod1Args (obj1)),
- Pinvoke = A (() => {
- // We include timing of the GCHandle manipulation since
- // a JNI invocation has to do similar work, and pinning
- // is usually always needed for P/Invokes.
- GCHandle h1 = GCHandle.Alloc (obj1, GCHandleType.Pinned);
- IntPtr addr1 = h1.AddrOfPinnedObject ();
-
- p_void_1a (addr1);
-
- h1.Free ();
- }),
- },
- new {
- Name = "static void o2",
- Jni = A (() => Com.Xamarin.Android.Timing.StaticVoidMethod2Args (jobj1, jobj2)),
- Managed = A (() => ManagedTiming.StaticVoidMethod2Args (obj1, obj2)),
- Pinvoke = A (() => {
- GCHandle h1 = GCHandle.Alloc (obj1, GCHandleType.Pinned),
- h2 = GCHandle.Alloc (obj2, GCHandleType.Pinned);
- IntPtr addr1 = h1.AddrOfPinnedObject (),
- addr2 = h2.AddrOfPinnedObject ();
-
- p_void_2a (addr1, addr2);
-
- h1.Free ();
- h2.Free ();
- }),
- },
- new {
- Name = "static void o3",
- Jni = A (() => Com.Xamarin.Android.Timing.StaticVoidMethod3Args (jobj1, jobj2, jobj3)),
- Managed = A (() => ManagedTiming.StaticVoidMethod3Args (obj1, obj2, obj3)),
- Pinvoke = A (() => {
- GCHandle h1 = GCHandle.Alloc (obj1, GCHandleType.Pinned),
- h2 = GCHandle.Alloc (obj2, GCHandleType.Pinned),
- h3 = GCHandle.Alloc (obj3, GCHandleType.Pinned);
- IntPtr addr1 = h1.AddrOfPinnedObject (),
- addr2 = h2.AddrOfPinnedObject (),
- addr3 = h3.AddrOfPinnedObject ();
-
- p_void_3a (addr1, addr2, addr3);
-
- h1.Free ();
- h2.Free ();
- h3.Free ();
- }),
- },
- new {
- Name = "static void i1",
- Jni = A (() => Com.Xamarin.Android.Timing.StaticVoidMethod1IArgs (42)),
- Managed = A (() => ManagedTiming.StaticVoidMethod1IArgs (42)),
- Pinvoke = A (() => p_void_1ai (42)),
- },
- new {
- Name = "static void i2",
- Jni = A (() => Com.Xamarin.Android.Timing.StaticVoidMethod2IArgs (42, 42)),
- Managed = A (() => ManagedTiming.StaticVoidMethod2IArgs (42, 42)),
- Pinvoke = A (() => p_void_2ai (42, 42)),
- },
- new {
- Name = "static void i3",
- Jni = A (() => Com.Xamarin.Android.Timing.StaticVoidMethod3IArgs (42, 42, 42)),
- Managed = A (() => ManagedTiming.StaticVoidMethod3IArgs (42, 42, 42)),
- Pinvoke = A (() => p_void_3ai (42, 42, 42)),
- },
- };
-
- const int count = 100000;
-
- foo_init (JNIEnv.Handle);
-
- var jniTimes = new long [comparisons.Length];
- foo_get_native_jni_timings (JNIEnv.Handle, count, j.Class.Handle, j.Handle, jniTimes);
-
- int jniTimeIndex = 0;
- foreach (var c in comparisons) {
- var jw = System.Diagnostics.Stopwatch.StartNew ();
- for (int i = 0; i < count; ++i)
- c.Jni ();
- jw.Stop ();
-
- var mw = System.Diagnostics.Stopwatch.StartNew ();
- for (int i = 0; i < count; ++i)
- c.Managed ();
- mw.Stop ();
-
- System.Diagnostics.Stopwatch pw = null;
- if (c.Pinvoke != null) {
- pw = System.Diagnostics.Stopwatch.StartNew ();
- for (int i = 0; i < count; ++i)
- c.Pinvoke ();
- pw.Stop ();
- }
-
- string message = string.Format ("Method Invoke: {0}: JNI is {1}x managed",
- c.Name, System.Math.Round (jw.Elapsed.TotalMilliseconds / mw.Elapsed.TotalMilliseconds));
- Console.WriteLine (message);
-
- var ct = TimeSpan.FromMilliseconds (jniTimes [jniTimeIndex++]);
- Console.WriteLine ("\t C/JNI: {0} ms | average: {1} ms",
- FormatFraction (ct.TotalMilliseconds, 10, 5),
- FormatFraction (ct.TotalMilliseconds / count, 12, 5));
- Console.WriteLine ("\t JNI: {0} ms; {1,3}x C/JNI | average: {2} ms",
- FormatFraction (jw.Elapsed.TotalMilliseconds, 10, 5),
- ToString (jw.Elapsed, ct),
- FormatFraction (jw.Elapsed.TotalMilliseconds / count, 12, 5));
- Console.WriteLine ("\tManaged: {0} ms | average: {1} ms",
- FormatFraction (mw.Elapsed.TotalMilliseconds, 10, 5),
- FormatFraction (mw.Elapsed.TotalMilliseconds / count, 12, 5));
- if (pw != null)
- Console.WriteLine ("\tPinvoke: {0} ms; {1,3}x managed | average: {2} ms",
- FormatFraction (pw.Elapsed.TotalMilliseconds, 10, 5),
- ToString (pw.Elapsed, mw.Elapsed),
- FormatFraction (pw.Elapsed.TotalMilliseconds / count, 12, 5));
- }
- }
-
- static Action A (Action a)
- {
- return a;
- }
-
- static string FormatFraction (double value, int width, int fractionWidth)
- {
- var v = value.ToString ("0.0" + new string ('#', fractionWidth - 1));
- var i = v.IndexOf (NumberFormatInfo.CurrentInfo.NumberDecimalSeparator);
- var p = new string (' ', width - fractionWidth - i - 1);
- return p + v + new string (' ', width - p.Length - v.Length);
- }
-
- static string ToString (TimeSpan numerator, TimeSpan denominator)
- {
- if (System.Math.Abs (denominator.TotalMilliseconds) > double.Epsilon)
- return System.Math.Round (numerator.TotalMilliseconds / denominator.TotalMilliseconds).ToString ();
- return " ∞ ";
- }
- }
-
- class ManagedTiming {
-
- [MethodImpl (MethodImplOptions.NoInlining)]
- public static void StaticVoidMethod ()
- {
- }
-
- [MethodImpl (MethodImplOptions.NoInlining)]
- public static int StaticIntMethod ()
- {
- return 0;
- }
-
- [MethodImpl (MethodImplOptions.NoInlining)]
- public static Object StaticObjectMethod ()
- {
- return null;
- }
-
- [MethodImpl (MethodImplOptions.NoInlining)]
- public virtual void VirtualVoidMethod ()
- {
- }
-
- [MethodImpl (MethodImplOptions.NoInlining)]
- public virtual int VirtualIntMethod ()
- {
- return 0;
- }
-
- [MethodImpl (MethodImplOptions.NoInlining)]
- public virtual object VirtualObjectMethod ()
- {
- return null;
- }
-
- [MethodImpl (MethodImplOptions.NoInlining)]
- public void FinalVoidMethod ()
- {
- }
-
- [MethodImpl (MethodImplOptions.NoInlining)]
- public int FinalIntMethod ()
- {
- return 0;
- }
-
- [MethodImpl (MethodImplOptions.NoInlining)]
- public Object FinalObjectMethod ()
- {
- return null;
- }
-
- [MethodImpl (MethodImplOptions.NoInlining)]
- public static void StaticVoidMethod1Args (object obj1)
- {
- }
-
- [MethodImpl (MethodImplOptions.NoInlining)]
- public static void StaticVoidMethod2Args (object obj1, object obj2)
- {
- }
-
- [MethodImpl (MethodImplOptions.NoInlining)]
- public static void StaticVoidMethod3Args (object obj1, object obj2, object obj3)
- {
- }
-
- [MethodImpl (MethodImplOptions.NoInlining)]
- public static void StaticVoidMethod1IArgs(int i1)
- {
- }
-
- [MethodImpl (MethodImplOptions.NoInlining)]
- public static void StaticVoidMethod2IArgs(int i1, int i2)
- {
- }
-
- [MethodImpl (MethodImplOptions.NoInlining)]
- public static void StaticVoidMethod3IArgs(int i1, int i2, int i3)
- {
- }
- }
-
- [StructLayout (LayoutKind.Sequential)]
- class SomeClass {
- }
-
- [TestFixture]
- class JniMethodLookupOverheadTiming {
-
- [Test]
- public void MethodLookupTiming ()
- {
- const int count = 100000;
-
- var total = Stopwatch.StartNew ();
-
- using (var o = new Com.Xamarin.Android.Timing ()) {
- var tt = Stopwatch.StartNew ();
- for (int i = 0; i < count; ++i) {
- o.VirtualVoidMethod_Timing_Traditional ();
- }
- tt.Stop ();
-
- var tx = Stopwatch.StartNew ();
- for (int i = 0; i < count; ++i) {
- o.VirtualVoidMethod_Timing_TraditionalWithCaching ();
- }
- tx.Stop ();
-
- var ta = Stopwatch.StartNew ();
- for (int i = 0; i < count; ++i) {
- o.VirtualVoidMethod_Timing_NoCache ();
- }
- ta.Stop ();
-
- var td = Stopwatch.StartNew ();
- for (int i = 0; i < count; ++i) {
- o.VirtualVoidMethod_Timing_DictWithLock ();;
- }
- td.Stop ();
-
- var tc = Stopwatch.StartNew ();
- for (int i = 0; i < count; ++i) {
- o.VirtualVoidMethod_Timing_ConcurrentDict ();
- }
- tc.Stop ();
-
- var tp = Stopwatch.StartNew ();
- for (int i = 0; i < count; ++i) {
- o.VirtualVoidMethod_Timing_JniPeerMembers ();
- }
- tp.Stop ();
-
-
- var vtt = Stopwatch.StartNew ();
- for (int i = 0; i < count; ++i) {
- o.VirtualVoidMethod_Timing_Traditional ();
- }
- vtt.Stop ();
-
- var vtx = Stopwatch.StartNew ();
- for (int i = 0; i < count; ++i) {
- o.VirtualVoidMethod_Timing_TraditionalWithCaching ();
- }
- vtx.Stop ();
-
- var vti = Stopwatch.StartNew ();
- for (int i = 0; i < count; ++i) {
- o.VirtualVoidMethod_Timing_JniPeerMembers ();
- }
- vti.Stop ();
-
-
- Console.WriteLine ("Method Lookup + Invoke Timing:");
- Console.WriteLine ("\t Traditional: {0}", tt.Elapsed);
- Console.WriteLine ("\t Traditional-N: {0}", tx.Elapsed);
- Console.WriteLine ("\t No caching: {0}", ta.Elapsed);
- Console.WriteLine ("\t Dict w/ lock: {0}", td.Elapsed);
- Console.WriteLine ("\tConcurrentDict: {0}", tc.Elapsed);
- Console.WriteLine ("\tJniPeerMembers: {0}", tp.Elapsed);
- Console.WriteLine ();
- Console.WriteLine ("\t ()V virtual+traditional: {0}", vtt.Elapsed);
- Console.WriteLine ("\t ()V virtual+traditional+nvc: {0}", vtx.Elapsed);
- Console.WriteLine ("\t ()V virtual+JniPeerMembers: {0}", vti.Elapsed);
- }
- using (var o = new DerivedTiming ()) {
- var ntt = Stopwatch.StartNew ();
- for (int i = 0; i < count; ++i) {
- o.VirtualVoidMethod_Timing_Traditional ();
- }
- ntt.Stop ();
-
- var ntx = Stopwatch.StartNew ();
- for (int i = 0; i < count; ++i) {
- o.VirtualVoidMethod_Timing_TraditionalWithCaching ();
- }
- ntx.Stop ();
-
- var nti = Stopwatch.StartNew ();
- for (int i = 0; i < count; ++i) {
- o.VirtualVoidMethod_Timing_JniPeerMembers ();
- }
- nti.Stop ();
- Console.WriteLine ("\t ()V nonvirtual+traditional: {0}", ntt.Elapsed);
- Console.WriteLine ("\t()V nonvirtual+traditional+nvc: {0}", ntx.Elapsed);
- Console.WriteLine ("\t ()V nonvirtual+JniPeerMembers: {0}", nti.Elapsed);
- }
-
- total.Stop ();
- Console.WriteLine ("## {0} Timing: {1}", "MethodLookupTiming", total.Elapsed);
- }
- }
-
- class DerivedTiming : Com.Xamarin.Android.Timing {
- }
-}
-
diff --git a/tests/CodeGen-Binding/Xamarin.Android.JcwGen-Tests/TypeWithUnicodeCharacters.cs b/tests/CodeGen-Binding/Xamarin.Android.JcwGen-Tests/TypeWithUnicodeCharacters.cs
deleted file mode 100644
index 3dbc94fbd47..00000000000
--- a/tests/CodeGen-Binding/Xamarin.Android.JcwGen-Tests/TypeWithUnicodeCharacters.cs
+++ /dev/null
@@ -1,8 +0,0 @@
-using System;
-
-namespace Xamarin.Android.JcwGenTests {
-
- public class HélloÊncodingIssues : Java.Lang.Object {
- }
-}
-
diff --git a/tests/CodeGen-Binding/Xamarin.Android.JcwGen-Tests/Xamarin.Android.JcwGen-Tests.csproj b/tests/CodeGen-Binding/Xamarin.Android.JcwGen-Tests/Xamarin.Android.JcwGen-Tests.csproj
deleted file mode 100644
index fd978a0bca4..00000000000
--- a/tests/CodeGen-Binding/Xamarin.Android.JcwGen-Tests/Xamarin.Android.JcwGen-Tests.csproj
+++ /dev/null
@@ -1,117 +0,0 @@
-
-
-
- Debug
- AnyCPU
- 10.0.0
- 2.0
- {9479B71F-19FE-48F9-AB3F-AE764D76038A}
- {EFBA0AD7-5A72-4C68-AF49-83D382785DCF};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}
- Library
- Xamarin.Android.JcwGenTests
- True
- Resources\Resource.designer.cs
- Resource
- Resources
- Assets
- Xamarin.Android.JcwGen-Tests
- Properties\AndroidManifest.xml
- armeabi-v7a;x86
-
-
-
- $(AndroidFrameworkVersion)
-
-
- true
- false
- ..\..\..\bin\TestDebug
- DEBUG;
- prompt
- 4
- None
- false
- true
-
-
- true
- ..\..\..\bin\TestRelease
- prompt
- 4
- false
- true
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- BuildNativeLibs;
- $(BuildDependsOn)
-
-
-
-
-
-
-
-
-
-
- $(CleanDependsOn);
- CleanLocal;
-
-
-
-
- Jars\Cursor.jar
-
-
-
-
- {7B9D9F32-973F-49CF-A8F8-05BDFC75556C}
- Xamarin.Android.FixJavaAbstractMethod-APIv2Binding
-
-
- {B7476528-C166-40BF-931F-EAEB02247879}
- Xamarin.Android.FixJavaAbstractMethod-Library
-
-
- {9553ED9D-92EA-411B-ADFF-21C5608CCD16}
- Xamarin.Android.LibraryProjectZip-LibBinding
-
-
- {EF798EB3-D639-4E09-9DB0-233E67F727B0}
- Xamarin.Android.McwGen-Tests
-
-
-
diff --git a/tests/CodeGen-Binding/Xamarin.Android.JcwGen-Tests/Xamarin.Android.JcwGen-Tests.projitems b/tests/CodeGen-Binding/Xamarin.Android.JcwGen-Tests/Xamarin.Android.JcwGen-Tests.projitems
deleted file mode 100644
index cdc23f9f212..00000000000
--- a/tests/CodeGen-Binding/Xamarin.Android.JcwGen-Tests/Xamarin.Android.JcwGen-Tests.projitems
+++ /dev/null
@@ -1,29 +0,0 @@
-
-
-
- <_PackageName>Xamarin.Android.JcwGen_Tests
-
-
-
-
- Xamarin.Android.JcwGen_Tests
- $(MSBuildThisFileDirectory)..\..\..\build-tools\scripts\TimingDefinitions.txt
- $(MSBuildThisFileDirectory)..\..\..\TestResult-Xamarin.Android.JcwGen_Tests-times.csv
-
-
-
-
-
- Xamarin.Android.JcwGen_Tests
- $(OutputPath)TestResult-Xamarin.Android.JcwGen_Tests.xml
-
-
-
- Xamarin.Android.JcwGen_Tests
-
-
-
- Xamarin.Android.JcwGen_Tests
-
-
-
diff --git a/tests/CodeGen-Binding/Xamarin.Android.JcwGen-Tests/Xamarin.Android.JcwGen-Tests.targets b/tests/CodeGen-Binding/Xamarin.Android.JcwGen-Tests/Xamarin.Android.JcwGen-Tests.targets
deleted file mode 100644
index 958d357096b..00000000000
--- a/tests/CodeGen-Binding/Xamarin.Android.JcwGen-Tests/Xamarin.Android.JcwGen-Tests.targets
+++ /dev/null
@@ -1,22 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/tests/CodeGen-Binding/Xamarin.Android.JcwGen-Tests/jni/Android.mk b/tests/CodeGen-Binding/Xamarin.Android.JcwGen-Tests/jni/Android.mk
deleted file mode 100644
index e8b34a97800..00000000000
--- a/tests/CodeGen-Binding/Xamarin.Android.JcwGen-Tests/jni/Android.mk
+++ /dev/null
@@ -1,11 +0,0 @@
-LOCAL_PATH := $(call my-dir)
-
-include $(CLEAR_VARS)
-
-LOCAL_CFLAGS := -g -DPLATFORM_ANDROID=1
-LOCAL_LDLIBS := -llog
-LOCAL_MODULE := timing
-LOCAL_SRC_FILES := timing.c
-
-include $(BUILD_SHARED_LIBRARY)
-
diff --git a/tests/CodeGen-Binding/Xamarin.Android.JcwGen-Tests/jni/Application.mk b/tests/CodeGen-Binding/Xamarin.Android.JcwGen-Tests/jni/Application.mk
deleted file mode 100644
index 729645b114c..00000000000
--- a/tests/CodeGen-Binding/Xamarin.Android.JcwGen-Tests/jni/Application.mk
+++ /dev/null
@@ -1,2 +0,0 @@
-# Build both ARMv5TE and ARMv7-A machine code.
-APP_ABI := arm64-v8a armeabi-v7a x86 x86_64
diff --git a/tests/CodeGen-Binding/Xamarin.Android.JcwGen-Tests/jni/timing.c b/tests/CodeGen-Binding/Xamarin.Android.JcwGen-Tests/jni/timing.c
deleted file mode 100644
index ea0c9d46797..00000000000
--- a/tests/CodeGen-Binding/Xamarin.Android.JcwGen-Tests/jni/timing.c
+++ /dev/null
@@ -1,366 +0,0 @@
-#include
-#include
-#include
-
-#ifdef PLATFORM_ANDROID
-#include
-#endif /* def PLATFORM_ANDROID */
-
-static void
-_log (const char *format, ...)
-{
- va_list args;
- va_start (args, format);
-#ifdef PLATFORM_ANDROID
- __android_log_vprint (ANDROID_LOG_INFO, "*monodroid*", format, args);
-#else /* def PLATFORM_ANDROID */
- vprintf (format, args);
-#endif /* !def PLATFORM_ANDROID */
- va_end (args);
-}
-
-void
-foo_void_timing (void)
-{
-}
-
-int
-foo_int_timing (void)
-{
- return 0;
-}
-
-void*
-foo_ptr_timing (void)
-{
- return 0;
-}
-
-void
-foo_void_a1_timing (void *obj1)
-{
-}
-
-void
-foo_void_a2_timing (void *obj1, void *obj2)
-{
-}
-
-void
-foo_void_a3_timing (void *obj1, void *obj2, void *obj3)
-{
-}
-
-void
-foo_void_ai1_timing (int i1)
-{
-}
-
-void
-foo_void_ai2_timing (int i1, int i2)
-{
-}
-
-void
-foo_void_ai3_timing (int i1, int i2, int i3)
-{
-}
-
-struct FooMethods {
- void (*instance_void)(void);
- int (*instance_int)(void);
- void* (*instance_ptr)(void);
-
- void (*void_1_args)(void *);
- void (*void_2_args)(void *, void *);
- void (*void_3_args)(void *, void *, void *);
-
- void (*void_1_iargs)(int);
- void (*void_2_iargs)(int, int);
- void (*void_3_iargs)(int, int, int);
-};
-
-void
-foo_get_methods (struct FooMethods* methods)
-{
- methods->instance_void = foo_void_timing;
- methods->instance_int = foo_int_timing;
- methods->instance_ptr = foo_ptr_timing;
-
- methods->void_1_args = foo_void_a1_timing;
- methods->void_2_args = foo_void_a2_timing;
- methods->void_3_args = foo_void_a3_timing;
-
- methods->void_1_iargs = foo_void_ai1_timing;
- methods->void_2_iargs = foo_void_ai2_timing;
- methods->void_3_iargs = foo_void_ai3_timing;
-}
-
-static jmethodID Timing_StaticVoidMethod;
-static jmethodID Timing_StaticIntMethod;
-static jmethodID Timing_StaticObjectMethod;
-
-static jmethodID Timing_VirtualVoidMethod;
-static jmethodID Timing_VirtualIntMethod;
-static jmethodID Timing_VirtualObjectMethod;
-
-static jmethodID Timing_FinalVoidMethod;
-static jmethodID Timing_FinalIntMethod;
-static jmethodID Timing_FinalObjectMethod;
-
-static jmethodID Timing_StaticVoidMethod1Args;
-static jmethodID Timing_StaticVoidMethod2Args;
-static jmethodID Timing_StaticVoidMethod3Args;
-
-static jmethodID Timing_StaticVoidMethod1IArgs;
-static jmethodID Timing_StaticVoidMethod2IArgs;
-static jmethodID Timing_StaticVoidMethod3IArgs;
-
-static jclass Object_class;
-static jmethodID Object_init;
-
-static void (*CallStaticVoidMethod)(JNIEnv*, jclass, jmethodID, ...);
-static int (*CallStaticIntMethod)(JNIEnv*, jclass, jmethodID, ...);
-static jobject (*CallStaticObjectMethod)(JNIEnv*, jclass, jmethodID, ...);
-
-static void (*CallVoidMethod)(JNIEnv*, jobject, jmethodID, ...);
-static int (*CallIntMethod)(JNIEnv*, jobject, jmethodID, ...);
-static jobject (*CallObjectMethod)(JNIEnv*, jobject, jmethodID, ...);
-
-static void (*CallNonvirtualVoidMethod)(JNIEnv*, jobject, jclass, jmethodID, ...);
-static int (*CallNonvirtualIntMethod)(JNIEnv*, jobject, jclass, jmethodID, ...);
-static jobject (*CallNonvirtualObjectMethod)(JNIEnv*, jobject, jclass, jmethodID, ...);
-
-void
-foo_init (JNIEnv *env)
-{
- jclass Timing, Object;
-
- __android_log_print (ANDROID_LOG_INFO, "*jonp*", "foo_init; env=%p", env);
-
- /* libbar.so loading test */
- if (!env)
- return;
-
- Timing = (*env)->FindClass (env, "com/xamarin/android/Timing");
- if (!Timing)
- return;
-
- Object = (*env)->FindClass (env, "java/lang/Object");
- if (!Object)
- return;
- Object_class = (*env)->NewGlobalRef (env, Object);
- (*env)->DeleteLocalRef (env, Object);
-
- Object_init = (*env)->GetMethodID (env, Object_class, "", "()V");
-
- CallStaticVoidMethod = (*env)->CallStaticVoidMethod;
- CallStaticIntMethod = (*env)->CallStaticIntMethod;
- CallStaticObjectMethod = (*env)->CallStaticObjectMethod;
-
- CallVoidMethod = (*env)->CallVoidMethod;
- CallIntMethod = (*env)->CallIntMethod;
- CallObjectMethod = (*env)->CallObjectMethod;
-
- CallNonvirtualVoidMethod = (*env)->CallNonvirtualVoidMethod;
- CallNonvirtualIntMethod = (*env)->CallNonvirtualIntMethod;
- CallNonvirtualObjectMethod = (*env)->CallNonvirtualObjectMethod;
-
- Timing_StaticVoidMethod = (*env)->GetStaticMethodID (env, Timing,
- "StaticVoidMethod", "()V");
- Timing_StaticIntMethod = (*env)->GetStaticMethodID (env, Timing,
- "StaticIntMethod", "()I");
- Timing_StaticObjectMethod = (*env)->GetStaticMethodID (env, Timing,
- "StaticObjectMethod", "()Ljava/lang/Object;");
-
- Timing_VirtualVoidMethod = (*env)->GetMethodID (env, Timing,
- "VirtualVoidMethod", "()V");
- Timing_VirtualIntMethod = (*env)->GetMethodID (env, Timing,
- "VirtualIntMethod", "()I");
- Timing_VirtualObjectMethod = (*env)->GetMethodID (env, Timing,
- "VirtualObjectMethod", "()Ljava/lang/Object;");
-
- Timing_FinalVoidMethod = (*env)->GetMethodID (env, Timing,
- "FinalVoidMethod", "()V");
- Timing_FinalIntMethod = (*env)->GetMethodID (env, Timing,
- "FinalIntMethod", "()I");
- Timing_FinalObjectMethod = (*env)->GetMethodID (env, Timing,
- "FinalObjectMethod", "()Ljava/lang/Object;");
-
- Timing_StaticVoidMethod1Args = (*env)->GetStaticMethodID (env, Timing,
- "StaticVoidMethod1Args", "(Ljava/lang/Object;)V");
- Timing_StaticVoidMethod2Args = (*env)->GetStaticMethodID (env, Timing,
- "StaticVoidMethod2Args", "(Ljava/lang/Object;Ljava/lang/Object;)V");
- Timing_StaticVoidMethod3Args = (*env)->GetStaticMethodID (env, Timing,
- "StaticVoidMethod3Args", "(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)V");
-
- Timing_StaticVoidMethod1IArgs = (*env)->GetStaticMethodID (env, Timing,
- "StaticVoidMethod1IArgs", "(I)V");
- Timing_StaticVoidMethod2IArgs = (*env)->GetStaticMethodID (env, Timing,
- "StaticVoidMethod2IArgs", "(II)V");
- Timing_StaticVoidMethod3IArgs = (*env)->GetStaticMethodID (env, Timing,
- "StaticVoidMethod3IArgs", "(III)V");
-
- (*env)->DeleteLocalRef (env, Timing);
-}
-
-static long long
-current_time_millis (void)
-{
- struct timeval tv;
-
- gettimeofday(&tv, (struct timezone *) NULL);
- long long when = tv.tv_sec * 1000LL + tv.tv_usec / 1000;
- return when;
-}
-
-void
-foo_get_native_jni_timings (JNIEnv *env, int count, jclass klass, jobject self, long long *jniTimes)
-{
- int i;
- long long start, end;
-
- jobject obj1 = (*env)->NewObject(env, Object_class, Object_init),
- obj2 = (*env)->NewObject(env, Object_class, Object_init),
- obj3 = (*env)->NewObject(env, Object_class, Object_init);
-
- start = current_time_millis ();
- for (i = 0; i < count; i++)
- (*env)->CallStaticVoidMethod (env, klass, Timing_StaticVoidMethod);
- end = current_time_millis ();
-
- jniTimes [0] = end - start;
- _log ("# NativeTiming: foo/timing: static void method invoke: %10lli ms | average: %10f ms\n",
- jniTimes [0], jniTimes [0] / (double) count);
-
- start = current_time_millis ();
- for (i = 0; i < count; i++)
- (*env)->CallStaticIntMethod (env, klass, Timing_StaticIntMethod);
- end = current_time_millis ();
-
- jniTimes [1] = end - start;
- _log ("# NativeTiming: foo/timing: static int method invoke: %10lli ms | average: %10f ms\n",
- jniTimes [1], jniTimes [1] / (double) count);
-
- start = current_time_millis ();
- for (i = 0; i < count; i++)
- (*env)->CallStaticObjectMethod (env, klass, Timing_StaticObjectMethod);
- end = current_time_millis ();
-
- jniTimes [2] = end - start;
- _log ("# NativeTiming: foo/timing: static Object method invoke: %10lli ms | average: %10f ms\n",
- jniTimes [2], jniTimes [2] / (double) count);
-
- start = current_time_millis ();
- for (i = 0; i < count; i++)
- (*env)->CallVoidMethod (env, self, Timing_VirtualVoidMethod);
- end = current_time_millis ();
-
- jniTimes [3] = end - start;
- _log ("# NativeTiming: foo/timing: virtual void method invoke: %10lli ms | average: %10f ms\n",
- jniTimes [3], jniTimes [3] / (double) count);
-
- start = current_time_millis ();
- for (i = 0; i < count; i++)
- (*env)->CallIntMethod (env, self, Timing_VirtualIntMethod);
- end = current_time_millis ();
-
- jniTimes [4] = end - start;
- _log ("# NativeTiming: foo/timing: virtual int method invoke: %10lli ms | average: %10f ms\n",
- jniTimes [4], jniTimes [4] / (double) count);
-
- start = current_time_millis ();
- for (i = 0; i < count; i++)
- (*env)->CallObjectMethod (env, self, Timing_VirtualObjectMethod);
- end = current_time_millis ();
-
- jniTimes [5] = end - start;
- _log ("# NativeTiming: foo/timing: virtual Object method invoke: %10lli ms | average: %10f ms\n",
- jniTimes [5], jniTimes [5] / (double) count);
-
- start = current_time_millis ();
- for (i = 0; i < count; i++)
- (*env)->CallNonvirtualVoidMethod (env, self, klass, Timing_FinalVoidMethod);
- end = current_time_millis ();
-
- jniTimes [6] = end - start;
- _log ("# NativeTiming: foo/timing: final void method invoke: %10lli ms | average: %10f ms\n",
- jniTimes [6], jniTimes [6] / (double) count);
-
- start = current_time_millis ();
- for (i = 0; i < count; i++)
- (*env)->CallNonvirtualIntMethod (env, self, klass, Timing_FinalIntMethod);
- end = current_time_millis ();
-
- jniTimes [7] = end - start;
- _log ("# NativeTiming: foo/timing: final int method invoke: %10lli ms | average: %10f ms\n",
- jniTimes [7], jniTimes [7] / (double) count);
-
- start = current_time_millis ();
- for (i = 0; i < count; i++)
- (*env)->CallNonvirtualObjectMethod (env, self, klass, Timing_FinalObjectMethod);
- end = current_time_millis ();
-
- jniTimes [8] = end - start;
- _log ("# NativeTiming: foo/timing: final Object method invoke: %10lli ms | average: %10f ms\n",
- jniTimes [8], jniTimes [8] / (double) count);
-
-
-
- start = current_time_millis ();
- for (i = 0; i < count; i++)
- (*env)->CallStaticVoidMethod (env, klass, Timing_StaticVoidMethod1Args, obj1);
- end = current_time_millis ();
-
- jniTimes [9] = end - start;
- _log ("# NativeTiming: foo/timing: static void o1 method invoke: %10lli ms | average: %10f ms\n",
- jniTimes [9], jniTimes [9] / (double) count);
-
- start = current_time_millis ();
- for (i = 0; i < count; i++)
- (*env)->CallStaticVoidMethod (env, klass, Timing_StaticVoidMethod2Args, obj1, obj2);
- end = current_time_millis ();
-
- jniTimes [10] = end - start;
- _log ("# NativeTiming: foo/timing: static void o2 method invoke: %10lli ms | average: %10f ms\n",
- jniTimes [10], jniTimes [10] / (double) count);
-
- start = current_time_millis ();
- for (i = 0; i < count; i++)
- (*env)->CallStaticVoidMethod (env, klass, Timing_StaticVoidMethod3Args, obj1, obj2, obj3);
- end = current_time_millis ();
-
- jniTimes [11] = end - start;
- _log ("# NativeTiming: foo/timing: static void o3 method invoke: %10lli ms | average: %10f ms\n",
- jniTimes [11], jniTimes [11] / (double) count);
-
-
-
- start = current_time_millis ();
- for (i = 0; i < count; i++)
- (*env)->CallStaticVoidMethod (env, klass, Timing_StaticVoidMethod1IArgs, 42);
- end = current_time_millis ();
-
- jniTimes [12] = end - start;
- _log ("# NativeTiming: foo/timing: static void i1 method invoke: %10lli ms | average: %10f ms\n",
- jniTimes [12], jniTimes [12] / (double) count);
-
- start = current_time_millis ();
- for (i = 0; i < count; i++)
- (*env)->CallStaticVoidMethod (env, klass, Timing_StaticVoidMethod2IArgs, 42, 42);
- end = current_time_millis ();
-
- jniTimes [13] = end - start;
- _log ("# NativeTiming: foo/timing: static void i2 method invoke: %10lli ms | average: %10f ms\n",
- jniTimes [13], jniTimes [13] / (double) count);
-
- start = current_time_millis ();
- for (i = 0; i < count; i++)
- (*env)->CallStaticVoidMethod (env, klass, Timing_StaticVoidMethod3IArgs, 42, 42, 42);
- end = current_time_millis ();
-
- jniTimes [14] = end - start;
- _log ("# NativeTiming: foo/timing: static void i3 method invoke: %10lli ms | average: %10f ms\n",
- jniTimes [14], jniTimes [14] / (double) count);
-}
-
diff --git a/tests/CodeGen-Binding/Xamarin.Android.McwGen-Tests/Additions/AboutAdditions.txt b/tests/CodeGen-Binding/Xamarin.Android.McwGen-Tests/Additions/AboutAdditions.txt
deleted file mode 100644
index e81129e5183..00000000000
--- a/tests/CodeGen-Binding/Xamarin.Android.McwGen-Tests/Additions/AboutAdditions.txt
+++ /dev/null
@@ -1,48 +0,0 @@
-Additions allow you to add arbitrary C# to the generated classes
-before they are compiled. This can be helpful for providing convenience
-methods or adding pure C# classes.
-
-== Adding Methods to Generated Classes ==
-
-Let's say the library being bound has a Rectangle class with a constructor
-that takes an x and y position, and a width and length size. It will look like
-this:
-
-public partial class Rectangle
-{
- public Rectangle (int x, int y, int width, int height)
- {
- // JNI bindings
- }
-}
-
-Imagine we want to add a constructor to this class that takes a Point and
-Size structure instead of 4 ints. We can add a new file called Rectangle.cs
-with a partial class containing our new method:
-
-public partial class Rectangle
-{
- public Rectangle (Point location, Size size) :
- this (location.X, location.Y, size.Width, size.Height)
- {
- }
-}
-
-At compile time, the additions class will be added to the generated class
-and the final assembly will a Rectangle class with both constructors.
-
-
-== Adding C# Classes ==
-
-Another thing that can be done is adding fully C# managed classes to the
-generated library. In the above example, let's assume that there isn't a
-Point class available in Java or our library. The one we create doesn't need
-to interact with Java, so we'll create it like a normal class in C#.
-
-By adding a Point.cs file with this class, it will end up in the binding library:
-
-public class Point
-{
- public int X { get; set; }
- public int Y { get; set; }
-}
diff --git a/tests/CodeGen-Binding/Xamarin.Android.McwGen-Tests/Jars/.gitignore b/tests/CodeGen-Binding/Xamarin.Android.McwGen-Tests/Jars/.gitignore
deleted file mode 100644
index d392f0e82c4..00000000000
--- a/tests/CodeGen-Binding/Xamarin.Android.McwGen-Tests/Jars/.gitignore
+++ /dev/null
@@ -1 +0,0 @@
-*.jar
diff --git a/tests/CodeGen-Binding/Xamarin.Android.McwGen-Tests/Jars/AboutJars.txt b/tests/CodeGen-Binding/Xamarin.Android.McwGen-Tests/Jars/AboutJars.txt
deleted file mode 100644
index edd8b11afa3..00000000000
--- a/tests/CodeGen-Binding/Xamarin.Android.McwGen-Tests/Jars/AboutJars.txt
+++ /dev/null
@@ -1,37 +0,0 @@
-This directory is for Android .jars.
-
-There are 3 types of jars that are supported:
-
-== Input Jar and Embedded Jar ==
-
-This is the jar that bindings should be generated for.
-
-For example, if you were binding the Google Maps library, this would
-be Google's "maps.jar".
-
-The difference between EmbeddedJar and InputJar is, EmbeddedJar is to be
-embedded in the resulting dll as EmbeddedResource, while InputJar is not.
-There are couple of reasons you wouldn't like to embed the target jar
-in your dll (the ones that could be internally loaded by
-feature e.g. maps.jar, or you cannot embed jars that are under some
-proprietary license).
-
-Set the build action for these jars in the properties page to "InputJar".
-
-
-== Reference Jar and Embedded Reference Jar ==
-
-These are jars that are referenced by the input jar. C# bindings will
-not be created for these jars. These jars will be used to resolve
-types used by the input jar.
-
-NOTE: Do not add "android.jar" as a reference jar. It will be added automatically
-based on the Target Framework selected.
-
-Set the build action for these jars in the properties page to "ReferenceJar".
-
-"EmbeddedJar" works like "ReferenceJar", but like "EmbeddedJar", it is
-embedded in your dll. But at application build time, they are not included
-in the final apk, like ReferenceJar files.
-
-
diff --git a/tests/CodeGen-Binding/Xamarin.Android.McwGen-Tests/Jars/org.jetbrains.kotlin.kotlin-stdlib.jar b/tests/CodeGen-Binding/Xamarin.Android.McwGen-Tests/Jars/org.jetbrains.kotlin.kotlin-stdlib.jar
deleted file mode 100644
index 445c6550225..00000000000
Binary files a/tests/CodeGen-Binding/Xamarin.Android.McwGen-Tests/Jars/org.jetbrains.kotlin.kotlin-stdlib.jar and /dev/null differ
diff --git a/tests/CodeGen-Binding/Xamarin.Android.McwGen-Tests/Properties/AssemblyInfo.cs b/tests/CodeGen-Binding/Xamarin.Android.McwGen-Tests/Properties/AssemblyInfo.cs
deleted file mode 100644
index b8e4a4d1350..00000000000
--- a/tests/CodeGen-Binding/Xamarin.Android.McwGen-Tests/Properties/AssemblyInfo.cs
+++ /dev/null
@@ -1,28 +0,0 @@
-using System.Reflection;
-using System.Runtime.CompilerServices;
-using Android.App;
-
-// Information about this assembly is defined by the following attributes.
-// Change them to the values specific to your project.
-
-[assembly: AssemblyTitle("Xamarin.Android.McwGeneration-Tests")]
-[assembly: AssemblyDescription("")]
-[assembly: AssemblyConfiguration("")]
-[assembly: AssemblyCompany("")]
-[assembly: AssemblyProduct("")]
-[assembly: AssemblyCopyright("jon")]
-[assembly: AssemblyTrademark("")]
-[assembly: AssemblyCulture("")]
-
-// The assembly version has the format "{Major}.{Minor}.{Build}.{Revision}".
-// The form "{Major}.{Minor}.*" will automatically update the build and revision,
-// and "{Major}.{Minor}.{Build}.*" will update just the revision.
-
-[assembly: AssemblyVersion("1.0.0")]
-
-// The following attributes are used to specify the signing key for the assembly,
-// if desired. See the Mono documentation for more information about signing.
-
-//[assembly: AssemblyDelaySign(false)]
-//[assembly: AssemblyKeyFile("")]
-
diff --git a/tests/CodeGen-Binding/Xamarin.Android.McwGen-Tests/Transforms/EnumFields.xml b/tests/CodeGen-Binding/Xamarin.Android.McwGen-Tests/Transforms/EnumFields.xml
deleted file mode 100644
index 98151a81727..00000000000
--- a/tests/CodeGen-Binding/Xamarin.Android.McwGen-Tests/Transforms/EnumFields.xml
+++ /dev/null
@@ -1,14 +0,0 @@
-
-
-
diff --git a/tests/CodeGen-Binding/Xamarin.Android.McwGen-Tests/Transforms/EnumMethods.xml b/tests/CodeGen-Binding/Xamarin.Android.McwGen-Tests/Transforms/EnumMethods.xml
deleted file mode 100644
index 497426b7a87..00000000000
--- a/tests/CodeGen-Binding/Xamarin.Android.McwGen-Tests/Transforms/EnumMethods.xml
+++ /dev/null
@@ -1,11 +0,0 @@
-
-
-
diff --git a/tests/CodeGen-Binding/Xamarin.Android.McwGen-Tests/Transforms/Metadata.xml b/tests/CodeGen-Binding/Xamarin.Android.McwGen-Tests/Transforms/Metadata.xml
deleted file mode 100644
index 666762f4074..00000000000
--- a/tests/CodeGen-Binding/Xamarin.Android.McwGen-Tests/Transforms/Metadata.xml
+++ /dev/null
@@ -1,11 +0,0 @@
-
-
- Android.Graphics.Color
- Android.Graphics.Color
-
diff --git a/tests/CodeGen-Binding/Xamarin.Android.McwGen-Tests/Xamarin.Android.McwGen-Tests.csproj b/tests/CodeGen-Binding/Xamarin.Android.McwGen-Tests/Xamarin.Android.McwGen-Tests.csproj
deleted file mode 100644
index 46108a3953e..00000000000
--- a/tests/CodeGen-Binding/Xamarin.Android.McwGen-Tests/Xamarin.Android.McwGen-Tests.csproj
+++ /dev/null
@@ -1,172 +0,0 @@
-
-
-
- Debug
- AnyCPU
- 10.0.0
- 2.0
- {EF798EB3-D639-4E09-9DB0-233E67F727B0}
- {10368E6C-D01B-4462-8E8B-01FC667A7035};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}
- Library
- Xamarin.Android.McwGenTests
- Resources
- Assets
- Xamarin.Android.McwGen-Tests
- False
- class-parse
- <_JavacSourceVersion>1.8
- <_JavacTargetVersion>1.8
- v9.0
- <_EnableInterfaceMembers>True
-
-
-
- $(AndroidFrameworkVersion)
-
-
- true
- false
- ..\..\..\bin\TestDebug
- DEBUG;
- prompt
- 4
- None
- false
-
-
- true
- ..\..\..\bin\TestRelease
- prompt
- 4
- false
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Jars/empty-1.jar
-
-
- Jars/empty-2.jar
-
-
-
-
-
-
-
- Jars/xamarin-test.jar
-
-
- Jars/xamarin-test.jar
-
-
- Jars/xamarin-test.jar
-
-
- Jars/xamarin-test.jar
-
-
- Jars/xamarin-test.jar
-
-
- Jars/xamarin-test.jar
-
-
- Jars/xamarin-test.jar
-
-
- Jars/xamarin-test.jar
-
-
- Jars/xamarin-test.jar
-
-
- Jars/xamarin-test.jar
-
-
- Jars/xamarin-test.jar
-
-
- Jars/xamarin-test.jar
-
-
- Jars/xamarin-test.jar
-
-
- Jars/xamarin-test.jar
-
-
- Jars/xamarin-test.jar
-
-
- Jars/xamarin-test.jar
-
-
- Jars/xamarin-test.jar
-
-
- Jars/xamarin-test.jar
-
-
- Jars/xamarin-test.jar
-
-
- Jars/xamarin-test.jar
-
-
- Jars/xamarin-test.jar
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- BuildTestJarFile;
- _CopyTestJarFiles;
- _CreateJavaSourceJar;
- $(BuildDependsOn)
-
-
-
-
- CleanTestJarFile;
- $(CleanDependsOn);
- CleanLocal;
-
-
-
diff --git a/tests/CodeGen-Binding/Xamarin.Android.McwGen-Tests/Xamarin.Android.McwGen-Tests.targets b/tests/CodeGen-Binding/Xamarin.Android.McwGen-Tests/Xamarin.Android.McwGen-Tests.targets
deleted file mode 100644
index 45a38d3fd96..00000000000
--- a/tests/CodeGen-Binding/Xamarin.Android.McwGen-Tests/Xamarin.Android.McwGen-Tests.targets
+++ /dev/null
@@ -1,23 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-