Merge "Fix OffloadControllerTest on R" am: 767b2180e9 am: 634ad9792d
Original change: https://android-review.googlesource.com/c/platform/packages/modules/Connectivity/+/1748154 Change-Id: I2cd282bf6d7a4638cbb65f20f2ccd886ec113713
This commit is contained in:
@@ -26,6 +26,7 @@ import static android.net.NetworkStats.UID_TETHERING;
|
|||||||
import static android.net.RouteInfo.RTN_UNICAST;
|
import static android.net.RouteInfo.RTN_UNICAST;
|
||||||
import static android.provider.Settings.Global.TETHER_OFFLOAD_DISABLED;
|
import static android.provider.Settings.Global.TETHER_OFFLOAD_DISABLED;
|
||||||
|
|
||||||
|
import static com.android.modules.utils.build.SdkLevel.isAtLeastS;
|
||||||
import static com.android.networkstack.tethering.OffloadController.StatsType.STATS_PER_IFACE;
|
import static com.android.networkstack.tethering.OffloadController.StatsType.STATS_PER_IFACE;
|
||||||
import static com.android.networkstack.tethering.OffloadController.StatsType.STATS_PER_UID;
|
import static com.android.networkstack.tethering.OffloadController.StatsType.STATS_PER_UID;
|
||||||
import static com.android.networkstack.tethering.OffloadHardwareInterface.ForwardedStats;
|
import static com.android.networkstack.tethering.OffloadHardwareInterface.ForwardedStats;
|
||||||
@@ -66,6 +67,7 @@ import android.net.NetworkStats.Entry;
|
|||||||
import android.net.RouteInfo;
|
import android.net.RouteInfo;
|
||||||
import android.net.netstats.provider.NetworkStatsProvider;
|
import android.net.netstats.provider.NetworkStatsProvider;
|
||||||
import android.net.util.SharedLog;
|
import android.net.util.SharedLog;
|
||||||
|
import android.os.Build;
|
||||||
import android.os.Handler;
|
import android.os.Handler;
|
||||||
import android.os.test.TestLooper;
|
import android.os.test.TestLooper;
|
||||||
import android.provider.Settings;
|
import android.provider.Settings;
|
||||||
@@ -76,10 +78,13 @@ import androidx.test.filters.SmallTest;
|
|||||||
import androidx.test.runner.AndroidJUnit4;
|
import androidx.test.runner.AndroidJUnit4;
|
||||||
|
|
||||||
import com.android.internal.util.test.FakeSettingsProvider;
|
import com.android.internal.util.test.FakeSettingsProvider;
|
||||||
|
import com.android.testutils.DevSdkIgnoreRule;
|
||||||
|
import com.android.testutils.DevSdkIgnoreRule.IgnoreUpTo;
|
||||||
import com.android.testutils.TestableNetworkStatsProviderCbBinder;
|
import com.android.testutils.TestableNetworkStatsProviderCbBinder;
|
||||||
|
|
||||||
import org.junit.After;
|
import org.junit.After;
|
||||||
import org.junit.Before;
|
import org.junit.Before;
|
||||||
|
import org.junit.Rule;
|
||||||
import org.junit.Test;
|
import org.junit.Test;
|
||||||
import org.junit.runner.RunWith;
|
import org.junit.runner.RunWith;
|
||||||
import org.mockito.ArgumentCaptor;
|
import org.mockito.ArgumentCaptor;
|
||||||
@@ -95,6 +100,9 @@ import java.util.Set;
|
|||||||
@RunWith(AndroidJUnit4.class)
|
@RunWith(AndroidJUnit4.class)
|
||||||
@SmallTest
|
@SmallTest
|
||||||
public class OffloadControllerTest {
|
public class OffloadControllerTest {
|
||||||
|
@Rule
|
||||||
|
public final DevSdkIgnoreRule mIgnoreRule = new DevSdkIgnoreRule();
|
||||||
|
|
||||||
private static final String RNDIS0 = "test_rndis0";
|
private static final String RNDIS0 = "test_rndis0";
|
||||||
private static final String RMNET0 = "test_rmnet_data0";
|
private static final String RMNET0 = "test_rmnet_data0";
|
||||||
private static final String WLAN0 = "test_wlan0";
|
private static final String WLAN0 = "test_wlan0";
|
||||||
@@ -511,8 +519,8 @@ public class OffloadControllerTest {
|
|||||||
public void testSetDataWarningAndLimit() throws Exception {
|
public void testSetDataWarningAndLimit() throws Exception {
|
||||||
// Verify the OffloadController is called by R framework, where the framework doesn't send
|
// Verify the OffloadController is called by R framework, where the framework doesn't send
|
||||||
// warning.
|
// warning.
|
||||||
|
// R only uses HAL 1.0.
|
||||||
checkSetDataWarningAndLimit(false, OFFLOAD_HAL_VERSION_1_0);
|
checkSetDataWarningAndLimit(false, OFFLOAD_HAL_VERSION_1_0);
|
||||||
checkSetDataWarningAndLimit(false, OFFLOAD_HAL_VERSION_1_1);
|
|
||||||
// Verify the OffloadController is called by S+ framework, where the framework sends
|
// Verify the OffloadController is called by S+ framework, where the framework sends
|
||||||
// warning along with limit.
|
// warning along with limit.
|
||||||
checkSetDataWarningAndLimit(true, OFFLOAD_HAL_VERSION_1_0);
|
checkSetDataWarningAndLimit(true, OFFLOAD_HAL_VERSION_1_0);
|
||||||
@@ -650,17 +658,26 @@ public class OffloadControllerTest {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void testDataWarningAndLimitCallback() throws Exception {
|
public void testDataWarningAndLimitCallback_LimitReached() throws Exception {
|
||||||
enableOffload();
|
enableOffload();
|
||||||
startOffloadController(OFFLOAD_HAL_VERSION_1_0, true /*expectStart*/);
|
startOffloadController(OFFLOAD_HAL_VERSION_1_0, true /*expectStart*/);
|
||||||
|
|
||||||
OffloadHardwareInterface.ControlCallback callback = mControlCallbackCaptor.getValue();
|
final OffloadHardwareInterface.ControlCallback callback = mControlCallbackCaptor.getValue();
|
||||||
callback.onStoppedLimitReached();
|
callback.onStoppedLimitReached();
|
||||||
mTetherStatsProviderCb.expectNotifyStatsUpdated();
|
mTetherStatsProviderCb.expectNotifyStatsUpdated();
|
||||||
mTetherStatsProviderCb.expectNotifyWarningOrLimitReached();
|
|
||||||
|
|
||||||
|
if (isAtLeastS()) {
|
||||||
|
mTetherStatsProviderCb.expectNotifyWarningOrLimitReached();
|
||||||
|
} else {
|
||||||
|
mTetherStatsProviderCb.expectLegacyNotifyLimitReached();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
@IgnoreUpTo(Build.VERSION_CODES.R) // HAL 1.1 is only supported from S
|
||||||
|
public void testDataWarningAndLimitCallback_WarningReached() throws Exception {
|
||||||
startOffloadController(OFFLOAD_HAL_VERSION_1_1, true /*expectStart*/);
|
startOffloadController(OFFLOAD_HAL_VERSION_1_1, true /*expectStart*/);
|
||||||
callback = mControlCallbackCaptor.getValue();
|
final OffloadHardwareInterface.ControlCallback callback = mControlCallbackCaptor.getValue();
|
||||||
callback.onWarningReached();
|
callback.onWarningReached();
|
||||||
mTetherStatsProviderCb.expectNotifyStatsUpdated();
|
mTetherStatsProviderCb.expectNotifyStatsUpdated();
|
||||||
mTetherStatsProviderCb.expectNotifyWarningOrLimitReached();
|
mTetherStatsProviderCb.expectNotifyWarningOrLimitReached();
|
||||||
|
|||||||
Reference in New Issue
Block a user