Merge "Add misc apct perf tests"
diff --git a/apct-tests/perftests/core/Android.mk b/apct-tests/perftests/core/Android.mk
index 2fd6740..eb07c05 100644
--- a/apct-tests/perftests/core/Android.mk
+++ b/apct-tests/perftests/core/Android.mk
@@ -6,7 +6,9 @@
 LOCAL_RESOURCE_DIR := $(LOCAL_PATH)/res
 LOCAL_SRC_FILES := $(call all-java-files-under, src)
 
-LOCAL_STATIC_JAVA_LIBRARIES := android-support-test apct-perftests-utils
+LOCAL_STATIC_JAVA_LIBRARIES := \
+    android-support-test \
+    apct-perftests-utils
 
 LOCAL_PACKAGE_NAME := CorePerfTests
 
diff --git a/apct-tests/perftests/core/AndroidManifest.xml b/apct-tests/perftests/core/AndroidManifest.xml
index ecb8d95..815bc80 100644
--- a/apct-tests/perftests/core/AndroidManifest.xml
+++ b/apct-tests/perftests/core/AndroidManifest.xml
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="utf-8"?>
 <manifest xmlns:android="http://schemas.android.com/apk/res/android"
-    package="com.android.core.frameworks.perftests">
+    package="android.core.perftests">
 
     <application>
         <uses-library android:name="android.test.runner" />
@@ -8,6 +8,6 @@
     </application>
 
     <instrumentation android:name="android.support.test.runner.AndroidJUnitRunner"
-        android:targetPackage="com.android.core.frameworks.perftests"/>
+        android:targetPackage="android.core.perftests"/>
 
 </manifest>
diff --git a/apct-tests/perftests/core/src/android/widget/LayoutPerfTest.java b/apct-tests/perftests/core/src/android/widget/LayoutPerfTest.java
index d444c92..a8d1f26 100644
--- a/apct-tests/perftests/core/src/android/widget/LayoutPerfTest.java
+++ b/apct-tests/perftests/core/src/android/widget/LayoutPerfTest.java
@@ -27,7 +27,7 @@
 import android.view.View;
 import android.view.ViewGroup;
 
-import com.android.core.frameworks.perftests.R;
+import android.core.perftests.R;
 
 import org.junit.Rule;
 import org.junit.Test;
diff --git a/apct-tests/perftests/graphics/Android.mk b/apct-tests/perftests/graphics/Android.mk
index afdd743..cba35f3 100644
--- a/apct-tests/perftests/graphics/Android.mk
+++ b/apct-tests/perftests/graphics/Android.mk
@@ -3,11 +3,13 @@
 
 LOCAL_MODULE_TAGS := tests
 
-LOCAL_STATIC_JAVA_LIBRARIES := apct-perftests-utils android-support-test
-
 LOCAL_RESOURCE_DIR := $(LOCAL_PATH)/res
 LOCAL_SRC_FILES := $(call all-java-files-under, src)
 
+LOCAL_STATIC_JAVA_LIBRARIES := \
+    android-support-test \
+    apct-perftests-utils
+
 LOCAL_PACKAGE_NAME := GraphicsPerfTests
 
 include $(BUILD_PACKAGE)
diff --git a/apct-tests/perftests/graphics/AndroidManifest.xml b/apct-tests/perftests/graphics/AndroidManifest.xml
index 5416458..6c8bc07 100644
--- a/apct-tests/perftests/graphics/AndroidManifest.xml
+++ b/apct-tests/perftests/graphics/AndroidManifest.xml
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="utf-8"?>
 <manifest xmlns:android="http://schemas.android.com/apk/res/android"
-    package="com.android.frameworks.perftests">
+    package="android.graphics.perftests">
 
     <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
 
@@ -16,6 +16,6 @@
     </application>
 
     <instrumentation android:name="android.support.test.runner.AndroidJUnitRunner"
-        android:targetPackage="com.android.frameworks.perftests"/>
+        android:targetPackage="android.graphics.perftests"/>
 
 </manifest>
diff --git a/apct-tests/perftests/graphics/src/android/graphics/perftests/VectorDrawablePerfTest.java b/apct-tests/perftests/graphics/src/android/graphics/perftests/VectorDrawablePerfTest.java
index 2af3b04..a15be2e 100644
--- a/apct-tests/perftests/graphics/src/android/graphics/perftests/VectorDrawablePerfTest.java
+++ b/apct-tests/perftests/graphics/src/android/graphics/perftests/VectorDrawablePerfTest.java
@@ -30,7 +30,7 @@
 import android.support.test.runner.AndroidJUnit4;
 import android.test.suitebuilder.annotation.LargeTest;
 
