summaryrefslogtreecommitdiffstats
path: root/tests/DumpRenderTree/src/com/android/dumprendertree/LayoutTestsAutoTest.java
diff options
context:
space:
mode:
Diffstat (limited to 'tests/DumpRenderTree/src/com/android/dumprendertree/LayoutTestsAutoTest.java')
-rw-r--r--tests/DumpRenderTree/src/com/android/dumprendertree/LayoutTestsAutoTest.java157
1 files changed, 157 insertions, 0 deletions
diff --git a/tests/DumpRenderTree/src/com/android/dumprendertree/LayoutTestsAutoTest.java b/tests/DumpRenderTree/src/com/android/dumprendertree/LayoutTestsAutoTest.java
new file mode 100644
index 0000000..f46b263
--- /dev/null
+++ b/tests/DumpRenderTree/src/com/android/dumprendertree/LayoutTestsAutoTest.java
@@ -0,0 +1,157 @@
+/*
+ * Copyright (C) 2008 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 com.android.dumprendertree;
+
+import android.app.Instrumentation;
+import android.app.Instrumentation.ActivityMonitor;
+import android.content.ContentResolver;
+import android.content.ContentValues;
+import android.util.Log;
+import android.view.KeyEvent;
+
+import android.test.ActivityInstrumentationTestCase;
+import android.test.AndroidTestCase;
+import android.test.suitebuilder.annotation.LargeTest;
+
+import com.android.dumprendertree.HTMLHostActivity;
+
+public class LayoutTestsAutoTest extends ActivityInstrumentationTestCase<Menu> {
+
+ private final static String LOGTAG = "LayoutTests";
+ private final static String LAYOUT_TESTS_ROOT = "/sdcard/android/layout_tests/";
+
+ public LayoutTestsAutoTest() {
+ super("com.android.dumprendertree", Menu.class);
+ }
+
+ // Invokes running of layout tests
+ // and waits till it has finished running.
+ public void executeLayoutTests(String folder) {
+ Instrumentation inst = getInstrumentation();
+ getActivity().processFile(folder, true);
+
+ ActivityMonitor htmlHostActivityMonitor =
+ inst.addMonitor("com.android.dumprendertree.HTMLHostActivity", null, false);
+ HTMLHostActivity activity =
+ (HTMLHostActivity) htmlHostActivityMonitor.waitForActivityWithTimeout(6000);
+
+ while (!activity.hasFinishedRunning()) {
+ // Poll every 5 seconds to determine if the layout
+ // tests have finished running
+ try {Thread.sleep(5000); } catch(Exception e){}
+ }
+
+ // Wait few more seconds so that results are
+ // flushed to the /sdcard
+ try {Thread.sleep(5000); } catch(Exception e){}
+
+ return ;
+ }
+
+ // Running all the layout tests at once sometimes
+ // causes the dumprendertree to run out of memory.
+ // So, additional tests are added to run the tests
+ // in chunks.
+ @LargeTest
+ public void testAllLayoutTests() {
+ executeLayoutTests(LAYOUT_TESTS_ROOT + "fast");
+ }
+
+ @LargeTest
+ public void testLayoutSubset1() {
+ executeLayoutTests(LAYOUT_TESTS_ROOT + "fast/backgrounds");
+ executeLayoutTests(LAYOUT_TESTS_ROOT + "fast/borders");
+ executeLayoutTests(LAYOUT_TESTS_ROOT + "fast/box-shadow");
+ executeLayoutTests(LAYOUT_TESTS_ROOT + "fast/box-sizing");
+ executeLayoutTests(LAYOUT_TESTS_ROOT + "fast/canvas");
+ }
+
+ @LargeTest
+ public void testLayoutSubset2() {
+ executeLayoutTests(LAYOUT_TESTS_ROOT + "fast/clip");
+ executeLayoutTests(LAYOUT_TESTS_ROOT + "fast/compact");
+ executeLayoutTests(LAYOUT_TESTS_ROOT + "fast/cookies");
+ executeLayoutTests(LAYOUT_TESTS_ROOT + "fast/css");
+ executeLayoutTests(LAYOUT_TESTS_ROOT + "fast/css-generated-content");
+ executeLayoutTests(LAYOUT_TESTS_ROOT + "fast/doctypes");
+ }
+
+ @LargeTest
+ public void testLayoutSubset3() {
+ executeLayoutTests(LAYOUT_TESTS_ROOT + "fast/dom");
+ executeLayoutTests(LAYOUT_TESTS_ROOT + "fast/dynamic");
+ executeLayoutTests(LAYOUT_TESTS_ROOT + "fast/encoding");
+ executeLayoutTests(LAYOUT_TESTS_ROOT + "fast/events");
+ executeLayoutTests(LAYOUT_TESTS_ROOT + "fast/flexbox");
+ }
+
+ @LargeTest
+ public void testLayoutSubset4() {
+ executeLayoutTests(LAYOUT_TESTS_ROOT + "fast/forms");
+ executeLayoutTests(LAYOUT_TESTS_ROOT + "fast/frames");
+ executeLayoutTests(LAYOUT_TESTS_ROOT + "fast/gradients");
+ executeLayoutTests(LAYOUT_TESTS_ROOT + "fast/history");
+ executeLayoutTests(LAYOUT_TESTS_ROOT + "fast/html");
+ }
+
+ @LargeTest
+ public void testLayoutSubset5() {
+ executeLayoutTests(LAYOUT_TESTS_ROOT + "fast/images");
+ executeLayoutTests(LAYOUT_TESTS_ROOT + "fast/inline");
+ executeLayoutTests(LAYOUT_TESTS_ROOT + "fast/inline-block");
+ executeLayoutTests(LAYOUT_TESTS_ROOT + "fast/innerHTML");
+ executeLayoutTests(LAYOUT_TESTS_ROOT + "fast/invalid");
+ }
+
+ @LargeTest
+ public void testLayoutSubset6() {
+ executeLayoutTests(LAYOUT_TESTS_ROOT + "fast/js");
+ executeLayoutTests(LAYOUT_TESTS_ROOT + "fast/layers");
+ executeLayoutTests(LAYOUT_TESTS_ROOT + "fast/leaks");
+ executeLayoutTests(LAYOUT_TESTS_ROOT + "fast/lists");
+ executeLayoutTests(LAYOUT_TESTS_ROOT + "fast/loader");
+ executeLayoutTests(LAYOUT_TESTS_ROOT + "fast/media");
+ }
+
+ @LargeTest
+ public void testLayoutSubset7() {
+ executeLayoutTests(LAYOUT_TESTS_ROOT + "fast/multicol");
+ executeLayoutTests(LAYOUT_TESTS_ROOT + "fast/overflow");
+ executeLayoutTests(LAYOUT_TESTS_ROOT + "fast/parser");
+ executeLayoutTests(LAYOUT_TESTS_ROOT + "fast/profiler");
+ executeLayoutTests(LAYOUT_TESTS_ROOT + "fast/reflections");
+ executeLayoutTests(LAYOUT_TESTS_ROOT + "fast/regex");
+ }
+
+ @LargeTest
+ public void testLayoutSubset8() {
+ executeLayoutTests(LAYOUT_TESTS_ROOT + "fast/repaint");
+ executeLayoutTests(LAYOUT_TESTS_ROOT + "fast/replaced");
+ executeLayoutTests(LAYOUT_TESTS_ROOT + "fast/runin");
+ executeLayoutTests(LAYOUT_TESTS_ROOT + "fast/selectors");
+ executeLayoutTests(LAYOUT_TESTS_ROOT + "fast/table");
+ executeLayoutTests(LAYOUT_TESTS_ROOT + "fast/text");
+ }
+
+ @LargeTest
+ public void testLayoutSubset9() {
+ executeLayoutTests(LAYOUT_TESTS_ROOT + "fast/tokenizer");
+ executeLayoutTests(LAYOUT_TESTS_ROOT + "fast/transforms");
+ executeLayoutTests(LAYOUT_TESTS_ROOT + "fast/xpath");
+ executeLayoutTests(LAYOUT_TESTS_ROOT + "fast/xsl");
+ }
+}