Add config for testing compiling and launching an app

Bug: 209011880
Test: local testing
Change-Id: I2daf0cd9cbde18903fc29b45e44dae70e5d5186c
diff --git a/test/Android.bp b/test/Android.bp
index 565c69f..07980fb 100644
--- a/test/Android.bp
+++ b/test/Android.bp
@@ -1314,6 +1314,11 @@
     ],
 }
 
+csuite_test {
+    name: "csuite-app-compile-launch",
+    test_config_template: "csuite-app-compile-launch.xml",
+}
+
 // Install run-test data in the output directory.
 prebuilt_etc_host {
     name: "art-run-test-host-data",
diff --git a/test/csuite-app-compile-launch.xml b/test/csuite-app-compile-launch.xml
new file mode 100644
index 0000000..a02d815
--- /dev/null
+++ b/test/csuite-app-compile-launch.xml
@@ -0,0 +1,32 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (C) 2021 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="Compiles, launches an app, and checks for crashes">
+    <option name="package-name" value="{package}"/>
+    <target_preparer class="com.android.compatibility.targetprep.AppSetupPreparer">
+        <option name="test-file-name" value="app://{package}"/>
+    </target_preparer>
+    <target_preparer class="com.android.compatibility.targetprep.CheckGmsPreparer"/>
+    <target_preparer class="com.android.tradefed.targetprep.RunCommandTargetPreparer">
+        <!-- We will fail if any command in RunCommandTargetPreparer fails.
+             This is useful to know if we failed to compile a package. -->
+        <option name="throw-if-cmd-fail" value="true"/>
+        <option name="run-command" value="cmd package compile -m speed {package}"/>
+        <option name="run-command" value="input keyevent KEYCODE_WAKEUP"/>
+        <option name="run-command" value="input keyevent KEYCODE_MENU"/>
+        <option name="run-command" value="input keyevent KEYCODE_HOME"/>
+    </target_preparer>
+    <test class="com.android.compatibility.testtype.AppLaunchTest"/>
+</configuration>