deprecate multi-device harness extension as it has been upstream'ed to TF.
Test: make vts
Change-Id: I906879a8b5ca98f097c8ad1c13afd6c064dc67c1
diff --git a/harnesses/tradefed/src/com/android/compatibility/common/tradefed/testtype/CompatibilityTestMultiDevice.java b/harnesses/tradefed/src/com/android/compatibility/common/tradefed/testtype/CompatibilityTestMultiDevice.java
deleted file mode 100644
index 166825d..0000000
--- a/harnesses/tradefed/src/com/android/compatibility/common/tradefed/testtype/CompatibilityTestMultiDevice.java
+++ /dev/null
@@ -1,97 +0,0 @@
-/*
- * Copyright (C) 2017 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.compatibility.common.tradefed.testtype;
-
-import com.android.compatibility.common.tradefed.util.RetryFilterHelper;
-import com.android.compatibility.common.tradefed.util.VtsRetryFilterHelper;
-import com.android.tradefed.build.IBuildInfo;
-import com.android.tradefed.config.OptionClass;
-import com.android.tradefed.device.DeviceNotAvailableException;
-import com.android.tradefed.device.ITestDevice;
-import com.android.tradefed.testtype.IInvocationContextReceiver;
-import com.android.tradefed.testtype.IMultiDeviceTest;
-
-import java.io.FileNotFoundException;
-import java.util.LinkedList;
-import java.util.Map;
-
-/**
- * A Test for running Compatibility Suites
- */
-@OptionClass(alias = "compatibility")
-public class CompatibilityTestMultiDevice extends CompatibilityTest implements IMultiDeviceTest {
- private Map<ITestDevice, IBuildInfo> mDeviceInfos = null;
-
- /**
- * {@inheritDoc}
- */
- @Override
- public void setDeviceInfos(Map<ITestDevice, IBuildInfo> deviceInfos) {
- mDeviceInfos = deviceInfos;
- }
-
- /**
- * Create a new {@link CompatibilityTest} that will run a sublist of
- * modules.
- */
- public CompatibilityTestMultiDevice(
- int totalShards, IModuleRepo moduleRepo, Integer shardIndex) {
- super(totalShards, moduleRepo, shardIndex);
- }
-
- /**
- * Create a new {@link CompatibilityTestMultiDevice} that will run the default list of
- * modules.
- */
- public CompatibilityTestMultiDevice() {
- super(1 /* totalShards */, new ModuleRepoMultiDevice(), 0);
- }
-
- /**
- * {@inheritDoc}
- */
- @Override
- protected synchronized LinkedList<IModuleDef> initializeModuleRepo()
- throws DeviceNotAvailableException, FileNotFoundException {
- ((ModuleRepoMultiDevice) getModuleRepo()).setInvocationContext(getInvocationContext());
- ((ModuleRepoMultiDevice) getModuleRepo()).setDeviceInfos(mDeviceInfos);
-
- LinkedList<IModuleDef> modules = super.initializeModuleRepo();
-
- for (IModuleDef module : modules) {
- if (module instanceof IMultiDeviceTest) {
- ((IMultiDeviceTest) module).setDeviceInfos(mDeviceInfos);
- }
-
- if (module instanceof IInvocationContextReceiver) {
- ((IInvocationContextReceiver) module).setInvocationContext(getInvocationContext());
- }
- }
-
- return modules;
- }
-
- /**
- * {@inheritDoc}
- */
- @Override
- protected RetryFilterHelper createRetryFilterHelper(Integer retrySessionId) {
- return new VtsRetryFilterHelper(getBuildHelper(), retrySessionId, getSubPlan(),
- getIncludeFilters(), getExcludeFilters(), getAbiName(), getModuleName(),
- getTestName(), getRetryType());
- }
-}
\ No newline at end of file
diff --git a/harnesses/tradefed/src/com/android/compatibility/common/tradefed/testtype/ModuleDefMultiDevice.java b/harnesses/tradefed/src/com/android/compatibility/common/tradefed/testtype/ModuleDefMultiDevice.java
deleted file mode 100644
index 8102e0b..0000000
--- a/harnesses/tradefed/src/com/android/compatibility/common/tradefed/testtype/ModuleDefMultiDevice.java
+++ /dev/null
@@ -1,152 +0,0 @@
-/*
- * Copyright (C) 2017 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.compatibility.common.tradefed.testtype;
-
-import com.android.tradefed.build.IBuildInfo;
-import com.android.tradefed.config.ConfigurationDescriptor;
-import com.android.tradefed.device.DeviceNotAvailableException;
-import com.android.tradefed.device.ITestDevice;
-import com.android.tradefed.invoker.IInvocationContext;
-import com.android.tradefed.log.LogUtil.CLog;
-import com.android.tradefed.result.ITestInvocationListener;
-import com.android.tradefed.targetprep.BuildError;
-import com.android.tradefed.targetprep.multi.IMultiTargetPreparer;
-import com.android.tradefed.targetprep.ITargetPreparer;
-import com.android.tradefed.targetprep.TargetSetupError;
-import com.android.tradefed.testtype.IAbi;
-import com.android.tradefed.testtype.IAbiReceiver;
-import com.android.tradefed.testtype.IMultiDeviceTest;
-import com.android.tradefed.testtype.IRemoteTest;
-
-import java.util.ArrayList;
-import java.util.Collections;
-import java.util.List;
-import java.util.Map;
-
-/**
- * Container for Compatibility test module info.
- */
-public class ModuleDefMultiDevice extends ModuleDef implements IMultiDeviceTest {
- private Map<ITestDevice, IBuildInfo> mDeviceInfos = null;
- private List<IMultiTargetPreparer> mMultiPreparers = new ArrayList<>();
-
- public ModuleDefMultiDevice(String name, IAbi abi, IRemoteTest test,
- List<ITargetPreparer> preparersSingleDevice, List<IMultiTargetPreparer> preparers,
- ConfigurationDescriptor configurationDescriptor) {
- super(name, abi, test, preparersSingleDevice, configurationDescriptor);
-
- boolean hasAbiReceiver = false;
- for (IMultiTargetPreparer preparer : preparers) {
- if (preparer instanceof IAbiReceiver) {
- hasAbiReceiver = true;
- break;
- }
- }
- for (ITargetPreparer preparer : preparersSingleDevice) {
- if (preparer instanceof IAbiReceiver) {
- hasAbiReceiver = true;
- break;
- }
- }
-
- mMultiPreparers = preparers;
-
- // Required interfaces:
- super.checkRequiredInterfaces(hasAbiReceiver);
- }
-
- /**
- * {@inheritDoc}
- */
- @Override
- public void setDeviceInfos(Map<ITestDevice, IBuildInfo> deviceInfos) {
- mDeviceInfos = deviceInfos;
- }
-
- /**
- * Getter method for mDeviceInfos.
- */
- public Map<ITestDevice, IBuildInfo> getDeviceInfos() {
- return mDeviceInfos;
- }
-
- /**
- * {@inheritDoc}
- */
- @Override
- protected void prepareTestClass() {
- super.prepareTestClass();
-
- IRemoteTest test = getTest();
- if (test instanceof IMultiDeviceTest) {
- ((IMultiDeviceTest) test).setDeviceInfos(mDeviceInfos);
- }
- }
-
- /**
- * {@inheritDoc}
- */
- @Override
- protected void runPreparerSetups() throws DeviceNotAvailableException {
- super.runPreparerSetups();
-
- for (IMultiTargetPreparer preparer : mMultiPreparers) {
- String preparerName = preparer.getClass().getCanonicalName();
- if (!getPreparerWhitelist().isEmpty()
- && !getPreparerWhitelist().contains(preparerName)) {
- CLog.w("Skipping Preparer: %s since it is not in the whitelist %s", preparerName,
- getPreparerWhitelist());
- return;
- }
-
- CLog.d("MultiDevicePreparer: %s", preparer.getClass().getSimpleName());
-
- if (preparer instanceof IAbiReceiver) {
- ((IAbiReceiver) preparer).setAbi(getAbi());
- }
-
- try {
- preparer.setUp(getInvocationContext());
- } catch (BuildError e) {
- // This should only happen for flashing new build
- CLog.e("Unexpected BuildError from multi-device preparer: %s",
- preparer.getClass().getCanonicalName());
- throw new RuntimeException(e);
- } catch (TargetSetupError e) {
- // log preparer class then rethrow & let caller handle
- CLog.e("TargetSetupError in multi-device preparer: %s",
- preparer.getClass().getCanonicalName());
- throw new RuntimeException(e);
- }
- }
- }
-
- /**
- * {@inheritDoc}
- */
- @Override
- public void run(ITestInvocationListener listener) throws DeviceNotAvailableException {
- super.run(listener);
-
- // Tear down
- for (int i = mMultiPreparers.size() - 1; i >= 0; i--) {
- IMultiTargetPreparer cleaner = mMultiPreparers.get(i);
- CLog.d("MultiDeviceCleaner: %s", cleaner.getClass().getSimpleName());
- cleaner.tearDown(getInvocationContext(), null);
- }
- }
-}
diff --git a/harnesses/tradefed/src/com/android/compatibility/common/tradefed/testtype/ModuleRepoMultiDevice.java b/harnesses/tradefed/src/com/android/compatibility/common/tradefed/testtype/ModuleRepoMultiDevice.java
deleted file mode 100644
index 181d3b7..0000000
--- a/harnesses/tradefed/src/com/android/compatibility/common/tradefed/testtype/ModuleRepoMultiDevice.java
+++ /dev/null
@@ -1,76 +0,0 @@
-/*
- * Copyright (C) 2017 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.compatibility.common.tradefed.testtype;
-
-import com.android.tradefed.build.IBuildInfo;
-import com.android.tradefed.config.ConfigurationException;
-import com.android.tradefed.config.IConfiguration;
-import com.android.tradefed.device.ITestDevice;
-import com.android.tradefed.invoker.IInvocationContext;
-import com.android.tradefed.targetprep.ITargetPreparer;
-import com.android.tradefed.testtype.IAbi;
-import com.android.tradefed.testtype.IInvocationContextReceiver;
-import com.android.tradefed.testtype.IMultiDeviceTest;
-import com.android.tradefed.testtype.IRemoteTest;
-
-import java.util.ArrayList;
-import java.util.List;
-import java.util.Map;
-
-/**
- * Retrieves Compatibility multi-device test module definitions from the repository.
- */
-public class ModuleRepoMultiDevice
- extends ModuleRepo implements IMultiDeviceTest, IInvocationContextReceiver {
- private Map<ITestDevice, IBuildInfo> mDeviceInfos = null;
- private IInvocationContext mInvocationContext = null;
-
- /**
- * {@inheritDoc}
- */
- @Override
- public void setDeviceInfos(Map<ITestDevice, IBuildInfo> deviceInfos) {
- mDeviceInfos = deviceInfos;
- }
-
- /**
- * {@inheritDoc}
- */
- @Override
- public void setInvocationContext(IInvocationContext invocationContext) {
- mInvocationContext = invocationContext;
- }
-
- /**
- * {@inheritDoc}
- */
- @Override
- protected void addModuleDef(String name, IAbi abi, IRemoteTest test, String[] configPaths)
- throws ConfigurationException {
- // Invokes parser to process the test module config file
- IConfiguration config = getConfigFactory().createConfigurationFromArgs(configPaths);
-
- List<ITargetPreparer> preparers = new ArrayList<ITargetPreparer>();
-
- if (mDeviceInfos == null || mDeviceInfos.size() <= 1) {
- preparers = config.getTargetPreparers();
- }
-
- addModuleDef(new ModuleDefMultiDevice(name, abi, test, preparers,
- config.getMultiTargetPreparers(), config.getConfigurationDescription()));
- }
-}
diff --git a/harnesses/tradefed/tests/src/com/android/compatibility/common/tradefed/VtsUnitTests.java b/harnesses/tradefed/tests/src/com/android/compatibility/common/tradefed/VtsUnitTests.java
index 1c98e6f..6ab624e 100644
--- a/harnesses/tradefed/tests/src/com/android/compatibility/common/tradefed/VtsUnitTests.java
+++ b/harnesses/tradefed/tests/src/com/android/compatibility/common/tradefed/VtsUnitTests.java
@@ -15,8 +15,6 @@
*/
package com.android.compatibility.common.tradefed;
-import com.android.compatibility.common.tradefed.testtype.CompatibilityTestMultiDeviceTest;
-import com.android.compatibility.common.tradefed.testtype.ModuleDefMultiDeviceTest;
import com.android.compatibility.common.tradefed.util.VtsRetryFilterHelperTest;
import org.junit.runner.RunWith;
@@ -31,8 +29,6 @@
@SuiteClasses({
// NOTE: please keep classes sorted lexicographically in each group
// testtype
- CompatibilityTestMultiDeviceTest.class,
- ModuleDefMultiDeviceTest.class,
// util
VtsRetryFilterHelperTest.class,
diff --git a/harnesses/tradefed/tests/src/com/android/compatibility/common/tradefed/testtype/CompatibilityTestMultiDeviceTest.java b/harnesses/tradefed/tests/src/com/android/compatibility/common/tradefed/testtype/CompatibilityTestMultiDeviceTest.java
deleted file mode 100644
index 0c426e5..0000000
--- a/harnesses/tradefed/tests/src/com/android/compatibility/common/tradefed/testtype/CompatibilityTestMultiDeviceTest.java
+++ /dev/null
@@ -1,88 +0,0 @@
-/*
- * Copyright (C) 2017 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.compatibility.common.tradefed.testtype;
-
-import com.android.tradefed.build.IBuildInfo;
-import com.android.tradefed.device.DeviceNotAvailableException;
-import com.android.tradefed.device.ITestDevice;
-import com.android.tradefed.invoker.IInvocationContext;
-import com.android.tradefed.testtype.VtsMultiDeviceTest;
-import com.android.tradefed.testtype.IAbi;
-
-import java.io.FileNotFoundException;
-import java.util.LinkedList;
-import java.util.Map;
-import java.util.ArrayList;
-import java.util.HashMap;
-import org.easymock.EasyMock;
-import org.junit.Before;
-import org.junit.Test;
-import org.junit.runner.RunWith;
-import org.junit.runners.JUnit4;
-import static org.junit.Assert.assertEquals;
-
-/**
- * Unit tests for {@link CompatibilityTestMultiDevice}.
- */
-@RunWith(JUnit4.class)
-public class CompatibilityTestMultiDeviceTest {
- CompatibilityTestMultiDevice mTest = null;
- private ITestDevice mMockDevice;
- private ModuleDefMultiDevice moduleDef;
- Map<ITestDevice, IBuildInfo> deviceInfos;
- IInvocationContext invocationContext;
-
- @Before
- public void setUp() throws Exception {
- mMockDevice = EasyMock.createMock(ITestDevice.class);
- IAbi abi = EasyMock.createMock(IAbi.class);
- EasyMock.expect(abi.getName()).andReturn("FAKE_ABI");
- moduleDef = new ModuleDefMultiDevice("FAKE_MODULE", abi, new VtsMultiDeviceTest(),
- new ArrayList<>(), new ArrayList<>(), null);
- deviceInfos = new HashMap<>();
- invocationContext = EasyMock.createMock(IInvocationContext.class);
-
- mTest = new CompatibilityTestMultiDevice(1, new ModuleRepoMultiDevice() {
- @Override
- public boolean isInitialized() {
- return true;
- }
- @Override
- public LinkedList<IModuleDef> getModules(String serial, int shardIndex) {
- LinkedList<IModuleDef> modules = new LinkedList<>();
- modules.add(moduleDef);
- return modules;
- }
- }, 0);
- mTest.setDevice(mMockDevice);
- mTest.setDeviceInfos(deviceInfos);
- mTest.setInvocationContext(invocationContext);
- }
-
- /**
- * Test the initializeModuleRepo method.
- * @throws DeviceNotAvailableException
- * @throws FileNotFoundException
- */
- @Test
- public void testInitializeModuleRepo()
- throws FileNotFoundException, DeviceNotAvailableException {
- mTest.initializeModuleRepo();
- assertEquals(deviceInfos, moduleDef.getDeviceInfos());
- assertEquals(invocationContext, moduleDef.getInvocationContext());
- }
-}
diff --git a/harnesses/tradefed/tests/src/com/android/compatibility/common/tradefed/testtype/ModuleDefMultiDeviceTest.java b/harnesses/tradefed/tests/src/com/android/compatibility/common/tradefed/testtype/ModuleDefMultiDeviceTest.java
deleted file mode 100644
index 2022f64..0000000
--- a/harnesses/tradefed/tests/src/com/android/compatibility/common/tradefed/testtype/ModuleDefMultiDeviceTest.java
+++ /dev/null
@@ -1,103 +0,0 @@
-/*
- * Copyright (C) 2017 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.compatibility.common.tradefed.testtype;
-
-import com.android.tradefed.build.IBuildInfo;
-import com.android.tradefed.device.DeviceNotAvailableException;
-import com.android.tradefed.device.ITestDevice;
-import com.android.tradefed.invoker.IInvocationContext;
-import com.android.tradefed.targetprep.BuildError;
-import com.android.tradefed.targetprep.TargetSetupError;
-import com.android.tradefed.targetprep.multi.IMultiTargetPreparer;
-import com.android.tradefed.testtype.IAbi;
-import com.android.tradefed.testtype.VtsMultiDeviceTest;
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-import org.easymock.EasyMock;
-import org.junit.Before;
-import org.junit.Test;
-import org.junit.runner.RunWith;
-import org.junit.runners.JUnit4;
-import static org.junit.Assert.assertEquals;
-
-/**
- * Unit tests for {@link ModuleDefMultiDeviceTest}.
- */
-@RunWith(JUnit4.class)
-public class ModuleDefMultiDeviceTest {
- private ITestDevice mMockDevice;
- private IBuildInfo mBuildInfo;
- private ModuleDefMultiDevice mTest;
- private Map<ITestDevice, IBuildInfo> mDeviceInfos;
- private IInvocationContext mInvocationContext;
- private IMultiTargetPreparer mMultiTargetPreparer;
- private VtsMultiDeviceTest mVtsMultiDeviceTest;
-
- @Before
- public void setUp() throws Exception {
- mMockDevice = EasyMock.createMock(ITestDevice.class);
- mBuildInfo = EasyMock.createMock(IBuildInfo.class);
- IAbi mAbi = EasyMock.createMock(IAbi.class);
- EasyMock.expect(mAbi.getName()).andReturn("FAKE_ABI");
- mMultiTargetPreparer = EasyMock.createMock(IMultiTargetPreparer.class);
-
- List<IMultiTargetPreparer> preparers = new ArrayList<>();
- preparers.add(mMultiTargetPreparer);
- mVtsMultiDeviceTest = new VtsMultiDeviceTest();
- mTest = new ModuleDefMultiDevice(
- "FAKE_MODULE", mAbi, mVtsMultiDeviceTest, new ArrayList<>(), preparers, null);
- mDeviceInfos = new HashMap<>();
- mInvocationContext = EasyMock.createMock(IInvocationContext.class);
- ArrayList<ITestDevice> devices = new ArrayList<>();
- devices.add(mMockDevice);
- ArrayList<IBuildInfo> buildInfos = new ArrayList<>();
- buildInfos.add(mBuildInfo);
- EasyMock.expect(mInvocationContext.getDevices()).andReturn(devices);
- EasyMock.expect(mInvocationContext.getBuildInfos()).andReturn(buildInfos);
- EasyMock.replay(mInvocationContext);
-
- mTest.setDeviceInfos(mDeviceInfos);
- mTest.setInvocationContext(mInvocationContext);
- }
-
- /**
- * Test the testRunPreparerSetUp method.
- * @throws BuildError
- * @throws TargetSetupError
- * @throws DeviceNotAvailableException
- */
- @Test
- public void testRunPreparerSetups()
- throws TargetSetupError, BuildError, DeviceNotAvailableException {
- mMultiTargetPreparer.setUp(mInvocationContext);
- EasyMock.expectLastCall();
- EasyMock.replay(mMultiTargetPreparer);
- mTest.runPreparerSetups();
- EasyMock.verify(mMultiTargetPreparer);
- }
-
- /**
- * Test the prepareTestClass method.
- */
- @Test
- public void testPrepareTestClass() {
- mTest.prepareTestClass();
- assertEquals(mVtsMultiDeviceTest.getInvocationContext(), mInvocationContext);
- }
-}