Merge "HDMICEC: Start cec-client as TV for non-TV tests"
diff --git a/hostsidetests/hdmicec/src/android/hdmicec/cts/BaseHdmiCecCtsTest.java b/hostsidetests/hdmicec/src/android/hdmicec/cts/BaseHdmiCecCtsTest.java
index b81972d..1e98316 100644
--- a/hostsidetests/hdmicec/src/android/hdmicec/cts/BaseHdmiCecCtsTest.java
+++ b/hostsidetests/hdmicec/src/android/hdmicec/cts/BaseHdmiCecCtsTest.java
@@ -69,7 +69,9 @@
mDutLogicalAddress = LogicalAddress.getLogicalAddress(getDumpsysLogicalAddress());
}
hdmiCecClient.setTargetLogicalAddress(mDutLogicalAddress);
- hdmiCecClient.init();
+ boolean startAsTv =
+ mDutLogicalAddress.getDeviceType() != HdmiCecConstants.CEC_DEVICE_TYPE_TV;
+ hdmiCecClient.init(startAsTv);
}
/** Class with predefined rules which can be used by HDMI CEC CTS tests. */
diff --git a/hostsidetests/hdmicec/src/android/hdmicec/cts/HdmiCecClientWrapper.java b/hostsidetests/hdmicec/src/android/hdmicec/cts/HdmiCecClientWrapper.java
index 1fa1471..bf03d88 100644
--- a/hostsidetests/hdmicec/src/android/hdmicec/cts/HdmiCecClientWrapper.java
+++ b/hostsidetests/hdmicec/src/android/hdmicec/cts/HdmiCecClientWrapper.java
@@ -17,7 +17,6 @@
package android.hdmicec.cts;
import com.android.tradefed.log.LogUtil.CLog;
-import com.android.tradefed.testtype.junit4.BaseHostJUnit4Test;
import com.android.tradefed.util.RunUtil;
import org.junit.rules.ExternalResource;
@@ -46,6 +45,7 @@
private BufferedReader mInputConsole;
private boolean mCecClientInitialised = false;
+ private LogicalAddress selfDevice = LogicalAddress.RECORDER_1;
private LogicalAddress targetDevice = LogicalAddress.UNKNOWN;
private String clientParams[];
@@ -64,7 +64,7 @@
}
/** Initialise the client */
- void init() throws Exception {
+ void init(boolean startAsTv) throws Exception {
if (targetDevice == LogicalAddress.UNKNOWN) {
throw new IllegalStateException("Missing logical address of the target device.");
}
@@ -76,6 +76,11 @@
* address 2.0.0.0 */
commands.add("-p");
commands.add("2");
+ if (startAsTv) {
+ commands.add("-t");
+ commands.add("-x");
+ selfDevice = LogicalAddress.TV;
+ }
commands.addAll(Arrays.asList(clientParams));
mCecClient = RunUtil.getDefault().runCmdInBackground(commands);
@@ -356,6 +361,11 @@
}
}
+ /** Returns the device type that the cec-client has started as. */
+ public LogicalAddress getSelfDevice() {
+ return selfDevice;
+ }
+
/**
* Kills the cec-client process that was created in init().
*/
diff --git a/hostsidetests/hdmicec/src/android/hdmicec/cts/common/HdmiCecSystemInformationTest.java b/hostsidetests/hdmicec/src/android/hdmicec/cts/common/HdmiCecSystemInformationTest.java
index 8adbb1d..5fb2187 100644
--- a/hostsidetests/hdmicec/src/android/hdmicec/cts/common/HdmiCecSystemInformationTest.java
+++ b/hostsidetests/hdmicec/src/android/hdmicec/cts/common/HdmiCecSystemInformationTest.java
@@ -18,18 +18,12 @@
import static com.google.common.truth.Truth.assertThat;
-import static org.junit.Assume.assumeTrue;
import android.hdmicec.cts.BaseHdmiCecCtsTest;
import android.hdmicec.cts.CecClientMessage;
import android.hdmicec.cts.CecMessage;
import android.hdmicec.cts.CecOperand;
-import android.hdmicec.cts.HdmiCecConstants;
-import android.hdmicec.cts.LogicalAddress;
-import com.android.tradefed.device.DeviceNotAvailableException;
-import com.android.tradefed.device.ITestDevice;
-import com.android.tradefed.log.LogUtil;
import com.android.tradefed.testtype.DeviceJUnit4ClassRunner;
import org.junit.Rule;
@@ -87,9 +81,10 @@
*/
@Test
public void cect_11_2_6_6_GiveCecVersion() throws Exception {
- hdmiCecClient.sendCecMessage(LogicalAddress.RECORDER_1, CecOperand.GET_CEC_VERSION);
- String message = hdmiCecClient.checkExpectedOutput(LogicalAddress.RECORDER_1,
- CecOperand.CEC_VERSION);
+ hdmiCecClient.sendCecMessage(hdmiCecClient.getSelfDevice(), CecOperand.GET_CEC_VERSION);
+ String message =
+ hdmiCecClient.checkExpectedOutput(
+ hdmiCecClient.getSelfDevice(), CecOperand.CEC_VERSION);
assertThat(CecMessage.getParams(message)).isEqualTo(CEC_VERSION_NUMBER);
}
}