Splitting out JSR166 tests into a separate CTS module

Removing jsr166 tests from the main Libcore CTS module
and creating a new one (CtsLibcoreJsr166TestCases) to
hold them.

Justification:
Android don't control the source for these tests and they
have some unusual behavior it would be good to keep isolated
from other tests. Fixing them would introduce local
changes. For example, the base class
jsr166.JSR166TestCase creates a long-running thread that never
dies, and several of the tests leave threads lying around after
execution. Also, because we tend not to touch the code being
tested very often we expect them to pass, but because the
package is "jsr166" they are run before most of the "libcore" and
"org.harmony" tests, delaying feedback during dev cycles.

Bug: 29892592
Change-Id: If80c6f0244ed8f24494cba2384f98658fd8ec821
diff --git a/tests/libcore/jsr166/AndroidTest.xml b/tests/libcore/jsr166/AndroidTest.xml
new file mode 100644
index 0000000..33a4983
--- /dev/null
+++ b/tests/libcore/jsr166/AndroidTest.xml
@@ -0,0 +1,41 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (C) 2016 The Android Open Source Project
+
+     Licensed under the Apache License, Version 2.0 (the "License");
+     you may not use this file except in compliance with the License.
+     You may obtain a copy of the License at
+
+          http://www.apache.org/licenses/LICENSE-2.0
+
+     Unless required by applicable law or agreed to in writing, software
+     distributed under the License is distributed on an "AS IS" BASIS,
+     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+     See the License for the specific language governing permissions and
+     limitations under the License.
+-->
+<configuration description="Config for CTS Libcore JSR166 test cases">
+    <target_preparer class="com.android.tradefed.targetprep.RunCommandTargetPreparer">
+        <option name="run-command" value="mkdir -p /data/local/tmp/ctslibcore/java.io.tmpdir" />
+        <option name="run-command" value="mkdir -p /data/local/tmp/ctslibcore/user.home" />
+        <option name="teardown-command" value="rm -rf /data/local/tmp/ctslibcore" />
+    </target_preparer>
+    <target_preparer class="com.android.compatibility.common.tradefed.targetprep.ApkInstaller">
+        <option name="cleanup-apks" value="true" />
+        <!-- this has the CoreTestRunner which needs to be in a separate APK -->
+        <option name="test-file-name" value="CtsLibcoreTestRunner.apk" />
+        <!-- this has just the instrumentation which acts as the tests we want to run -->
+        <option name="test-file-name" value="CtsLibcoreJsr166TestCases.apk" />
+    </target_preparer>
+    <test class="com.android.tradefed.testtype.AndroidJUnitTest" >
+        <!-- override AJUR -->
+        <option name="runner" value="com.android.cts.core.runner.CoreTestRunner" />
+        <option name="package" value="android.libcore.cts.jsr166" />
+        <option name="instrumentation-arg" key="core-listener"
+                value="com.android.cts.runner.CtsTestRunListener"/>
+        <option name="instrumentation-arg" key="core-expectations"
+                value="/knownfailures.txt,/brokentests.txt,/icebox.txt,/taggedtests.txt" />
+        <option name="runtime-hint" value="10m"/>
+        <!-- 20x default timeout of 600sec -->
+        <option name="shell-timeout" value="12000000"/>
+    </test>
+</configuration>