summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorandroid-build-prod (mdb) <android-build-team-robot@google.com>2019-02-22 00:08:10 +0000
committerGerrit Code Review <noreply-gerritcodereview@google.com>2019-02-22 00:08:10 +0000
commit380019ba6d3decd83d7443dfa175083f81abb058 (patch)
tree77a4013e23e067802850f6818d40eb1706f8e55e
parent882a8ae2602e5ab82434dd9606ac2ff562bc74b9 (diff)
parentf6cf92fcce405abcdbbacda42b5a12c1017a1832 (diff)
downloadcts-sparse-5328301-L38000000275538754.tar.gz
Merge "Snap for 5320791 from 561b585834357b2599a50d59b7fc0dcb7e0453db to nougat-cts-release" into nougat-cts-releasesparse-5328301-L50000000275539461sparse-5328301-L38000000275538754
-rw-r--r--apps/CameraITS/tools/validate_scene.py3
-rw-r--r--apps/CtsVerifier/AndroidManifest.xml2
-rw-r--r--tests/tests/telephony/src/android/telephony/cts/SimRestrictedApisTest.java3
-rw-r--r--tests/tests/webkit/src/android/webkit/cts/WebSettingsTest.java58
-rw-r--r--tests/tests/webkit/src/android/webkit/cts/WebViewSslTest.java23
-rw-r--r--tools/cts-tradefed/Android.mk2
6 files changed, 47 insertions, 44 deletions
diff --git a/apps/CameraITS/tools/validate_scene.py b/apps/CameraITS/tools/validate_scene.py
index cfe14e209e6..1c0f0fdc8c5 100644
--- a/apps/CameraITS/tools/validate_scene.py
+++ b/apps/CameraITS/tools/validate_scene.py
@@ -49,8 +49,9 @@ def main():
" to frame the test scene: " + scene_name +
"\nThe scene setup should be: " + scene_desc )
# Converge 3A prior to capture.
- cam.do_3a(do_af=do_af, lock_ae=True, lock_awb=True)
props = cam.get_camera_properties()
+ cam.do_3a(do_af=do_af, lock_ae=its.caps.ae_lock(props),
+ lock_awb=its.caps.awb_lock(props))
req = its.objects.fastest_auto_capture_request(props)
if its.caps.ae_lock(props):
req["android.control.awbLock"] = True
diff --git a/apps/CtsVerifier/AndroidManifest.xml b/apps/CtsVerifier/AndroidManifest.xml
index 66b6e1e387b..b001c73af5e 100644
--- a/apps/CtsVerifier/AndroidManifest.xml
+++ b/apps/CtsVerifier/AndroidManifest.xml
@@ -18,7 +18,7 @@
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.android.cts.verifier"
android:versionCode="5"
- android:versionName="7.0_r29">
+ android:versionName="7.0_r30">
<uses-sdk android:minSdkVersion="19" android:targetSdkVersion="24"/>
diff --git a/tests/tests/telephony/src/android/telephony/cts/SimRestrictedApisTest.java b/tests/tests/telephony/src/android/telephony/cts/SimRestrictedApisTest.java
index 0f093142cfa..61c02db17ce 100644
--- a/tests/tests/telephony/src/android/telephony/cts/SimRestrictedApisTest.java
+++ b/tests/tests/telephony/src/android/telephony/cts/SimRestrictedApisTest.java
@@ -89,7 +89,8 @@ public class SimRestrictedApisTest extends AndroidTestCase {
public void testIccOpenLogicalChannel() {
try {
if (isSimCardPresent()) {
- TelephonyManager.getDefault().iccOpenLogicalChannel("");
+ TelephonyManager.getDefault().iccCloseLogicalChannel(
+ TelephonyManager.getDefault().iccOpenLogicalChannel("").getChannel());
fail("Expected SecurityException. App doesn't have carrier privileges.");
}
} catch (SecurityException expected) {
diff --git a/tests/tests/webkit/src/android/webkit/cts/WebSettingsTest.java b/tests/tests/webkit/src/android/webkit/cts/WebSettingsTest.java
index a3a72799251..f52c28e4e2b 100644
--- a/tests/tests/webkit/src/android/webkit/cts/WebSettingsTest.java
+++ b/tests/tests/webkit/src/android/webkit/cts/WebSettingsTest.java
@@ -104,10 +104,9 @@ public class WebSettingsTest extends ActivityInstrumentationTestCase2<WebViewCts
* compatibility definition (tokens in angle brackets are variables, tokens in square
* brackets are optional):
* <p/>
- * Mozilla/5.0 (Linux;[ U;] Android <version>;[ <language>-<country>;]
- * [<devicemodel>;] Build/<buildID>; wv) AppleWebKit/<major>.<minor> (KHTML, like Gecko)
- * Version/<major>.<minor> Chrome/<major>.<minor>.<branch>.<build>[ Mobile]
- * Safari/<major>.<minor>
+ * Mozilla/5.0 (Linux; Android <version>; [<devicemodel>;] [Build/<buildID>;] wv)
+ * AppleWebKit/<major>.<minor> (KHTML, like Gecko) Version/<major>.<minor>
+ * Chrome/<major>.<minor>.<branch>.<build>[ Mobile] Safari/<major>.<minor>
*/
public void testUserAgentString_default() {
if (!NullWebViewUtils.isWebViewAvailable()) {
@@ -115,43 +114,34 @@ public class WebSettingsTest extends ActivityInstrumentationTestCase2<WebViewCts
}
final String actualUserAgentString = mSettings.getUserAgentString();
Log.i(LOG_TAG, String.format("Checking user agent string %s", actualUserAgentString));
+
+ String expectedRelease, expectedModel;
+ if ("REL".equals(Build.VERSION.CODENAME)) {
+ expectedRelease = Pattern.quote(Build.VERSION.RELEASE);
+ expectedModel = Pattern.quote(Build.MODEL);
+ } else {
+ // Non-release builds don't include real release version/model, be lenient.
+ expectedRelease = expectedModel = "[^;]+";
+ }
+
+ // Build expected regex inserting the appropriate variables, as this is easier to
+ // understand and get right than matching any possible useragent and comparing the
+ // variables afterward.
final String patternString =
- "Mozilla/5\\.0 \\(Linux;( U;)? Android ([^;]+);( (\\w+)-(\\w+);)?" +
- "\\s?(.*)\\sBuild/(.+); wv\\) AppleWebKit/(\\d+)\\.(\\d+) " +
- "\\(KHTML, like Gecko\\) " +
- "Version/\\d+\\.\\d+ Chrome/\\d+\\.\\d+\\.\\d+\\.\\d+( Mobile)? " +
- "Safari/(\\d+)\\.(\\d+)";
- // Groups used:
- // 1 - SSL encryption strength token " U;" (optional)
- // 2 - Android version
- // 3 - full locale string (optional)
- // 4 - country
- // 5 - language
- // 6 - device model (optional)
- // 7 - build ID
- // 8 - AppleWebKit major version number
- // 9 - AppleWebKit minor version number
- // 10 - " Mobile" string (optional)
- // 11 - Safari major version number
- // 12 - Safari minor version number
+ Pattern.quote("Mozilla/5.0 (Linux; Android ") + expectedRelease + "; " +
+ "(" + expectedModel + "; )?" + // Optional
+ "(Build/" + Pattern.quote(Build.ID) + "; )?" + // Optional
+ Pattern.quote("wv) ") +
+ "AppleWebKit/\\d+\\.\\d+ " +
+ Pattern.quote("(KHTML, like Gecko) Version/4.0 ") +
+ "Chrome/\\d+\\.\\d+\\.\\d+\\.\\d+ " +
+ "(Mobile )?Safari/\\d+\\.\\d+";
Log.i(LOG_TAG, String.format("Trying to match pattern %s", patternString));
final Pattern userAgentExpr = Pattern.compile(patternString);
Matcher patternMatcher = userAgentExpr.matcher(actualUserAgentString);
assertTrue(String.format("User agent string did not match expected pattern. \nExpected " +
"pattern:\n%s\nActual:\n%s", patternString, actualUserAgentString),
patternMatcher.find());
- if (patternMatcher.group(3) != null) {
- Locale currentLocale = Locale.getDefault();
- assertEquals(currentLocale.getLanguage().toLowerCase(), patternMatcher.group(4));
- assertEquals(currentLocale.getCountry().toLowerCase(), patternMatcher.group(5));
- }
- if ("REL".equals(Build.VERSION.CODENAME)) {
- // Model is only added in release builds
- assertEquals(Build.MODEL, patternMatcher.group(6));
- // Release version is valid only in release builds
- assertEquals(Build.VERSION.RELEASE, patternMatcher.group(2));
- }
- assertEquals(Build.ID, patternMatcher.group(7));
}
public void testAccessUserAgentString() throws Exception {
diff --git a/tests/tests/webkit/src/android/webkit/cts/WebViewSslTest.java b/tests/tests/webkit/src/android/webkit/cts/WebViewSslTest.java
index e07267fc5f5..3c65a862501 100644
--- a/tests/tests/webkit/src/android/webkit/cts/WebViewSslTest.java
+++ b/tests/tests/webkit/src/android/webkit/cts/WebViewSslTest.java
@@ -730,12 +730,23 @@ public class WebViewSslTest extends ActivityInstrumentationTestCase2<WebViewCtsA
mOnUiThread.clearSslPreferences();
mOnUiThread.loadUrlAndWaitForCompletion(url);
// Page NOT loaded OK...
- // In this case, we must NOT have received the onReceivedSslError callback as that is for
- // recoverable (e.g. server auth) errors, whereas failing mandatory client auth is non-
- // recoverable and should drop straight through to a load error.
- assertFalse(webViewClient.wasOnReceivedSslErrorCalled());
- assertFalse(TestHtmlConstants.HELLO_WORLD_TITLE.equals(mOnUiThread.getTitle()));
- assertEquals(WebViewClient.ERROR_FAILED_SSL_HANDSHAKE, webViewClient.onReceivedErrorCode());
+ //
+ // In this test, we expect both a recoverable and non-recoverable error:
+ //
+ // 1. WebView does not trust the test server's certificate. This is a recoverable error, so
+ // WebView invokes #onReceivedSslError (and the WebViewClient calls #proceed). We don't
+ // specifically intend to test this part of the scenario, but we can't easily mock out
+ // WebView's certificate roots.
+ // 2. WebView proceeds with the handshake without providing client authentication. The
+ // server fails the client. This is non-recoverable, so WebView invokes
+ // #onReceivedError.
+ //
+ // We only assert the second error, since earlier WebView versions had a bug in which
+ // WebView hit error 2 first, which prevented it from hitting error 1.
+ assertFalse("Title should not be updated, since page load should have failed",
+ TestHtmlConstants.HELLO_WORLD_TITLE.equals(mOnUiThread.getTitle()));
+ assertEquals("Expected ERROR_FAILED_SSL_HANDSHAKE in onReceivedError",
+ WebViewClient.ERROR_FAILED_SSL_HANDSHAKE, webViewClient.onReceivedErrorCode());
}
public void testProceedClientCertRequest() throws Throwable {
diff --git a/tools/cts-tradefed/Android.mk b/tools/cts-tradefed/Android.mk
index 35f90db9b1a..2e20365d22c 100644
--- a/tools/cts-tradefed/Android.mk
+++ b/tools/cts-tradefed/Android.mk
@@ -25,7 +25,7 @@ LOCAL_SUITE_BUILD_NUMBER := $(BUILD_NUMBER_FROM_FILE)
LOCAL_SUITE_TARGET_ARCH := $(TARGET_ARCH)
LOCAL_SUITE_NAME := CTS
LOCAL_SUITE_FULLNAME := "Compatibility Test Suite"
-LOCAL_SUITE_VERSION := 7.0_r29
+LOCAL_SUITE_VERSION := 7.0_r30
LOCAL_MODULE := cts-tradefed