diff --git a/tools/hosttestlib/Android.bp b/tools/hosttestlib/Android.bp
deleted file mode 100644
index e95e34310..000000000
--- a/tools/hosttestlib/Android.bp
+++ /dev/null
@@ -1,25 +0,0 @@
-// Copyright (C) 2009 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.
-
-java_library_host {
- name: "hosttestlib",
-
- // Only compile source java files in this lib.
- srcs: ["src/**/*.java"],
-
- libs: [
- "ddmlib-prebuilt",
- "junit",
- ],
-}
diff --git a/tools/hosttestlib/src/com/android/hosttest/DeviceConnector.java b/tools/hosttestlib/src/com/android/hosttest/DeviceConnector.java
deleted file mode 100644
index 8974d71a3..000000000
--- a/tools/hosttestlib/src/com/android/hosttest/DeviceConnector.java
+++ /dev/null
@@ -1,110 +0,0 @@
-/*
- * Copyright (C) 2010 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.hosttest;
-
-import com.android.ddmlib.AndroidDebugBridge;
-import com.android.ddmlib.IDevice;
-import com.android.ddmlib.AndroidDebugBridge.IDeviceChangeListener;
-
-
-/**
- * A helper class that can connect to a ddmlib {@link IDevice}
- */
-public class DeviceConnector {
-
- /**
- * The maximum time to wait for a device to be connected.
- */
- private static final int MAX_WAIT_DEVICE_TIME = 5000;
-
- /**
- * Initializes DDMS library, and connects to specified Android device
- *
- * @param deviceSerial the device serial to connect to. If null connect to first
- * discovered device.
- *
- * @return the {@link IDevice} found
- * @throws IllegalArgumentException if no device cannot be found.
- */
- public IDevice connectToDevice(String deviceSerial) {
- // initialize DDMS with no clientSupport aka debugger support
- AndroidDebugBridge.init(false /* clientSupport */);
- AndroidDebugBridge adbBridge = AndroidDebugBridge.createBridge();
- for (IDevice device : adbBridge.getDevices()) {
- if (deviceSerial == null) {
- return device;
- } else if (deviceSerial.equals(device.getSerialNumber())) {
- return device;
- }
- }
- // TODO: get some sort of logger interface as param instead
- System.out.println("Waiting for device...");
- NewDeviceListener listener = new NewDeviceListener(deviceSerial);
- AndroidDebugBridge.addDeviceChangeListener(listener);
- IDevice device = listener.waitForDevice(MAX_WAIT_DEVICE_TIME);
- AndroidDebugBridge.removeDeviceChangeListener(listener);
- if (device == null) {
- throw new IllegalArgumentException("Could not connect to device");
- } else {
- System.out.println(String.format("Connected to %s", device.getSerialNumber()));
- }
- return device;
- }
-
- /**
- * Listener for new Android devices
- */
- private static class NewDeviceListener implements IDeviceChangeListener {
- private IDevice mDevice;
- private String mSerial;
-
- public NewDeviceListener(String serial) {
- mSerial = serial;
- }
-
- public void deviceChanged(IDevice device, int changeMask) {
- }
-
- public void deviceConnected(IDevice device) {
- if (mSerial == null) {
- setDevice(device);
- } else if (mSerial.equals(device.getSerialNumber())) {
- setDevice(device);
- }
- }
-
- private synchronized void setDevice(IDevice device) {
- mDevice = device;
- notify();
- }
-
- public void deviceDisconnected(IDevice device) {
- }
-
- public IDevice waitForDevice(long waitTime) {
- synchronized(this) {
- if (mDevice == null) {
- try {
- wait(waitTime);
- } catch (InterruptedException e) {
- System.out.println("Waiting for device interrupted");
- }
- }
- }
- return mDevice;
- }
- }
-}
diff --git a/tools/hosttestlib/src/com/android/hosttest/DeviceTest.java b/tools/hosttestlib/src/com/android/hosttest/DeviceTest.java
deleted file mode 100644
index a782380e4..000000000
--- a/tools/hosttestlib/src/com/android/hosttest/DeviceTest.java
+++ /dev/null
@@ -1,51 +0,0 @@
-/*
- * Copyright (C) 2009 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.hosttest;
-
-import com.android.ddmlib.IDevice;
-
-import junit.framework.Test;
-
-/**
- * Helper JUnit test that stores reference to a Android device and test data.
- */
-public interface DeviceTest extends Test {
-
- /**
- * Sets the device under test
- * @param device the Android device to test
- */
- public void setDevice(IDevice device);
-
- /**
- * Retrieves the Android device under test
- * @return the {@link IDevice} device.
- */
- public IDevice getDevice();
-
- /**
- * Retrieves host file system path that contains test app files
- * @return {@link String} containing path, or null
- */
- public String getTestAppPath();
-
- /**
- * Sets host file system path that contains test app files
- * @param path absolute file system path to test data files
- */
- public void setTestAppPath(String path);
-}
diff --git a/tools/hosttestlib/src/com/android/hosttest/DeviceTestCase.java b/tools/hosttestlib/src/com/android/hosttest/DeviceTestCase.java
deleted file mode 100644
index 42535d8e6..000000000
--- a/tools/hosttestlib/src/com/android/hosttest/DeviceTestCase.java
+++ /dev/null
@@ -1,71 +0,0 @@
-/*
- * Copyright (C) 2009 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.hosttest;
-
-import com.android.ddmlib.IDevice;
-
-import junit.framework.TestCase;
-
-/**
- * Helper JUnit test case that stores reference to an Android device and test data.
- *
- * Can be extended to verify an Android device's response to various adb commands.
- */
-public abstract class DeviceTestCase extends TestCase implements DeviceTest {
-
- /** Android device under test */
- private IDevice mDevice = null;
- /** optionally, used to store path to test data files */
- private String mTestDataPath = null;
-
- protected DeviceTestCase() {
- }
-
- /**
- * {@inheritDoc}
- */
- public void setDevice(IDevice device) {
- mDevice = device;
- }
-
- /**
- * {@inheritDoc}
- */
- public IDevice getDevice() {
- return mDevice;
- }
-
- /**
- * {@inheritDoc}
- */
- public String getTestAppPath() {
- return mTestDataPath;
- }
-
- /**
- * {@inheritDoc}
- */
- public void setTestAppPath(String path) {
- mTestDataPath = path;
- }
-
- @Override
- protected void setUp() throws Exception {
- // ensure device has been set before test is run
- assertNotNull(getDevice());
- }
-}
diff --git a/tools/hosttestlib/src/com/android/hosttest/DeviceTestRunner.java b/tools/hosttestlib/src/com/android/hosttest/DeviceTestRunner.java
deleted file mode 100644
index 31ba31c1a..000000000
--- a/tools/hosttestlib/src/com/android/hosttest/DeviceTestRunner.java
+++ /dev/null
@@ -1,143 +0,0 @@
-/*
- * Copyright (C) 2009 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.hosttest;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import junit.framework.Test;
-import junit.framework.TestResult;
-import junit.textui.TestRunner;
-
-import com.android.ddmlib.AndroidDebugBridge;
-import com.android.ddmlib.IDevice;
-import com.android.ddmlib.Log;
-import com.android.ddmlib.AndroidDebugBridge.IDeviceChangeListener;
-
-/**
- * Command line interface for running DeviceTest tests.
- *
- * Extends junit.textui.TestRunner to handle optional -s (device serial) and -p (test data)
- * arguments, and then pass their values to the instantiated DeviceTests.
- *
- * Provided test class must be a DeviceTest.
- *
- * @see junit.textui.TestRunner for more information on command line syntax.
- */
-public class DeviceTestRunner extends TestRunner {
-
- private static final String LOG_TAG = "DeviceTestRunner";
- private String mDeviceSerial = null;
- private IDevice mDevice = null;
- private String mTestDataPath = null;
-
- private DeviceTestRunner() {
- }
-
- /**
- * Starts the test run.
- * Extracts out DeviceTestCase specific command line arguments, then passes control to parent
- * TestRunner.
- * @param args command line arguments
- * @return {@link TestResult}
- */
- @Override
- public TestResult start(String[] args) throws Exception {
- // holds unprocessed arguments to pass to parent
- List parentArgs = new ArrayList();
- for (int i=0; i < args.length; i++) {
- if (args[i].equals("-s")) {
- i++;
- mDeviceSerial = extractArg(args, i);
- } else if (args[i].equals("-p")) {
- i++;
- mTestDataPath = extractArg(args, i);
- } else {
- // unrecognized arg, must be for parent
- parentArgs.add(args[i]);
- }
- }
- DeviceConnector connector = new DeviceConnector();
- mDevice = connector.connectToDevice(mDeviceSerial);
- return super.start(parentArgs.toArray(new String[parentArgs.size()]));
- }
-
- private String extractArg(String[] args, int index) {
- if (args.length <= index) {
- printUsage();
- throw new IllegalArgumentException("Error: not enough arguments");
- }
- return args[index];
- }
-
-
- /**
- * Main entry point.
- *
- * Establishes connection to provided adb device and runs tests
- *
- * @param args expects:
- * test class to run
- * optionally, device serial number. If unspecified, will connect to first device found
- * optionally, file system path to test data files
- */
- public static void main(String[] args) {
- DeviceTestRunner aTestRunner = new DeviceTestRunner();
- try {
- TestResult r = aTestRunner.start(args);
- if (!r.wasSuccessful())
- System.exit(FAILURE_EXIT);
- System.exit(SUCCESS_EXIT);
- } catch(Exception e) {
- System.err.println(e.getMessage());
- System.exit(EXCEPTION_EXIT);
- }
- }
-
- private static void printUsage() {
- System.out.println("Usage: DeviceTestRunner [-s device_serial] " +
- "[-p test_data_path]");
- }
-
- /**
- * Override parent to set DeviceTest data
- */
- @Override
- public TestResult doRun(Test test, boolean wait) {
- if (test instanceof DeviceTest) {
- DeviceTest deviceTest = (DeviceTest)test;
- deviceTest.setDevice(mDevice);
- deviceTest.setTestAppPath(mTestDataPath);
- } else {
- Log.w(LOG_TAG, String.format("%s test class is not a DeviceTest.",
- test.getClass().getName()));
- }
- return super.doRun(test, wait);
- }
-
- /**
- * Override parent to create DeviceTestSuite wrapper, instead of TestSuite
- */
- @SuppressWarnings("unchecked")
- @Override
- protected TestResult runSingleMethod(String testCase, String method, boolean wait)
- throws Exception {
- Class testClass = loadSuiteClass(testCase);
- Test test = DeviceTestSuite.createTest(testClass, method);
- return doRun(test, wait);
- }
-}
diff --git a/tools/hosttestlib/src/com/android/hosttest/DeviceTestSuite.java b/tools/hosttestlib/src/com/android/hosttest/DeviceTestSuite.java
deleted file mode 100644
index 65bdaaafe..000000000
--- a/tools/hosttestlib/src/com/android/hosttest/DeviceTestSuite.java
+++ /dev/null
@@ -1,89 +0,0 @@
-/*
- * Copyright (C) 2009 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.hosttest;
-
-import com.android.ddmlib.IDevice;
-
-import junit.framework.Test;
-import junit.framework.TestResult;
-import junit.framework.TestSuite;
-
-/**
- * Helper JUnit test suite that stores reference to an Android device and test data.
- */
-public class DeviceTestSuite extends TestSuite implements DeviceTest {
-
- private IDevice mDevice = null;
- private String mTestDataPath = null;
-
- public DeviceTestSuite(Class testClass) {
- super(testClass);
- }
-
- public DeviceTestSuite() {
- super();
- }
-
- /**
- * Adds the tests from the given class to the suite
- */
- @Override
- public void addTestSuite(Class testClass) {
- addTest(new DeviceTestSuite(testClass));
- }
-
- /**
- * Overrides parent method to pass in device and test app path to included test
- */
- @Override
- public void runTest(Test test, TestResult result) {
- if (test instanceof DeviceTest) {
- DeviceTest deviceTest = (DeviceTest)test;
- deviceTest.setDevice(mDevice);
- deviceTest.setTestAppPath(mTestDataPath);
- }
- test.run(result);
- }
-
- /**
- * {@inheritDoc}
- */
- public IDevice getDevice() {
- return mDevice;
- }
-
- /**
- * {@inheritDoc}
- */
- public String getTestAppPath() {
- return mTestDataPath;
- }
-
- /**
- * {@inheritDoc}
- */
- public void setDevice(IDevice device) {
- mDevice = device;
- }
-
- /**
- * {@inheritDoc}
- */
- public void setTestAppPath(String path) {
- mTestDataPath = path;
- }
-}