am dcac086f: am fef43a24: am b65339b5: Merge "CTS tests for Dumpsys Procstats (this time in lmp-sprout-dev)" into lmp-sprout-dev
* commit 'dcac086fddf53c787d73362de1214776b0dc1589':
CTS tests for Dumpsys Procstats (this time in lmp-sprout-dev)
diff --git a/CtsTestCaseList.mk b/CtsTestCaseList.mk
index 80e1efc..1e89abc 100644
--- a/CtsTestCaseList.mk
+++ b/CtsTestCaseList.mk
@@ -107,6 +107,7 @@
CtsAdminTestCases \
CtsAnimationTestCases \
CtsAppTestCases \
+ CtsAppWidgetTestCases \
CtsBluetoothTestCases \
CtsCalendarcommon2TestCases \
CtsContentTestCases \
diff --git a/apps/CtsVerifier/proguard.flags b/apps/CtsVerifier/proguard.flags
index ca4680f..fe7eed8 100644
--- a/apps/CtsVerifier/proguard.flags
+++ b/apps/CtsVerifier/proguard.flags
@@ -19,3 +19,5 @@
-dontwarn android.hardware.Sensor
-dontwarn android.test.AndroidTestRunner
-dontwarn java.util.concurrent.ConcurrentLinkedDeque
+-dontwarn android.cts.util.**
+-dontwarn junit.**
diff --git a/tests/expectations/knownfailures.txt b/tests/expectations/knownfailures.txt
index 924a0ce..c4e9a53 100644
--- a/tests/expectations/knownfailures.txt
+++ b/tests/expectations/knownfailures.txt
@@ -7,13 +7,6 @@
bug: 17536113
},
{
- description: "the ConnectivityConstraintTest are not yet stable",
- names: [
- "android.jobscheduler.cts.ConnectivityConstraintTest"
- ],
- bug: 18117279
-},
-{
description: "tests a fragile by nature as they rely on hardcoded behavior",
names: [
"android.accessibilityservice.cts.AccessibilityTextTraversalTest#testActionNextAndPreviousAtGranularityPageOverText",
@@ -52,6 +45,26 @@
bug: 16720689
},
{
+ description: "test can only run properly on a user build device when the bug is resolved",
+ names: [
+ "android.appwidget.cts.AppWidgetTest#testAppWidgetProviderCallbacks",
+ "android.appwidget.cts.AppWidgetTest#testBindAppWidget",
+ "android.appwidget.cts.AppWidgetTest#testCollectionWidgets",
+ "android.appwidget.cts.AppWidgetTest#testDeleteHost",
+ "android.appwidget.cts.AppWidgetTest#testDeleteHosts",
+ "android.appwidget.cts.AppWidgetTest#testGetAppWidgetIds",
+ "android.appwidget.cts.AppWidgetTest#testGetAppWidgetInfo",
+ "android.appwidget.cts.AppWidgetTest#testGetAppWidgetOptions",
+ "android.appwidget.cts.AppWidgetTest#testPartiallyUpdateAppWidgetViaWidgetId",
+ "android.appwidget.cts.AppWidgetTest#testPartiallyUpdateAppWidgetViaWidgetIds",
+ "android.appwidget.cts.AppWidgetTest#testTwoAppWidgetProviderCallbacks",
+ "android.appwidget.cts.AppWidgetTest#testUpdateAppWidgetViaComponentName",
+ "android.appwidget.cts.AppWidgetTest#testUpdateAppWidgetViaWidgetId",
+ "android.appwidget.cts.AppWidgetTest#testUpdateAppWidgetViaWidgetIds"
+ ],
+ bug: 17993121
+},
+{
description: "A few WebGL tests are known to fail in WebView",
names: [
"android.webgl.cts.WebGLTest#test_conformance_extensions_oes_texture_float_with_video_html",
diff --git a/tests/tests/graphics/res/drawable/vector_icon_delete.xml b/tests/tests/graphics/res/drawable/vector_icon_delete.xml
index 8d9c21c..7b8f2aa 100644
--- a/tests/tests/graphics/res/drawable/vector_icon_delete.xml
+++ b/tests/tests/graphics/res/drawable/vector_icon_delete.xml
@@ -24,6 +24,6 @@
<path
android:fillColor="#FF000000"
- android:pathData="M6.0,19.0c0.0,1.104 0.896,2.0 2.0,2.0l8.0,0.0c1.104,0.0 2.0-0.896 2.0-2.0l0.0-12.0L6.0,7.0L6.0,19.0zM18.0,4.0l-2.5,0.0l-1.0-1.0l-5.0,0.0l-1.0,1.0L6.0,4.0C5.4469986,4.0 5.0,4.4469986 5.0,5.0l0.0,1.0l14.0,0.0l0.0-1.0C19.0,4.4469986 18.552002,4.0 18.0,4.0z" />
+ android:pathData="M6.0,19.0c0.0,1.104 896e-3,2.0 2.0,2.0l8.0,0.0c1.104,0.0 2.0-896e-3 2.0-2.0l0.0-12.0L6.0,7.0L6.0,19.0zM18.0,4.0l-2.5,0.0l-1.0-1.0l-5.0,0.0l-1.0,1.0L6.0,4.0C5.4469986,4.0 5.0,4.4469986 5.0,5.0l0.0,1.0l14.0,0.0l0.0-1.0C19.0,4.4469986 18.552002,4.0 18.0,4.0z" />
</vector>
\ No newline at end of file
diff --git a/tests/tests/graphics/res/drawable/vector_icon_heart.xml b/tests/tests/graphics/res/drawable/vector_icon_heart.xml
index ff55fe5..ad991c9 100644
--- a/tests/tests/graphics/res/drawable/vector_icon_heart.xml
+++ b/tests/tests/graphics/res/drawable/vector_icon_heart.xml
@@ -24,6 +24,6 @@
<path
android:fillColor="#FF000000"
- android:pathData="M16.0,5.0c-1.955,0.0 -3.83,1.268 -4.5,3.0c-0.67-1.732 -2.547-3.0 -4.5-3.0C4.4570007,5.0 2.5,6.931999 2.5,9.5c0.0,3.529 3.793,6.258 9.0,11.5c5.207-5.242 9.0-7.971 9.0-11.5C20.5,6.931999 18.543,5.0 16.0,5.0z" />
+ android:pathData="M16.0,5.0c-1.955.0 -3.83,1.268 -4.5,3.0c-0.67-1.732 -2.547-3.0 -4.5-3.0C4.4570007,5.0 2.5,6.931999 2.5,9.5c0.0,3.529 3.793,6.258 9.0,11.5c5.207-5.242 9.0-7.971 9.0-11.5C20.5,6.931999 18.543,5.0 16.0,5.0z" />
</vector>
\ No newline at end of file
diff --git a/tests/tests/graphics/src/android/graphics/cts/PaintTest.java b/tests/tests/graphics/src/android/graphics/cts/PaintTest.java
index 1f709d3..bac72b2 100644
--- a/tests/tests/graphics/src/android/graphics/cts/PaintTest.java
+++ b/tests/tests/graphics/src/android/graphics/cts/PaintTest.java
@@ -19,6 +19,7 @@
import android.graphics.ColorFilter;
import android.graphics.MaskFilter;
+import android.graphics.Matrix;
import android.graphics.Paint;
import android.graphics.Paint.Align;
import android.graphics.Paint.Cap;
@@ -28,6 +29,8 @@
import android.graphics.PathEffect;
import android.graphics.Rasterizer;
import android.graphics.Shader;
+import android.graphics.Bitmap;
+import android.graphics.BitmapShader;
import android.graphics.Typeface;
import android.graphics.Xfermode;
import android.os.Build;
@@ -190,7 +193,7 @@
assertEquals(m, p2.getMaskFilter());
assertEquals(e, p2.getPathEffect());
assertEquals(r, p2.getRasterizer());
- assertNotSame(s, p2.getShader());
+ assertEquals(s, p2.getShader());
assertEquals(t, p2.getTypeface());
assertEquals(x, p2.getXfermode());
@@ -199,7 +202,7 @@
assertEquals(m, p2.getMaskFilter());
assertEquals(e, p2.getPathEffect());
assertEquals(r, p2.getRasterizer());
- assertNotSame(s, p2.getShader());
+ assertEquals(s, p2.getShader());
assertEquals(t, p2.getTypeface());
assertEquals(x, p2.getXfermode());
@@ -271,6 +274,35 @@
assertNull(p.getShader());
}
+ public void testShaderLocalMatrix() {
+ int width = 80;
+ int height = 120;
+ int[] color = new int[width * height];
+ Bitmap bitmap = Bitmap.createBitmap(color, width, height, Bitmap.Config.RGB_565);
+
+ Paint p = new Paint();
+ Matrix m = new Matrix();
+ Shader s = new BitmapShader(bitmap, Shader.TileMode.REPEAT, Shader.TileMode.REPEAT);
+
+ // set the shaders matrix to a non identity value and attach to paint
+ m.setScale(10, 0);
+ s.setLocalMatrix(m);
+ p.setShader(s);
+
+ Matrix m2 = new Matrix();
+ assertTrue(p.getShader().getLocalMatrix(m2));
+ assertEquals(m, m2);
+
+ // updated the matrix again and set it on the shader but NOT the paint
+ m.setScale(0, 10);
+ s.setLocalMatrix(m);
+
+ // assert that the matrix on the paint's shader also changed
+ Matrix m3 = new Matrix();
+ assertTrue(p.getShader().getLocalMatrix(m3));
+ assertEquals(m, m3);
+ }
+
public void testSetAntiAlias() {
Paint p = new Paint();
diff --git a/tests/tests/webkit/src/android/webkit/cts/CookieManagerTest.java b/tests/tests/webkit/src/android/webkit/cts/CookieManagerTest.java
index c612886..856b4aa 100644
--- a/tests/tests/webkit/src/android/webkit/cts/CookieManagerTest.java
+++ b/tests/tests/webkit/src/android/webkit/cts/CookieManagerTest.java
@@ -319,8 +319,6 @@
assertFalse(anyDeleted.get());
}
- /*
- TODO: uncomment when acceptThirdPartyCookies implementation lands
public void testThirdPartyCookie() throws Throwable {
if (!NullWebViewUtils.isWebViewAvailable()) {
return;
@@ -377,7 +375,6 @@
mOnUiThread.getSettings().setJavaScriptEnabled(false);
}
}
- */
public void testb3167208() throws Exception {
if (!NullWebViewUtils.isWebViewAvailable()) {
diff --git a/tests/tests/webkit/src/android/webkit/cts/WebViewTest.java b/tests/tests/webkit/src/android/webkit/cts/WebViewTest.java
index 1e22acc..f72a70d 100755
--- a/tests/tests/webkit/src/android/webkit/cts/WebViewTest.java
+++ b/tests/tests/webkit/src/android/webkit/cts/WebViewTest.java
@@ -122,6 +122,11 @@
*/
private static final long SCROLL_WAIT_INTERVAL_MS = 200;
+ /**
+ * Epsilon used in page scale value comparisons.
+ */
+ private static final float PAGE_SCALE_EPSILON = 0.0001f;
+
private WebView mWebView;
private CtsTestServer mWebServer;
private WebViewOnUiThread mOnUiThread;
@@ -330,7 +335,7 @@
// that a scale change does *not* happen.
Thread.sleep(500);
currScale = mOnUiThread.getScale();
- assertEquals(currScale, previousScale);
+ assertEquals(currScale, previousScale, PAGE_SCALE_EPSILON);
assertTrue(mOnUiThread.zoomOut());
previousScale = currScale;
@@ -354,7 +359,7 @@
// that a scale change does *not* happen.
Thread.sleep(500);
currScale = mOnUiThread.getScale();
- assertEquals(currScale, previousScale);
+ assertEquals(currScale, previousScale, PAGE_SCALE_EPSILON);
mOnUiThread.zoomBy(1.25f);
previousScale = currScale;
@@ -378,7 +383,7 @@
// that a scale change does *not* happen.
Thread.sleep(500);
currScale = mOnUiThread.getScale();
- assertEquals(currScale, previousScale);
+ assertEquals(currScale, previousScale, PAGE_SCALE_EPSILON);
mOnUiThread.zoomBy(0.8f);
previousScale = currScale;
@@ -402,7 +407,7 @@
// that a scale change does *not* happen.
Thread.sleep(500);
currScale = mOnUiThread.getScale();
- assertEquals(currScale, previousScale);
+ assertEquals(currScale, previousScale, PAGE_SCALE_EPSILON);
}
@UiThreadTest
diff --git a/tools/utils/buildCts.py b/tools/utils/buildCts.py
index 4d04e1a..b2ab4d6 100755
--- a/tools/utils/buildCts.py
+++ b/tools/utils/buildCts.py
@@ -158,6 +158,7 @@
# CTS Stable plan
plan = tools.TestPlan(packages)
plan.Exclude(r'com\.android\.cts\.browserbench')
+ plan.Exclude(r'com\.android\.cts\.filesystemperf\.RandomRWTest$')
for package, test_list in flaky_tests.iteritems():
plan.ExcludeTests(package, test_list)
self.__WritePlan(plan, 'CTS-stable')
@@ -166,6 +167,7 @@
plan = tools.TestPlan(packages)
plan.Exclude('.*')
plan.Include(r'com\.android\.cts\.browserbench')
+ plan.Include(r'com\.android\.cts\.filesystemperf\.RandomRWTest$')
for package, test_list in flaky_tests.iteritems():
plan.Include(package+'$')
plan.IncludeTests(package, test_list)
@@ -173,7 +175,6 @@
small_tests = BuildAospSmallSizeTestList()
medium_tests = BuildAospMediumSizeTestList()
- new_test_packages = BuildCtsVettedNewPackagesList()
# CTS - sub plan for public, small size tests
plan = tools.TestPlan(packages)
@@ -181,6 +182,7 @@
for package, test_list in small_tests.iteritems():
plan.Include(package+'$')
plan.Exclude(r'com\.android\.cts\.browserbench')
+ plan.Exclude(r'com\.android\.cts\.filesystemperf\.RandomRWTest$')
for package, test_list in flaky_tests.iteritems():
plan.ExcludeTests(package, test_list)
self.__WritePlan(plan, 'CTS-kitkat-small')
@@ -191,6 +193,7 @@
for package, test_list in medium_tests.iteritems():
plan.Include(package+'$')
plan.Exclude(r'com\.android\.cts\.browserbench')
+ plan.Exclude(r'com\.android\.cts\.filesystemperf\.RandomRWTest$')
for package, test_list in flaky_tests.iteritems():
plan.ExcludeTests(package, test_list)
self.__WritePlan(plan, 'CTS-kitkat-medium')
@@ -200,6 +203,7 @@
plan.Exclude('.*')
plan.Include(r'android\.hardware$')
plan.Exclude(r'com\.android\.cts\.browserbench')
+ plan.Exclude(r'com\.android\.cts\.filesystemperf\.RandomRWTest$')
for package, test_list in flaky_tests.iteritems():
plan.ExcludeTests(package, test_list)
self.__WritePlan(plan, 'CTS-hardware')
@@ -210,6 +214,7 @@
plan.Include(r'android\.media$')
plan.Include(r'android\.view$')
plan.Exclude(r'com\.android\.cts\.browserbench')
+ plan.Exclude(r'com\.android\.cts\.filesystemperf\.RandomRWTest$')
for package, test_list in flaky_tests.iteritems():
plan.ExcludeTests(package, test_list)
self.__WritePlan(plan, 'CTS-media')
@@ -219,48 +224,27 @@
plan.Exclude('.*')
plan.Include(r'android\.mediastress$')
plan.Exclude(r'com\.android\.cts\.browserbench')
+ plan.Exclude(r'com\.android\.cts\.filesystemperf\.RandomRWTest$')
for package, test_list in flaky_tests.iteritems():
plan.ExcludeTests(package, test_list)
self.__WritePlan(plan, 'CTS-mediastress')
- # CTS - sub plan for new tests that is vetted for L launch
- plan = tools.TestPlan(packages)
- plan.Exclude('.*')
- for package, test_list in new_test_packages.iteritems():
- plan.Include(package+'$')
- plan.Exclude(r'com\.android\.cts\.browserbench')
- for package, test_list in flaky_tests.iteritems():
- plan.ExcludeTests(package, test_list)
- self.__WritePlan(plan, 'CTS-l-tests')
-
- #CTS - sub plan for new test packages added for staging
+ # CTS - sub plan for new test packages added for staging
plan = tools.TestPlan(packages)
for package, test_list in small_tests.iteritems():
plan.Exclude(package+'$')
for package, test_list in medium_tests.iteritems():
plan.Exclude(package+'$')
- for package, tests_list in new_test_packages.iteritems():
- plan.Exclude(package+'$')
plan.Exclude(r'android\.hardware$')
plan.Exclude(r'android\.media$')
plan.Exclude(r'android\.view$')
plan.Exclude(r'android\.mediastress$')
plan.Exclude(r'com\.android\.cts\.browserbench')
+ plan.Exclude(r'com\.android\.cts\.filesystemperf\.RandomRWTest$')
for package, test_list in flaky_tests.iteritems():
plan.ExcludeTests(package, test_list)
self.__WritePlan(plan, 'CTS-staging')
- plan = tools.TestPlan(packages)
- plan.Exclude('.*')
- plan.Include(r'com\.drawelements\.')
- self.__WritePlan(plan, 'CTS-DEQP')
-
- plan = tools.TestPlan(packages)
- plan.Exclude('.*')
- plan.Include(r'android\.webgl')
- self.__WritePlan(plan, 'CTS-webview')
-
-
def BuildAospMediumSizeTestList():
""" Construct a defaultdic that lists package names of medium tests
already published to aosp. """
@@ -342,42 +326,9 @@
'com.android.cts.videoperf' : [],
'zzz.android.monkey' : []}
-def BuildCtsVettedNewPackagesList():
- """ Construct a defaultdict that maps package names that is vetted for L. """
- return {
- 'android.JobScheduler' : [],
- 'android.core.tests.libcore.package.harmony_annotation' : [],
- 'android.core.tests.libcore.package.harmony_beans' : [],
- 'android.core.tests.libcore.package.harmony_java_io' : [],
- 'android.core.tests.libcore.package.harmony_java_lang' : [],
- 'android.core.tests.libcore.package.harmony_java_math' : [],
- 'android.core.tests.libcore.package.harmony_java_net' : [],
- 'android.core.tests.libcore.package.harmony_java_nio' : [],
- 'android.core.tests.libcore.package.harmony_java_util' : [],
- 'android.core.tests.libcore.package.harmony_java_text' : [],
- 'android.core.tests.libcore.package.harmony_javax_security' : [],
- 'android.core.tests.libcore.package.harmony_logging' : [],
- 'android.core.tests.libcore.package.harmony_prefs' : [],
- 'android.core.tests.libcore.package.harmony_sql' : [],
- 'android.core.tests.libcore.package.jsr166' : [],
- 'android.core.tests.libcore.package.okhttp' : [],
- 'android.display' : [],
- 'android.host.theme' : [],
- 'android.jdwp' : [],
- 'android.location2' : [],
- 'android.print' : [],
- 'android.renderscriptlegacy' : [],
- 'android.signature' : [],
- 'android.tv' : [],
- 'android.uiautomation' : [],
- 'android.uirendering' : [],
- 'android.webgl' : [],
- 'com.drawelements.deqp.gles3' : [],
- 'com.drawelements.deqp.gles31' : []}
-
def BuildCtsFlakyTestList():
""" Construct a defaultdict that maps package name to a list of tests
- that are known to be flaky in the lab or not passing on userdebug builds. """
+ that are known to be flaky. """
return {
'android.app' : [
'cts.ActivityManagerTest#testIsRunningInTestHarness',],
@@ -412,11 +363,7 @@
'cts.SELinuxDomainTest#testSuDomain',
'cts.SELinuxHostTest#testAllEnforcing',],
'android.webkit' : [
- 'cts.WebViewClientTest#testOnUnhandledKeyEvent',],
- 'com.android.cts.filesystemperf' : [
- 'RandomRWTest#testRandomRead',
- 'RandomRWTest#testRandomUpdate',],
- '' : []}
+ 'cts.WebViewClientTest#testOnUnhandledKeyEvent',]}
def LogGenerateDescription(name):
print 'Generating test description for package %s' % name