Prepare for Android 10 Test Suite R2.
diff --git a/tests/cts/net/Android.bp b/tests/cts/net/Android.bp
index b6ea4af..b00455d 100644
--- a/tests/cts/net/Android.bp
+++ b/tests/cts/net/Android.bp
@@ -60,6 +60,7 @@
"cts",
"vts",
"general-tests",
+ "mts",
],
}
diff --git a/tests/cts/net/jni/NativeMultinetworkJni.cpp b/tests/cts/net/jni/NativeMultinetworkJni.cpp
index a6b5e90..5bd3013 100644
--- a/tests/cts/net/jni/NativeMultinetworkJni.cpp
+++ b/tests/cts/net/jni/NativeMultinetworkJni.cpp
@@ -455,13 +455,17 @@
setsockopt(fd, SOL_SOCKET, SO_SNDTIMEO, &timeo, sizeof(timeo));
// For reference see:
- // https://tools.ietf.org/html/draft-tsvwg-quic-protocol-01#section-6.1
- uint8_t quic_packet[] = {
- 0x0c, // public flags: 64bit conn ID, 8bit sequence number
+ // https://tools.ietf.org/html/draft-tsvwg-quic-protocol#section-6.1
+ uint8_t quic_packet[1200] = {
+ 0x0d, // public flags:
+ // - version present (0x01),
+ // - 64bit connection ID (0x0c),
+ // - 1 byte packet number (0x00)
0, 0, 0, 0, 0, 0, 0, 0, // 64bit connection ID
- 0x01, // sequence number
+ 0xaa, 0xda, 0xca, 0xaa, // reserved-space version number
+ 1, // 1 byte packet number
0x00, // private flags
- 0x07, // type: regular frame type "PING"
+ 0x07, // PING frame (cuz why not)
};
arc4random_buf(quic_packet + 1, 8); // random connection ID
@@ -489,7 +493,7 @@
i + 1, MAX_RETRIES, rcvd, errnum);
}
}
- if (rcvd < sent) {
+ if (rcvd < 9) {
ALOGD("QUIC UDP %s: sent=%zd but rcvd=%zd, errno=%d", kPort, sent, rcvd, errnum);
if (rcvd <= 0) {
ALOGD("Does this network block UDP port %s?", kPort);
@@ -505,8 +509,7 @@
return -EPROTO;
}
- // TODO: log, and compare to the IP address encoded in the
- // response, since this should be a public reset packet.
+ // TODO: Replace this quick 'n' dirty test with proper QUIC-capable code.
close(fd);
return 0;
diff --git a/tests/cts/net/native/dns/Android.bp b/tests/cts/net/native/dns/Android.bp
index 9fbc3fc..1704a2b 100644
--- a/tests/cts/net/native/dns/Android.bp
+++ b/tests/cts/net/native/dns/Android.bp
@@ -35,5 +35,6 @@
},
test_suites: [
"cts",
+ "mts",
],
-}
\ No newline at end of file
+}
diff --git a/tests/cts/net/src/android/net/wifi/cts/ScanResultTest.java b/tests/cts/net/src/android/net/wifi/cts/ScanResultTest.java
index ccf5fe2..9bd1226 100644
--- a/tests/cts/net/src/android/net/wifi/cts/ScanResultTest.java
+++ b/tests/cts/net/src/android/net/wifi/cts/ScanResultTest.java
@@ -23,6 +23,7 @@
import android.content.Intent;
import android.content.IntentFilter;
import android.net.wifi.ScanResult;
+import android.net.wifi.WifiInfo;
import android.net.wifi.WifiManager;
import android.net.wifi.WifiManager.WifiLock;
import android.platform.test.annotations.AppModeFull;
@@ -54,6 +55,8 @@
private static final int ENABLE_WAIT_MSEC = 10000;
private static final int SCAN_WAIT_MSEC = 10000;
private static final int SCAN_MAX_RETRY_COUNT = 6;
+ private static final int SCAN_FIND_BSSID_MAX_RETRY_COUNT = 5;
+ private static final long SCAN_FIND_BSSID_WAIT_MSEC = 5_000L;
private IntentFilter mIntentFilter;
private final BroadcastReceiver mReceiver = new BroadcastReceiver() {
@Override
@@ -200,4 +203,31 @@
}
+ public void testScanResultMatchesWifiInfo() throws Exception {
+ if (!WifiFeature.isWifiSupported(getContext())) {
+ // skip the test if WiFi is not supported
+ return;
+ }
+
+ // This test case should run while connected to Wifi
+ final WifiInfo wifiInfo = mWifiManager.getConnectionInfo();
+ assertNotNull(wifiInfo);
+
+ ScanResult currentNetwork = null;
+ for (int i = 0; i < SCAN_FIND_BSSID_MAX_RETRY_COUNT; i++) {
+ scanAndWait();
+ final List<ScanResult> scanResults = mWifiManager.getScanResults();
+ currentNetwork = scanResults.stream().filter(r -> r.BSSID.equals(wifiInfo.getBSSID()))
+ .findAny().orElse(null);
+
+ if (currentNetwork != null) {
+ break;
+ }
+ Thread.sleep(SCAN_FIND_BSSID_WAIT_MSEC);
+ }
+ assertNotNull("Current network not found in scan results", currentNetwork);
+
+ assertEquals(wifiInfo.getWifiSsid(), currentNetwork.wifiSsid);
+ assertEquals(wifiInfo.getFrequency(), currentNetwork.frequency);
+ }
}
diff --git a/tests/cts/net/src/android/net/wifi/cts/WifiInfoTest.java b/tests/cts/net/src/android/net/wifi/cts/WifiInfoTest.java
index 5367722..9d9b2a3 100644
--- a/tests/cts/net/src/android/net/wifi/cts/WifiInfoTest.java
+++ b/tests/cts/net/src/android/net/wifi/cts/WifiInfoTest.java
@@ -139,8 +139,11 @@
}
wifiInfo.getBSSID();
+ wifiInfo.getFrequency();
wifiInfo.getIpAddress();
wifiInfo.getLinkSpeed();
+ wifiInfo.getPasspointFqdn();
+ wifiInfo.getPasspointProviderFriendlyName();
wifiInfo.getTxLinkSpeedMbps();
wifiInfo.getRxLinkSpeedMbps();
wifiInfo.getRssi();