diff options
author | The Android Open Source Project <initial-contribution@android.com> | 2009-03-03 18:28:45 -0800 |
---|---|---|
committer | The Android Open Source Project <initial-contribution@android.com> | 2009-03-03 18:28:45 -0800 |
commit | d83a98f4ce9cfa908f5c54bbd70f03eec07e7553 (patch) | |
tree | 4b825dc642cb6eb9a060e54bf8d69288fbee4904 /tests/DumpRenderTree/src/com/android/dumprendertree/LayoutTestsAutoTest.java | |
parent | 076357b8567458d4b6dfdcf839ef751634cd2bfb (diff) |
auto import from //depot/cupcake/@135843
Diffstat (limited to 'tests/DumpRenderTree/src/com/android/dumprendertree/LayoutTestsAutoTest.java')
-rw-r--r-- | tests/DumpRenderTree/src/com/android/dumprendertree/LayoutTestsAutoTest.java | 172 |
1 files changed, 0 insertions, 172 deletions
diff --git a/tests/DumpRenderTree/src/com/android/dumprendertree/LayoutTestsAutoTest.java b/tests/DumpRenderTree/src/com/android/dumprendertree/LayoutTestsAutoTest.java deleted file mode 100644 index 3e65f03588a3..000000000000 --- a/tests/DumpRenderTree/src/com/android/dumprendertree/LayoutTestsAutoTest.java +++ /dev/null @@ -1,172 +0,0 @@ -/* - * 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.Activity; -import android.app.Instrumentation; -import android.app.Instrumentation.ActivityMonitor; -import android.content.ContentResolver; -import android.content.ContentValues; -import android.content.Intent; - -import android.util.Log; -import android.view.KeyEvent; - -import android.os.Bundle; -import android.os.Message; -import android.test.ActivityInstrumentationTestCase; -import android.test.AndroidTestCase; -import android.test.suitebuilder.annotation.LargeTest; - -import com.android.dumprendertree.HTMLHostActivity; - -import java.io.BufferedOutputStream; -import java.io.File; -import java.io.FileOutputStream; -import java.io.IOException; - -public class LayoutTestsAutoTest extends ActivityInstrumentationTestCase<Menu> { - - private final static String LOGTAG = "LayoutTests"; - private final static int DEFAULT_TIMEOUT_IN_MILLIS = 6000; - private static String layoutTestDir = null; - private static int mTimeoutInMillis = 0; - - public LayoutTestsAutoTest() { - super("com.android.dumprendertree", Menu.class); - } - - // This function writes the result of the layout test to - // Am status so that it can be picked up from a script. - public void passOrFailCallback(String file, boolean result) { - Instrumentation inst = getInstrumentation(); - Bundle bundle = new Bundle(); - bundle.putBoolean(file, result); - inst.sendStatus(0, bundle); - } - - public static void setTimeoutInMillis(int millis) { - mTimeoutInMillis = (millis > 0) ? millis : DEFAULT_TIMEOUT_IN_MILLIS; - } - - public static void setLayoutTestDir(String name) { - if (name == null) - throw new AssertionError("Layout test directory cannot be null."); - layoutTestDir = HTMLHostActivity.LAYOUT_TESTS_ROOT + name; - Log.v("LayoutTestsAutoTest", " Only running the layout tests : " + layoutTestDir); - } - - // Invokes running of layout tests - // and waits till it has finished running. - public void executeLayoutTests(boolean resume) { - Instrumentation inst = getInstrumentation(); - - { - Activity activity = getActivity(); - Intent intent = new Intent(); - intent.setClass(activity, HTMLHostActivity.class); - intent.putExtra(HTMLHostActivity.RESUME_FROM_CRASH, resume); - intent.putExtra(HTMLHostActivity.SINGLE_TEST_MODE, false); - intent.putExtra(HTMLHostActivity.TEST_PATH_PREFIX, layoutTestDir); - intent.putExtra(HTMLHostActivity.TIMEOUT_IN_MILLIS, mTimeoutInMillis); - activity.startActivity(intent); - } - - ActivityMonitor htmlHostActivityMonitor = - inst.addMonitor("com.android.dumprendertree.HTMLHostActivity", null, false); - - HTMLHostActivity activity = - (HTMLHostActivity) htmlHostActivityMonitor.waitForActivity(); - - 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){} - - // Clean up the HTMLHostActivity activity - activity.finish(); - } - - public void generateTestList() { - try { - File tests_list = new File(HTMLHostActivity.LAYOUT_TESTS_LIST_FILE); - BufferedOutputStream bos = new BufferedOutputStream(new FileOutputStream(tests_list, false)); - findTestsRecursively(bos, layoutTestDir); - bos.flush(); - bos.close(); - } catch (Exception e) { - Log.e(LOGTAG, "Error when creating test list: " + e.getMessage()); - } - } - - private void findTestsRecursively(BufferedOutputStream bos, String dir) throws IOException { - Log.v(LOGTAG, "Searching tests under " + dir); - - File d = new File(dir); - if (!d.isDirectory()) { - throw new AssertionError("A directory expected, but got " + dir); - } - - String[] files = d.list(); - for (int i = 0; i < files.length; i++) { - String s = dir + "/" + files[i]; - if (FileFilter.ignoreTest(s)) { - Log.v(LOGTAG, " Ignoring: " + s); - continue; - } - if (s.toLowerCase().endsWith(".html") - || s.toLowerCase().endsWith(".xml")) { - bos.write(s.getBytes()); - bos.write('\n'); - continue; - } - - File f = new File(s); - if (f.isDirectory()) { - findTestsRecursively(bos, s); - continue; - } - - Log.v(LOGTAG, "Skipping " + s); - } - } - - // 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. - public void startLayoutTests() { - try { - File tests_list = new File(HTMLHostActivity.LAYOUT_TESTS_LIST_FILE); - if (!tests_list.exists()) - generateTestList(); - } catch (Exception e) { - e.printStackTrace(); - } - - executeLayoutTests(false); - } - - public void resumeLayoutTests() { - executeLayoutTests(true); - } -} |