-import com.android.frameworks.perftests.R;
+import android.graphics.perftests.R;
 
 import org.junit.Rule;
 import org.junit.Test;
diff --git a/apct-tests/perftests/misc/Android.mk b/apct-tests/perftests/misc/Android.mk
new file mode 100644
index 0000000..db5d643
--- /dev/null
+++ b/apct-tests/perftests/misc/Android.mk
@@ -0,0 +1,15 @@
+LOCAL_PATH := $(call my-dir)
+include $(CLEAR_VARS)
+
+LOCAL_MODULE_TAGS := tests
+
+LOCAL_SRC_FILES := $(call all-java-files-under, src)
+
+LOCAL_STATIC_JAVA_LIBRARIES := \
+    android-support-test \
+    apct-perftests-utils
+
+LOCAL_PACKAGE_NAME := MiscPerfTests
+
+include $(BUILD_PACKAGE)
+
diff --git a/apct-tests/perftests/misc/AndroidManifest.xml b/apct-tests/perftests/misc/AndroidManifest.xml
new file mode 100644
index 0000000..9d9d5f4
--- /dev/null
+++ b/apct-tests/perftests/misc/AndroidManifest.xml
@@ -0,0 +1,19 @@
+<?xml version="1.0" encoding="utf-8"?>
+<manifest xmlns:android="http://schemas.android.com/apk/res/android"
+    package="android.misc.perftests">
+
+    <application>
+        <uses-library android:name="android.test.runner" />
+        <activity android:name="android.perftests.utils.StubActivity" >
+            <intent-filter>
+                <action android:name="android.intent.action.MAIN" />
+                <category android:name="android.intent.category.LAUNCHER" />
+            </intent-filter>
+        </activity>
+        <uses-library android:name="android.test.runner" />
+    </application>
+
+    <instrumentation android:name="android.support.test.runner.AndroidJUnitRunner"
+        android:targetPackage="android.misc.perftests"/>
+
+</manifest>
diff --git a/apct-tests/perftests/misc/src/android/util/perftests/LogPerfTest.java b/apct-tests/perftests/misc/src/android/util/perftests/LogPerfTest.java
new file mode 100644
index 0000000..07cd33f
--- /dev/null
+++ b/apct-tests/perftests/misc/src/android/util/perftests/LogPerfTest.java
@@ -0,0 +1,53 @@
+/*
+ * 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.
+ */
+
+package android.util.perftests;
+
+import android.perftests.utils.BenchmarkState;
+import android.perftests.utils.PerfStatusReporter;
+import android.support.test.filters.LargeTest;
+import android.support.test.runner.AndroidJUnit4;
+
+import android.util.Log;
+
+import org.junit.Rule;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+
+@RunWith(AndroidJUnit4.class)
+@LargeTest
+public class LogPerfTest {
+
+    private final String[] strings = new String[] {
+            "This is a test log string 1",
+            "This is a test log string 2",
+            "This is a test log string 3",
+            "This is a test log string 4",
+            "This is a test log string 5",
+    };
+
+    @Rule
+    public PerfStatusReporter mPerfStatusReporter = new PerfStatusReporter();
+
+    @Test
+    public void testLogPerf() {
+        BenchmarkState state = mPerfStatusReporter.getBenchmarkState();
+        int i = 0;
+        while (state.keepRunning()) {
+            Log.d("LogPerfTest", strings[(i++) % strings.length]);
+        }
+    }
+}
diff --git a/apct-tests/perftests/misc/src/java/lang/perftests/SystemPerfTest.java b/apct-tests/perftests/misc/src/java/lang/perftests/SystemPerfTest.java
new file mode 100644
index 0000000..6a49c03
--- /dev/null
+++ b/apct-tests/perftests/misc/src/java/lang/perftests/SystemPerfTest.java
@@ -0,0 +1,40 @@
+/*
+ * 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.
+ */
+
+package java.lang.perftests;
+
+import android.perftests.utils.BenchmarkState;
+import android.perftests.utils.PerfStatusReporter;
+import android.support.test.filters.LargeTest;
+import android.support.test.runner.AndroidJUnit4;
+import org.junit.Rule;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+
+@RunWith(AndroidJUnit4.class)
+@LargeTest
+public class SystemPerfTest {
+    @Rule
+    public PerfStatusReporter mPerfStatusReporter = new PerfStatusReporter();
+
+    @Test
+    public void testNanoTimePerf() {
+        BenchmarkState state = mPerfStatusReporter.getBenchmarkState();
+        while (state.keepRunning()) {
+            System.nanoTime();
+        }
+    }
+}