JUnit test framework for AppRTC Android demo.
This allows creating tests for AppRTC Android demo that will be run on
the host machine instead of a device. These tests can mock Android APIs
through Robolectric. Because the tests are run on the host machine,
they run much faster.

BUG=webrtc:5896
NOTRY=True

Review-Url: https://codereview.webrtc.org/1985663002
Cr-Original-Commit-Position: refs/heads/master@{#12769}
Cr-Mirrored-From: https://chromium.googlesource.com/external/webrtc
Cr-Mirrored-Commit: ee3732622c0df433f62048d6f8e89e70a4561817
diff --git a/examples/androidjunit/README b/examples/androidjunit/README
new file mode 100644
index 0000000..502d714
--- /dev/null
+++ b/examples/androidjunit/README
@@ -0,0 +1,8 @@
+This directory contains example JUnit tests for Android AppRTCDemo.
+Many of these test utilize Robolectric to mock Android classes.
+
+To compile:
+ninja -C out/Debug AppRTCDemoJUnitTest
+
+To run:
+out/Debug/bin/run_AppRTCDemoJUnitTest
diff --git a/webrtc_examples.gyp b/webrtc_examples.gyp
index 9ef10ce..6f07b4d 100755
--- a/webrtc_examples.gyp
+++ b/webrtc_examples.gyp
@@ -464,6 +464,29 @@
             '../build/android/test_runner.gypi',
           ],
         },
+
+        {
+          'target_name': 'AppRTCDemoJUnitTest',
+          'type': 'none',
+          'dependencies': [
+            'AppRTCDemo_apk',
+            '<(DEPTH)/base/base.gyp:base_java',
+            '<(DEPTH)/base/base.gyp:base_java_test_support',
+            '<(DEPTH)/base/base.gyp:base_junit_test_support',
+          ],
+          'variables': {
+            'main_class': 'org.chromium.testing.local.JunitTestMain',
+            'src_paths': [
+              'examples/androidjunit/',
+            ],
+            'test_type': 'junit',
+            'wrapper_script_name': 'helper/<(_target_name)',
+          },
+          'includes': [
+            '../build/host_jar.gypi',
+            '../build/android/test_runner.gypi',
+          ],
+        },
       ],  # targets
     }],  # OS=="android"
   ],