summaryrefslogtreecommitdiffstats
path: root/test-runner/src/android/test/TestRecorder.java
diff options
context:
space:
mode:
Diffstat (limited to 'test-runner/src/android/test/TestRecorder.java')
-rw-r--r--test-runner/src/android/test/TestRecorder.java186
1 files changed, 0 insertions, 186 deletions
diff --git a/test-runner/src/android/test/TestRecorder.java b/test-runner/src/android/test/TestRecorder.java
deleted file mode 100644
index 7c368a0..0000000
--- a/test-runner/src/android/test/TestRecorder.java
+++ /dev/null
@@ -1,186 +0,0 @@
-/*
- * Copyright (C) 2006 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.test;
-
-import android.content.ContentValues;
-import android.database.sqlite.SQLiteDatabase;
-import android.os.Environment;
-import android.os.FileUtils;
-import android.test.TestRunner.IntermediateTime;
-import android.util.Log;
-import junit.framework.Test;
-import junit.framework.TestListener;
-
-import java.io.File;
-import java.io.PrintWriter;
-import java.io.StringWriter;
-import java.util.HashSet;
-import java.util.List;
-import java.util.Set;
-
-/**
- * {@hide} Not needed for 1.0 SDK.
- */
-public class TestRecorder implements TestRunner.Listener, TestListener {
- private static final int DATABASE_VERSION = 1;
- private static SQLiteDatabase sDb;
- private Set<String> mFailedTests = new HashSet<String>();
-
- private static SQLiteDatabase getDatabase() {
- if (sDb == null) {
- File dir = new File(Environment.getDataDirectory(), "test_results");
-
- /* TODO: add a DB version number and bootstrap/upgrade methods
- * if the format of the table changes.
- */
- String dbName = "TestHarness.db";
- File file = new File(dir, dbName);
- sDb = SQLiteDatabase.openOrCreateDatabase(file.getPath(), null);
-
- if (sDb.getVersion() == 0) {
- int code = FileUtils.setPermissions(file.getPath(),
- FileUtils.S_IRUSR | FileUtils.S_IWUSR |
- FileUtils.S_IRGRP | FileUtils.S_IWGRP |
- FileUtils.S_IROTH | FileUtils.S_IWOTH, -1, -1);
-
- if (code != 0) {
- Log.w("TestRecorder",
- "Set permissions for " + file.getPath() + " returned = " + code);
- }
-
- try {
- sDb.execSQL("CREATE TABLE IF NOT EXISTS tests (_id INT PRIMARY KEY," +
- "name TEXT," +
- "result TEXT," +
- "exception TEXT," +
- "started INTEGER," +
- "finished INTEGER," +
- "time INTEGER," +
- "iterations INTEGER," +
- "allocations INTEGER," +
- "parent INTEGER);");
- sDb.setVersion(DATABASE_VERSION);
- } catch (Exception e) {
- Log.e("TestRecorder", "failed to create table 'tests'", e);
- sDb = null;
- }
- }
- }
-
- return sDb;
- }
-
- public TestRecorder() {
- }
-
- public void started(String className) {
- ContentValues map = new ContentValues(2);
- map.put("name", className);
- map.put("started", System.currentTimeMillis());
-
- // try to update the row first in case we've ran this test before.
- int rowsAffected = getDatabase().update("tests", map, "name = '" + className + "'", null);
-
- if (rowsAffected == 0) {
- getDatabase().insert("tests", null, map);
- }
- }
-
- public void finished(String className) {
- ContentValues map = new ContentValues(1);
- map.put("finished", System.currentTimeMillis());
-
- getDatabase().update("tests", map, "name = '" + className + "'", null);
- }
-
- public void performance(String className, long itemTimeNS, int iterations, List<IntermediateTime> intermediates) {
- ContentValues map = new ContentValues();
- map.put("time", itemTimeNS);
- map.put("iterations", iterations);
-
- getDatabase().update("tests", map, "name = '" + className + "'", null);
-
- if (intermediates != null && intermediates.size() > 0) {
- int n = intermediates.size();
- for (int i = 0; i < n; i++) {
- TestRunner.IntermediateTime time = intermediates.get(i);
-
- getDatabase().execSQL("INSERT INTO tests (name, time, parent) VALUES ('" +
- time.name + "', " + time.timeInNS + ", " +
- "(SELECT _id FROM tests WHERE name = '" + className + "'));");
- }
- }
- }
-
- public void passed(String className) {
- ContentValues map = new ContentValues();
- map.put("result", "passed");
-
- getDatabase().update("tests", map, "name = '" + className + "'", null);
- }
-
- public void failed(String className, Throwable exception) {
- StringWriter stringWriter = new StringWriter();
- PrintWriter printWriter = new PrintWriter(stringWriter);
- try {
- exception.printStackTrace(printWriter);
- } finally {
- printWriter.close();
- }
- ContentValues map = new ContentValues();
- map.put("result", "failed");
- map.put("exception", stringWriter.toString());
-
- getDatabase().update("tests", map, "name = '" + className + "'", null);
- }
-
- /**
- * Reports a test case failure.
- *
- * @param className Name of the class/test.
- * @param reason Reason for failure.
- */
- public void failed(String className, String reason) {
- ContentValues map = new ContentValues();
- map.put("result", "failed");
- // The reason is put as the exception.
- map.put("exception", reason);
- getDatabase().update("tests", map, "name = '" + className + "'", null);
- }
-
- public void addError(Test test, Throwable t) {
- mFailedTests.add(test.toString());
- failed(test.toString(), t);
- }
-
- public void addFailure(Test test, junit.framework.AssertionFailedError t) {
- mFailedTests.add(test.toString());
- failed(test.toString(), t.getMessage());
- }
-
- public void endTest(Test test) {
- finished(test.toString());
- if (!mFailedTests.contains(test.toString())) {
- passed(test.toString());
- }
- mFailedTests.remove(test.toString());
- }
-
- public void startTest(Test test) {
- started(test.toString());
- }
-}