Merge "DO NOT MERGE This CTS will failed in pixel-C, refer to b/28986484. So revert it. Only work for nyc, never merge into L, M Revert "DO NOT MERGE This test is to test the security vulnerability in qhwc::MDPCompLowRes::allocLayerPipes (Qualcomm) and that remote rode execution vulnerabilities in Display Driver is fixed Bug #24163261"" into nyc-dev
diff --git a/common/host-side/tradefed/res/config/common-compatibility-config.xml b/common/host-side/tradefed/res/config/common-compatibility-config.xml
index 1b40f16..7ffbea5 100644
--- a/common/host-side/tradefed/res/config/common-compatibility-config.xml
+++ b/common/host-side/tradefed/res/config/common-compatibility-config.xml
@@ -20,5 +20,6 @@
<logger class="com.android.tradefed.log.FileLogger">
<option name="log-level-display" value="WARN" />
</logger>
+ <result_reporter class="com.android.compatibility.common.tradefed.result.ConsoleReporter" />
<result_reporter class="com.android.compatibility.common.tradefed.result.ResultReporter" />
</configuration>
diff --git a/common/host-side/tradefed/src/com/android/compatibility/common/tradefed/result/ConsoleReporter.java b/common/host-side/tradefed/src/com/android/compatibility/common/tradefed/result/ConsoleReporter.java
new file mode 100644
index 0000000..19adb3f
--- /dev/null
+++ b/common/host-side/tradefed/src/com/android/compatibility/common/tradefed/result/ConsoleReporter.java
@@ -0,0 +1,151 @@
+/*
+ * Copyright (C) 2016 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.result;
+
+import com.android.ddmlib.Log;
+import com.android.ddmlib.Log.LogLevel;
+import com.android.ddmlib.testrunner.TestIdentifier;
+import com.android.tradefed.build.IBuildInfo;
+import com.android.tradefed.config.Option;
+import com.android.tradefed.config.OptionClass;
+import com.android.tradefed.config.OptionCopier;
+import com.android.tradefed.log.LogUtil.CLog;
+import com.android.tradefed.result.IShardableListener;
+import com.android.tradefed.result.StubTestInvocationListener;
+import com.android.tradefed.util.TimeUtil;
+
+import java.util.Map;
+
+/**
+ * Write test progress to the test console.
+ */
+public class ConsoleReporter extends StubTestInvocationListener implements IShardableListener {
+
+ private static final String UNKNOWN_DEVICE = "unknown_device";
+
+ @Option(name = "quiet-output", description = "Mute display of test results.")
+ private boolean mQuietOutput = false;
+
+ private String mDeviceSerial = UNKNOWN_DEVICE;
+ private boolean mTestFailed;
+ private String mModuleId;
+
+ /**
+ * {@inheritDoc}
+ */
+ @Override
+ public void invocationStarted(IBuildInfo buildInfo) {
+ if (buildInfo == null) {
+ CLog.w("buildInfo should not be null");
+ return;
+ }
+
+ mDeviceSerial = buildInfo.getDeviceSerial().replace("%", "%%");
+ }
+
+ /**
+ * {@inheritDoc}
+ */
+ @Override
+ public void testRunStarted(String id, int numTests) {
+ mModuleId = id;
+ log("Starting %s with %d test%s", id, numTests, (numTests > 1) ? "s" : "");
+ }
+
+ /**
+ * {@inheritDoc}
+ */
+ @Override
+ public void testStarted(TestIdentifier test) {
+ mTestFailed = false;
+ }
+
+ /**
+ * {@inheritDoc}
+ */
+ @Override
+ public void testFailed(TestIdentifier test, String trace) {
+ log("%s fail: %s", test, trace);
+ mTestFailed = true;
+ }
+
+ /**
+ * {@inheritDoc}
+ */
+ @Override
+ public void testIgnored(TestIdentifier test) {
+ log("%s ignore", test);
+ }
+
+ /**
+ * {@inheritDoc}
+ */
+ @Override
+ public void testAssumptionFailure(TestIdentifier test, String trace) {
+ log("%s failed assumption: %s", test, trace);
+ }
+
+ /**
+ * {@inheritDoc}
+ */
+ @Override
+ public void testEnded(TestIdentifier test, Map<String, String> testMetrics) {
+ if (!mTestFailed) {
+ log("%s pass", test);
+ }
+ }
+
+ /**
+ * {@inheritDoc}
+ */
+ @Override
+ public void testRunFailed(String errorMessage) {
+ log(errorMessage);
+ }
+
+ /**
+ * {@inheritDoc}
+ */
+ @Override
+ public void testRunStopped(long elapsedTime) {
+ log("%s stopped (%s)", mModuleId, TimeUtil.formatElapsedTime(elapsedTime));
+ }
+
+ /**
+ * Print out to the console or log silently when mQuietOutput is true.
+ */
+ private void log(String format, Object... args) {
+ // Escape any "%" signs in the device serial.
+ format = String.format("[%s] %s", mDeviceSerial, format);
+
+ if (mQuietOutput) {
+ CLog.i(format, args);
+ } else {
+ CLog.logAndDisplay(LogLevel.INFO, format, args);
+ }
+ }
+
+ /**
+ * {@inheritDoc}
+ */
+ @Override
+ public IShardableListener clone() {
+ ConsoleReporter clone = new ConsoleReporter();
+ OptionCopier.copyOptionsNoThrow(this, clone);
+ return clone;
+ }
+}
diff --git a/common/host-side/tradefed/src/com/android/compatibility/common/tradefed/result/ResultReporter.java b/common/host-side/tradefed/src/com/android/compatibility/common/tradefed/result/ResultReporter.java
index c609163..ae74c26 100644
--- a/common/host-side/tradefed/src/com/android/compatibility/common/tradefed/result/ResultReporter.java
+++ b/common/host-side/tradefed/src/com/android/compatibility/common/tradefed/result/ResultReporter.java
@@ -64,7 +64,7 @@
import java.util.Map.Entry;
/**
- * Reporter for Compatibility test results.
+ * Collect test results for an entire invocation and output test results to disk.
*/
@OptionClass(alias="result-reporter")
public class ResultReporter implements ILogSaverListener, ITestInvocationListener,
@@ -85,9 +85,6 @@
importance = Importance.IF_UNSET)
private Integer mRetrySessionId = null;
- @Option(name = "quiet-output", description = "Mute display of test results.")
- private boolean mQuietOutput = false;
-
@Option(name = "result-server", description = "Server to publish test results.")
private String mResultServer;
@@ -154,7 +151,7 @@
e.printStackTrace();
}
if (mResultDir != null && mResultDir.mkdirs()) {
- logResult("Created result dir %s", mResultDir.getAbsolutePath());
+ info("Created result dir %s", mResultDir.getAbsolutePath());
} else {
throw new IllegalArgumentException(String.format("Could not create result dir %s",
mResultDir.getAbsolutePath()));
@@ -169,7 +166,7 @@
e.printStackTrace();
}
if (mLogDir != null && mLogDir.mkdirs()) {
- logResult("Created log dir %s", mLogDir.getAbsolutePath());
+ info("Created log dir %s", mLogDir.getAbsolutePath());
} else {
throw new IllegalArgumentException(String.format("Could not create log dir %s",
mLogDir.getAbsolutePath()));
@@ -188,7 +185,6 @@
*/
@Override
public void testRunStarted(String id, int numTests) {
- logResult("Starting %s with %d test%s", id, numTests, (numTests > 1) ? "s" : "");
mCurrentModuleResult = mResult.getOrCreateModule(id);
if (mDeviceSerial == null || mDeviceSerial.equals("unknown_device")) {
mResult.addDeviceSerial(mBuild.getDeviceSerial());
@@ -213,7 +209,6 @@
@Override
public void testEnded(TestIdentifier test, Map<String, String> metrics) {
if (mCurrentResult.getResultStatus() == TestStatus.FAIL) {
- logResult("%s has previously failed", test);
// Test has previously failed.
return;
}
@@ -235,12 +230,6 @@
// Only claim that we passed when we're certain our result was
// not any other state.
mCurrentResult.passed(report);
- logResult("%s passed", test);
- } else {
- // We had some other result (presumably NOT_EXECUTED, but we
- // leave this more general in case of future expansion of the
- // TestResult enum.
- logResult("%s %s", test, mCurrentResult.getResultStatus().getValue());
}
}
@@ -249,8 +238,7 @@
*/
@Override
public void testIgnored(TestIdentifier test) {
- mCurrentResult.notExecuted();
- logResult("%s ignored", test);
+ // Ignored tests are not reported
}
/**
@@ -259,7 +247,6 @@
@Override
public void testFailed(TestIdentifier test, String trace) {
mCurrentResult.failed(trace);
- logResult("%s failed: %s", test, trace);
}
/**
@@ -268,7 +255,6 @@
@Override
public void testAssumptionFailure(TestIdentifier test, String trace) {
mCurrentResult.skipped();
- logResult("%s failed assumption: %s", test, trace);
}
/**
@@ -276,8 +262,6 @@
*/
@Override
public void testRunStopped(long elapsedTime) {
- logResult("%s stopped after %s", mCurrentModuleResult.getId(),
- TimeUtil.formatElapsedTime(elapsedTime));
// ignore
}
@@ -294,7 +278,7 @@
}
}
mCurrentModuleResult.addRuntime(elapsedTime);
- logResult("%s completed in %s. %d passed, %d failed, %d not executed",
+ info("%s completed in %s. %d passed, %d failed, %d not executed",
mCurrentModuleResult.getId(),
TimeUtil.formatElapsedTime(elapsedTime),
mCurrentModuleResult.countResults(TestStatus.PASS),
@@ -306,8 +290,7 @@
* {@inheritDoc}
*/
@Override
- public void testRunFailed(String id) {
- logResult("%s failed to run", id);
+ public void testRunFailed(String errorMessage) {
// ignore
}
@@ -335,7 +318,7 @@
*/
@Override
public void invocationEnded(long elapsedTime) {
- logResult("Invocation completed in %s. %d passed, %d failed, %d not executed",
+ info("Invocation completed in %s. %d passed, %d failed, %d not executed",
TimeUtil.formatElapsedTime(elapsedTime),
mResult.countResults(TestStatus.PASS),
mResult.countResults(TestStatus.FAIL),
@@ -352,11 +335,12 @@
mBuildHelper.getSuiteVersion(), mBuildHelper.getSuitePlan(),
mBuildHelper.getSuiteBuild(), mResult, mResultDir, mStartTime,
elapsedTime + mStartTime, mReferenceUrl);
- logResult("Result saved at: %s", resultFile.getCanonicalPath());
+ info("Test Result: %s", resultFile.getCanonicalPath());
copyDynamicConfigFiles(mBuildHelper.getDynamicConfigFiles(), mResultDir);
copyFormattingFiles(mResultDir);
// Zip the full test results directory.
File zippedResults = zipResults(mResultDir);
+ info("Full Result: %s", zippedResults.getCanonicalPath());
// Save the test result XML.
if (mUseLogSaver) {
FileInputStream fis = null;
@@ -382,8 +366,7 @@
}
if (mResultServer != null && !mResultServer.trim().isEmpty() && !mDisableResultPosting) {
try {
- logResult("Result Server Response: %d",
- mUploader.uploadResult(resultFile, mReferenceUrl));
+ info("Result Server: %d", mUploader.uploadResult(resultFile, mReferenceUrl));
} catch (IOException ioe) {
CLog.e("[%s] IOException while uploading result.", mDeviceSerial);
CLog.e(ioe);
@@ -402,7 +385,7 @@
*/
@Override
public void invocationFailed(Throwable cause) {
- logResult("Invocation failed: %s", cause);
+ warn("Invocation failed: %s", cause);
}
/**
@@ -413,9 +396,9 @@
try {
LogFileSaver saver = new LogFileSaver(mLogDir);
File logFile = saver.saveAndZipLogData(name, type, stream.createInputStream());
- logResult("Saved logs for %s in %s", name, logFile.getAbsolutePath());
+ info("Saved logs for %s in %s", name, logFile.getAbsolutePath());
} catch (IOException e) {
- logResult("Failed to write log for %s", name);
+ warn("Failed to write log for %s", name);
e.printStackTrace();
}
}
@@ -460,12 +443,10 @@
try {
FileUtil.writeToFile(configStream, resultFile);
} catch (IOException e) {
- Log.w(ResultReporter.class.getSimpleName(),
- String.format("Failed to write %s to file", resultFileName));
+ warn("Failed to write %s to file", resultFileName);
}
} else {
- Log.w(ResultReporter.class.getSimpleName(),
- String.format("Failed to load %s from jar", resultFileName));
+ warn("Failed to load %s from jar", resultFileName);
}
}
}
@@ -487,8 +468,7 @@
FileUtil.copyFile(configFiles.get(moduleName), resultFile);
FileUtil.deleteFile(configFiles.get(moduleName));
} catch (IOException e) {
- Log.w(ResultReporter.class.getSimpleName(),
- String.format("Failed to copy config file for %s to file", moduleName));
+ warn("Failed to copy config file for %s to file", moduleName);
}
}
}
@@ -506,26 +486,36 @@
resultsDir.getName()));
ZipUtil.createZip(resultsDir, zipResultFile);
} catch (IOException e) {
- Log.w(ResultReporter.class.getSimpleName(),
- String.format("Failed to create zip for %s", resultsDir.getName()));
+ warn("Failed to create zip for %s", resultsDir.getName());
}
return zipResultFile;
}
/**
- * @return the mResult
+ * Log info to the console.
*/
- public IInvocationResult getResult() {
- return mResult;
+ private static void info(String format, Object... args) {
+ log(LogLevel.INFO, format, args);
}
- private void logResult(String format, Object... args) {
- // Escape any "%" signs in the device serial.
- format = String.format("[%s] %s", mDeviceSerial.replace("%", "%%"), format);
- if (mQuietOutput) {
- CLog.i(format, args);
- } else {
- CLog.logAndDisplay(LogLevel.INFO, format, args);
- }
+ /**
+ * Log a warning to the console.
+ */
+ private static void warn(String format, Object... args) {
+ log(LogLevel.WARN, format, args);
+ }
+
+ /**
+ * Log a message to the console
+ */
+ private static void log(LogLevel level, String format, Object... args) {
+ CLog.logAndDisplay(level, format, args);
+ }
+
+ /**
+ * For testing
+ */
+ IInvocationResult getResult() {
+ return mResult;
}
}
diff --git a/common/host-side/tradefed/tests/src/com/android/compatibility/common/tradefed/testtype/ModuleDefTest.java b/common/host-side/tradefed/tests/src/com/android/compatibility/common/tradefed/testtype/ModuleDefTest.java
index 8714c1d..25d6930 100644
--- a/common/host-side/tradefed/tests/src/com/android/compatibility/common/tradefed/testtype/ModuleDefTest.java
+++ b/common/host-side/tradefed/tests/src/com/android/compatibility/common/tradefed/testtype/ModuleDefTest.java
@@ -22,7 +22,10 @@
import com.android.tradefed.result.ITestInvocationListener;
import com.android.tradefed.targetprep.ITargetPreparer;
import com.android.tradefed.testtype.IAbi;
+import com.android.tradefed.testtype.IAbiReceiver;
import com.android.tradefed.testtype.IRemoteTest;
+import com.android.tradefed.testtype.IRuntimeHintProvider;
+import com.android.tradefed.testtype.ITestCollector;
import com.android.tradefed.testtype.ITestFilterReceiver;
import junit.framework.TestCase;
@@ -62,7 +65,8 @@
assertEquals("Incorrect exclude filter", TEST_1, mockTest.mExcludeFilters.get(0));
}
- private class MockRemoteTest implements IRemoteTest, ITestFilterReceiver {
+ private class MockRemoteTest implements IRemoteTest, ITestFilterReceiver, IAbiReceiver,
+ IRuntimeHintProvider, ITestCollector {
private final List<String> mIncludeFilters = new ArrayList<>();
private final List<String> mExcludeFilters = new ArrayList<>();
@@ -92,6 +96,20 @@
// Do nothing
}
+ @Override
+ public void setAbi(IAbi abi) {
+ // Do nothing
+ }
+
+ @Override
+ public long getRuntimeHint() {
+ return 1L;
+ }
+
+ @Override
+ public void setCollectTestsOnly(boolean shouldCollectTest) {
+ // Do nothing
+ }
}
private class MockListener extends NoOpTestInvocationListener {}
diff --git a/common/host-side/tradefed/tests/src/com/android/compatibility/common/tradefed/testtype/ShardableTestStub.java b/common/host-side/tradefed/tests/src/com/android/compatibility/common/tradefed/testtype/ShardableTestStub.java
index 52a1aad..d3fe2a7 100644
--- a/common/host-side/tradefed/tests/src/com/android/compatibility/common/tradefed/testtype/ShardableTestStub.java
+++ b/common/host-side/tradefed/tests/src/com/android/compatibility/common/tradefed/testtype/ShardableTestStub.java
@@ -19,16 +19,23 @@
import com.android.tradefed.config.Option;
import com.android.tradefed.device.DeviceNotAvailableException;
import com.android.tradefed.result.ITestInvocationListener;
+import com.android.tradefed.testtype.IAbi;
+import com.android.tradefed.testtype.IAbiReceiver;
import com.android.tradefed.testtype.IBuildReceiver;
import com.android.tradefed.testtype.IRemoteTest;
+import com.android.tradefed.testtype.IRuntimeHintProvider;
import com.android.tradefed.testtype.IShardableTest;
+import com.android.tradefed.testtype.ITestCollector;
+import com.android.tradefed.testtype.ITestFilterReceiver;
import junit.framework.Assert;
import java.util.ArrayList;
import java.util.Collection;
+import java.util.List;
-public class ShardableTestStub implements IRemoteTest, IShardableTest, IBuildReceiver {
+public class ShardableTestStub implements IRemoteTest, IShardableTest, IBuildReceiver,
+ IAbiReceiver, IRuntimeHintProvider, ITestCollector, ITestFilterReceiver {
@Option(name = "module")
String mModule;
@@ -70,4 +77,40 @@
}
return mShards;
}
+
+ @Override
+ public void setAbi(IAbi abi) {
+ // Do nothing
+ }
+
+ @Override
+ public long getRuntimeHint() {
+ return 1L;
+ }
+
+ @Override
+ public void setCollectTestsOnly(boolean shouldCollectTest) {
+ // Do nothing
+ }
+
+ @Override
+ public void addIncludeFilter(String filter) {
+
+ }
+
+ @Override
+ public void addAllIncludeFilters(List<String> filters) {
+
+ }
+
+ @Override
+ public void addExcludeFilter(String filter) {
+
+ }
+
+ @Override
+ public void addAllExcludeFilters(List<String> filters) {
+
+ }
+
}
diff --git a/common/host-side/tradefed/tests/src/com/android/compatibility/common/tradefed/testtype/TestStub.java b/common/host-side/tradefed/tests/src/com/android/compatibility/common/tradefed/testtype/TestStub.java
index 8a6ab69..3acbcb9 100644
--- a/common/host-side/tradefed/tests/src/com/android/compatibility/common/tradefed/testtype/TestStub.java
+++ b/common/host-side/tradefed/tests/src/com/android/compatibility/common/tradefed/testtype/TestStub.java
@@ -18,9 +18,19 @@
import com.android.tradefed.config.Option;
import com.android.tradefed.device.DeviceNotAvailableException;
import com.android.tradefed.result.ITestInvocationListener;
+import com.android.tradefed.testtype.IAbi;
+import com.android.tradefed.testtype.IAbiReceiver;
+import com.android.tradefed.testtype.IBuildReceiver;
import com.android.tradefed.testtype.IRemoteTest;
+import com.android.tradefed.testtype.IRuntimeHintProvider;
+import com.android.tradefed.testtype.IShardableTest;
+import com.android.tradefed.testtype.ITestCollector;
+import com.android.tradefed.testtype.ITestFilterReceiver;
-public class TestStub implements IRemoteTest {
+import java.util.List;
+
+public class TestStub implements IRemoteTest, IAbiReceiver, IRuntimeHintProvider, ITestCollector,
+ ITestFilterReceiver {
@Option(name = "module")
String mModule;
@@ -37,4 +47,39 @@
// Do nothing
}
+ @Override
+ public void setAbi(IAbi abi) {
+ // Do nothing
+ }
+
+ @Override
+ public long getRuntimeHint() {
+ return 1L;
+ }
+
+ @Override
+ public void setCollectTestsOnly(boolean shouldCollectTest) {
+ // Do nothing
+ }
+
+ @Override
+ public void addIncludeFilter(String filter) {
+
+ }
+
+ @Override
+ public void addAllIncludeFilters(List<String> filters) {
+
+ }
+
+ @Override
+ public void addExcludeFilter(String filter) {
+
+ }
+
+ @Override
+ public void addAllExcludeFilters(List<String> filters) {
+
+ }
+
}
diff --git a/tests/core/runner/src/com/android/cts/core/runner/AndroidJUnitRunnerConstants.java b/tests/core/runner/src/com/android/cts/core/runner/AndroidJUnitRunnerConstants.java
index 8875c13..8bc2f01 100644
--- a/tests/core/runner/src/com/android/cts/core/runner/AndroidJUnitRunnerConstants.java
+++ b/tests/core/runner/src/com/android/cts/core/runner/AndroidJUnitRunnerConstants.java
@@ -92,6 +92,11 @@
String ARGUMENT_COUNT = "count";
/**
+ * The per test timeout value.
+ */
+ String ARGUMENT_TIMEOUT = "timeout_msec";
+
+ /**
* Token representing how long (in seconds) the current test took to execute.
*
* <p>The equivalent constant in {@code InstrumentationTestRunner} is private.
diff --git a/tests/core/runner/src/com/android/cts/core/runner/CoreTestRunner.java b/tests/core/runner/src/com/android/cts/core/runner/CoreTestRunner.java
index 58f34c3..887762f 100644
--- a/tests/core/runner/src/com/android/cts/core/runner/CoreTestRunner.java
+++ b/tests/core/runner/src/com/android/cts/core/runner/CoreTestRunner.java
@@ -59,6 +59,7 @@
import static com.android.cts.core.runner.AndroidJUnitRunnerConstants.ARGUMENT_TEST_CLASS;
import static com.android.cts.core.runner.AndroidJUnitRunnerConstants.ARGUMENT_TEST_FILE;
import static com.android.cts.core.runner.AndroidJUnitRunnerConstants.ARGUMENT_TEST_PACKAGE;
+import static com.android.cts.core.runner.AndroidJUnitRunnerConstants.ARGUMENT_TIMEOUT;
/**
* A drop-in replacement for AndroidJUnitTestRunner, which understands the same arguments, and has
@@ -86,6 +87,9 @@
/** Only log the number of tests, and not run them. */
private boolean logOnly;
+ /** The amount of time in millis to wait for a single test to complete. */
+ private long testTimeout;
+
/**
* The container for any test expectations.
*/
@@ -120,6 +124,7 @@
this.logOnly = "true".equalsIgnoreCase(args.getString(ARGUMENT_LOG_ONLY));
this.testCountOnly = args.getBoolean(ARGUMENT_COUNT);
+ this.testTimeout = parseUnsignedLong(args.getString(ARGUMENT_TIMEOUT), ARGUMENT_TIMEOUT);
try {
// Get the set of resource names containing the expectations.
@@ -228,7 +233,7 @@
}
AndroidRunnerParams runnerParams = new AndroidRunnerParams(this, args,
- logOnly || testCountOnly, -1, false);
+ logOnly || testCountOnly, testTimeout, false /*ignoreSuiteMethods*/);
JUnitCore core = new JUnitCore();
@@ -307,4 +312,22 @@
throw err;
}
}
+
+ /**
+ * Parse long from given value - except either Long or String.
+ *
+ * @return the value, -1 if not found
+ * @throws NumberFormatException if value is negative or not a number
+ */
+ private static long parseUnsignedLong(Object value, String name) {
+ if (value != null) {
+ long longValue = Long.parseLong(value.toString());
+ if (longValue < 0) {
+ throw new NumberFormatException(name + " can not be negative");
+ }
+ return longValue;
+ }
+ return -1;
+ }
+
}
diff --git a/tests/tests/graphics/src/android/opengl/cts/OpenGlEsVersionTest.java b/tests/tests/graphics/src/android/opengl/cts/OpenGlEsVersionTest.java
index 8b99003..77c6da1 100644
--- a/tests/tests/graphics/src/android/opengl/cts/OpenGlEsVersionTest.java
+++ b/tests/tests/graphics/src/android/opengl/cts/OpenGlEsVersionTest.java
@@ -174,7 +174,6 @@
"EGL_ANDROID_front_buffer_auto_refresh",
"EGL_EXT_protected_content",
"EGL_KHR_mutable_render_buffer",
- "EGL_KHR_reusable_sync",
"EGL_KHR_wait_sync",
};
diff --git a/tools/cts-tradefed/Android.mk b/tools/cts-tradefed/Android.mk
index 6ae6066..32babe6 100644
--- a/tools/cts-tradefed/Android.mk
+++ b/tools/cts-tradefed/Android.mk
@@ -25,7 +25,7 @@
LOCAL_SUITE_TARGET_ARCH := $(TARGET_ARCH)
LOCAL_SUITE_NAME := CTS
LOCAL_SUITE_FULLNAME := "Compatibility Test Suite"
-LOCAL_SUITE_VERSION := 5.0
+LOCAL_SUITE_VERSION := 7.0
LOCAL_MODULE := cts-tradefed