Merge "gn2bp: Update desc json and Android.bp.swp"
diff --git a/Tethering/tests/unit/src/com/android/networkstack/tethering/metrics/TetheringMetricsTest.java b/Tethering/tests/unit/src/com/android/networkstack/tethering/metrics/TetheringMetricsTest.java
index 7fdde97..95afa56 100644
--- a/Tethering/tests/unit/src/com/android/networkstack/tethering/metrics/TetheringMetricsTest.java
+++ b/Tethering/tests/unit/src/com/android/networkstack/tethering/metrics/TetheringMetricsTest.java
@@ -99,86 +99,87 @@
mTetheringMetrics.sendReport(downstream);
}
- private void runDownstreamTypesTest(final Pair<Integer, DownstreamType>... testPairs)
+ private void runDownstreamTypesTest(final Pair<Integer, DownstreamType> testPair)
throws Exception {
- for (Pair<Integer, DownstreamType> testPair : testPairs) {
- final int type = testPair.first;
- final DownstreamType expectedResult = testPair.second;
+ final int type = testPair.first;
+ final DownstreamType expectedResult = testPair.second;
- mTetheringMetrics.createBuilder(type, TEST_CALLER_PKG);
- updateErrorAndSendReport(type, TETHER_ERROR_NO_ERROR);
- verifyReport(expectedResult, ErrorCode.EC_NO_ERROR, UserType.USER_UNKNOWN);
- reset(mTetheringMetrics);
- }
+ mTetheringMetrics.createBuilder(type, TEST_CALLER_PKG);
+ updateErrorAndSendReport(type, TETHER_ERROR_NO_ERROR);
+ verifyReport(expectedResult, ErrorCode.EC_NO_ERROR, UserType.USER_UNKNOWN);
+ reset(mTetheringMetrics);
}
@Test
public void testDownstreamTypes() throws Exception {
- runDownstreamTypesTest(new Pair<>(TETHERING_WIFI, DownstreamType.DS_TETHERING_WIFI),
- new Pair<>(TETHERING_WIFI_P2P, DownstreamType.DS_TETHERING_WIFI_P2P),
- new Pair<>(TETHERING_BLUETOOTH, DownstreamType.DS_TETHERING_BLUETOOTH),
- new Pair<>(TETHERING_USB, DownstreamType.DS_TETHERING_USB),
- new Pair<>(TETHERING_NCM, DownstreamType.DS_TETHERING_NCM),
- new Pair<>(TETHERING_ETHERNET, DownstreamType.DS_TETHERING_ETHERNET));
+ runDownstreamTypesTest(new Pair<>(TETHERING_WIFI, DownstreamType.DS_TETHERING_WIFI));
+ runDownstreamTypesTest(new Pair<>(TETHERING_WIFI_P2P,
+ DownstreamType.DS_TETHERING_WIFI_P2P));
+ runDownstreamTypesTest(new Pair<>(TETHERING_BLUETOOTH,
+ DownstreamType.DS_TETHERING_BLUETOOTH));
+ runDownstreamTypesTest(new Pair<>(TETHERING_USB, DownstreamType.DS_TETHERING_USB));
+ runDownstreamTypesTest(new Pair<>(TETHERING_NCM, DownstreamType.DS_TETHERING_NCM));
+ runDownstreamTypesTest(new Pair<>(TETHERING_ETHERNET,
+ DownstreamType.DS_TETHERING_ETHERNET));
}
- private void runErrorCodesTest(final Pair<Integer, ErrorCode>... testPairs)
+ private void runErrorCodesTest(final Pair<Integer, ErrorCode> testPair)
throws Exception {
- for (Pair<Integer, ErrorCode> testPair : testPairs) {
- final int errorCode = testPair.first;
- final ErrorCode expectedResult = testPair.second;
+ final int errorCode = testPair.first;
+ final ErrorCode expectedResult = testPair.second;
- mTetheringMetrics.createBuilder(TETHERING_WIFI, TEST_CALLER_PKG);
- updateErrorAndSendReport(TETHERING_WIFI, errorCode);
- verifyReport(DownstreamType.DS_TETHERING_WIFI, expectedResult, UserType.USER_UNKNOWN);
- reset(mTetheringMetrics);
- }
+ mTetheringMetrics.createBuilder(TETHERING_WIFI, TEST_CALLER_PKG);
+ updateErrorAndSendReport(TETHERING_WIFI, errorCode);
+ verifyReport(DownstreamType.DS_TETHERING_WIFI, expectedResult, UserType.USER_UNKNOWN);
}
@Test
public void testErrorCodes() throws Exception {
- runErrorCodesTest(new Pair<>(TETHER_ERROR_NO_ERROR, ErrorCode.EC_NO_ERROR),
- new Pair<>(TETHER_ERROR_UNKNOWN_IFACE, ErrorCode.EC_UNKNOWN_IFACE),
- new Pair<>(TETHER_ERROR_SERVICE_UNAVAIL, ErrorCode.EC_SERVICE_UNAVAIL),
- new Pair<>(TETHER_ERROR_UNSUPPORTED, ErrorCode.EC_UNSUPPORTED),
- new Pair<>(TETHER_ERROR_UNAVAIL_IFACE, ErrorCode.EC_UNAVAIL_IFACE),
- new Pair<>(TETHER_ERROR_INTERNAL_ERROR, ErrorCode.EC_INTERNAL_ERROR),
- new Pair<>(TETHER_ERROR_TETHER_IFACE_ERROR, ErrorCode.EC_TETHER_IFACE_ERROR),
- new Pair<>(TETHER_ERROR_UNTETHER_IFACE_ERROR, ErrorCode.EC_UNTETHER_IFACE_ERROR),
- new Pair<>(TETHER_ERROR_ENABLE_FORWARDING_ERROR,
- ErrorCode.EC_ENABLE_FORWARDING_ERROR),
- new Pair<>(TETHER_ERROR_DISABLE_FORWARDING_ERROR,
- ErrorCode.EC_DISABLE_FORWARDING_ERROR),
- new Pair<>(TETHER_ERROR_IFACE_CFG_ERROR, ErrorCode.EC_IFACE_CFG_ERROR),
- new Pair<>(TETHER_ERROR_PROVISIONING_FAILED, ErrorCode.EC_PROVISIONING_FAILED),
- new Pair<>(TETHER_ERROR_DHCPSERVER_ERROR, ErrorCode.EC_DHCPSERVER_ERROR),
- new Pair<>(TETHER_ERROR_ENTITLEMENT_UNKNOWN, ErrorCode.EC_ENTITLEMENT_UNKNOWN),
- new Pair<>(TETHER_ERROR_NO_CHANGE_TETHERING_PERMISSION,
- ErrorCode.EC_NO_CHANGE_TETHERING_PERMISSION),
- new Pair<>(TETHER_ERROR_NO_ACCESS_TETHERING_PERMISSION,
- ErrorCode.EC_NO_ACCESS_TETHERING_PERMISSION),
- new Pair<>(TETHER_ERROR_UNKNOWN_TYPE, ErrorCode.EC_UNKNOWN_TYPE));
+ runErrorCodesTest(new Pair<>(TETHER_ERROR_NO_ERROR, ErrorCode.EC_NO_ERROR));
+ runErrorCodesTest(new Pair<>(TETHER_ERROR_UNKNOWN_IFACE, ErrorCode.EC_UNKNOWN_IFACE));
+ runErrorCodesTest(new Pair<>(TETHER_ERROR_SERVICE_UNAVAIL, ErrorCode.EC_SERVICE_UNAVAIL));
+ runErrorCodesTest(new Pair<>(TETHER_ERROR_UNSUPPORTED, ErrorCode.EC_UNSUPPORTED));
+ runErrorCodesTest(new Pair<>(TETHER_ERROR_UNAVAIL_IFACE, ErrorCode.EC_UNAVAIL_IFACE));
+ runErrorCodesTest(new Pair<>(TETHER_ERROR_INTERNAL_ERROR, ErrorCode.EC_INTERNAL_ERROR));
+ runErrorCodesTest(new Pair<>(TETHER_ERROR_TETHER_IFACE_ERROR,
+ ErrorCode.EC_TETHER_IFACE_ERROR));
+ runErrorCodesTest(new Pair<>(TETHER_ERROR_UNTETHER_IFACE_ERROR,
+ ErrorCode.EC_UNTETHER_IFACE_ERROR));
+ runErrorCodesTest(new Pair<>(TETHER_ERROR_ENABLE_FORWARDING_ERROR,
+ ErrorCode.EC_ENABLE_FORWARDING_ERROR));
+ runErrorCodesTest(new Pair<>(TETHER_ERROR_DISABLE_FORWARDING_ERROR,
+ ErrorCode.EC_DISABLE_FORWARDING_ERROR));
+ runErrorCodesTest(new Pair<>(TETHER_ERROR_IFACE_CFG_ERROR, ErrorCode.EC_IFACE_CFG_ERROR));
+ runErrorCodesTest(new Pair<>(TETHER_ERROR_PROVISIONING_FAILED,
+ ErrorCode.EC_PROVISIONING_FAILED));
+ runErrorCodesTest(new Pair<>(TETHER_ERROR_DHCPSERVER_ERROR,
+ ErrorCode.EC_DHCPSERVER_ERROR));
+ runErrorCodesTest(new Pair<>(TETHER_ERROR_ENTITLEMENT_UNKNOWN,
+ ErrorCode.EC_ENTITLEMENT_UNKNOWN));
+ runErrorCodesTest(new Pair<>(TETHER_ERROR_NO_CHANGE_TETHERING_PERMISSION,
+ ErrorCode.EC_NO_CHANGE_TETHERING_PERMISSION));
+ runErrorCodesTest(new Pair<>(TETHER_ERROR_NO_ACCESS_TETHERING_PERMISSION,
+ ErrorCode.EC_NO_ACCESS_TETHERING_PERMISSION));
+ runErrorCodesTest(new Pair<>(TETHER_ERROR_UNKNOWN_TYPE, ErrorCode.EC_UNKNOWN_TYPE));
}
- private void runUserTypesTest(final Pair<String, UserType>... testPairs)
+ private void runUserTypesTest(final Pair<String, UserType> testPair)
throws Exception {
- for (Pair<String, UserType> testPair : testPairs) {
- final String callerPkg = testPair.first;
- final UserType expectedResult = testPair.second;
+ final String callerPkg = testPair.first;
+ final UserType expectedResult = testPair.second;
- mTetheringMetrics.createBuilder(TETHERING_WIFI, callerPkg);
- updateErrorAndSendReport(TETHERING_WIFI, TETHER_ERROR_NO_ERROR);
- verifyReport(DownstreamType.DS_TETHERING_WIFI, ErrorCode.EC_NO_ERROR, expectedResult);
- reset(mTetheringMetrics);
- }
+ mTetheringMetrics.createBuilder(TETHERING_WIFI, callerPkg);
+ updateErrorAndSendReport(TETHERING_WIFI, TETHER_ERROR_NO_ERROR);
+ verifyReport(DownstreamType.DS_TETHERING_WIFI, ErrorCode.EC_NO_ERROR, expectedResult);
+ reset(mTetheringMetrics);
}
@Test
public void testUserTypes() throws Exception {
- runUserTypesTest(new Pair<>(TEST_CALLER_PKG, UserType.USER_UNKNOWN),
- new Pair<>(SETTINGS_PKG, UserType.USER_SETTINGS),
- new Pair<>(SYSTEMUI_PKG, UserType.USER_SYSTEMUI),
- new Pair<>(GMS_PKG, UserType.USER_GMS));
+ runUserTypesTest(new Pair<>(TEST_CALLER_PKG, UserType.USER_UNKNOWN));
+ runUserTypesTest(new Pair<>(SETTINGS_PKG, UserType.USER_SETTINGS));
+ runUserTypesTest(new Pair<>(SYSTEMUI_PKG, UserType.USER_SYSTEMUI));
+ runUserTypesTest(new Pair<>(GMS_PKG, UserType.USER_GMS));
}
@Test
diff --git a/service/jni/com_android_server_connectivity_ClatCoordinator.cpp b/service/jni/com_android_server_connectivity_ClatCoordinator.cpp
index 5b42659..dae45f3 100644
--- a/service/jni/com_android_server_connectivity_ClatCoordinator.cpp
+++ b/service/jni/com_android_server_connectivity_ClatCoordinator.cpp
@@ -177,7 +177,7 @@
jobject clazz) {
// Will eventually be bound to htons(ETH_P_IPV6) protocol,
// but only after appropriate bpf filter is attached.
- int sock = socket(AF_PACKET, SOCK_DGRAM | SOCK_CLOEXEC, 0);
+ const int sock = socket(AF_PACKET, SOCK_RAW | SOCK_CLOEXEC, 0);
if (sock < 0) {
throwIOException(env, "packet socket failed", errno);
return -1;
diff --git a/service/native/libs/libclat/clatutils_test.cpp b/service/native/libs/libclat/clatutils_test.cpp
index abd4e81..f4f97db 100644
--- a/service/native/libs/libclat/clatutils_test.cpp
+++ b/service/native/libs/libclat/clatutils_test.cpp
@@ -165,7 +165,7 @@
TunInterface v6Iface;
ASSERT_EQ(0, v6Iface.init());
- int s = socket(AF_PACKET, SOCK_DGRAM | SOCK_CLOEXEC, htons(ETH_P_IPV6));
+ const int s = socket(AF_PACKET, SOCK_RAW | SOCK_CLOEXEC, htons(ETH_P_IPV6));
EXPECT_LE(0, s);
struct in6_addr addr6;
EXPECT_EQ(1, inet_pton(AF_INET6, "2001:db8::f00", &addr6));
diff --git a/tests/cts/net/src/android/net/cts/ConnectivityManagerTest.java b/tests/cts/net/src/android/net/cts/ConnectivityManagerTest.java
index 1bed83d..774176f 100644
--- a/tests/cts/net/src/android/net/cts/ConnectivityManagerTest.java
+++ b/tests/cts/net/src/android/net/cts/ConnectivityManagerTest.java
@@ -2708,6 +2708,7 @@
// Cannot use @IgnoreUpTo(Build.VERSION_CODES.R) because this test also requires API 31
// shims, and @IgnoreUpTo does not check that.
assumeTrue(TestUtils.shouldTestSApis());
+ assumeTrue(mPackageManager.hasSystemFeature(FEATURE_WIFI));
final TestNetworkTracker tnt = callWithShellPermissionIdentity(
() -> initTestNetwork(mContext, TEST_LINKADDR, NETWORK_CALLBACK_TIMEOUT_MS));
@@ -2721,7 +2722,8 @@
OemNetworkPreferences.OEM_NETWORK_PREFERENCE_TEST_ONLY);
registerTestOemNetworkPreferenceCallbacks(defaultCallback, systemDefaultCallback);
waitForAvailable(defaultCallback, tnt.getNetwork());
- waitForAvailable(systemDefaultCallback, wifiNetwork);
+ systemDefaultCallback.eventuallyExpect(CallbackEntry.AVAILABLE,
+ NETWORK_CALLBACK_TIMEOUT_MS, cb -> wifiNetwork.equals(cb.getNetwork()));
}, /* cleanup */ () -> {
runWithShellPermissionIdentity(tnt::teardown);
defaultCallback.expect(CallbackEntry.LOST, tnt, NETWORK_CALLBACK_TIMEOUT_MS);
diff --git a/tests/cts/net/src/android/net/cts/NsdManagerTest.kt b/tests/cts/net/src/android/net/cts/NsdManagerTest.kt
index 3f197c4..6fd2321 100644
--- a/tests/cts/net/src/android/net/cts/NsdManagerTest.kt
+++ b/tests/cts/net/src/android/net/cts/NsdManagerTest.kt
@@ -68,6 +68,7 @@
import android.system.ErrnoException
import android.system.Os
import android.system.OsConstants.AF_INET6
+import android.system.OsConstants.EADDRNOTAVAIL
import android.system.OsConstants.ENETUNREACH
import android.system.OsConstants.IPPROTO_UDP
import android.system.OsConstants.SOCK_DGRAM
@@ -404,7 +405,7 @@
Os.connect(sock, parseNumericAddress("ff02::fb%$ifaceName"), 12345)
true
}.catch<ErrnoException> {
- if (it.errno != ENETUNREACH) {
+ if (it.errno != ENETUNREACH && it.errno != EADDRNOTAVAIL) {
throw it
}
false