Commit Graph

3467 Commits

Author SHA1 Message Date
Remi NGUYEN VAN
defc74fb2f Merge "Use ConnectivityCheckTargetPreparer in CTS" 2021-11-05 04:27:47 +00:00
Remi NGUYEN VAN
1d1b1fe999 Merge "Move fromStableParcelable to KeepaliveController" 2021-11-04 06:19:17 +00:00
Kimberly Kreider
200e42063c Merge "Replace "mts" with "mts-tethering"." 2021-11-01 23:43:53 +00:00
Treehugger Robot
a200fe8c1c Merge "Shorten a timeout" 2021-11-01 12:19:28 +00:00
Chalard Jean
31ac212428 Merge "Replace mDeps with a custom object" 2021-11-01 10:31:53 +00:00
Chalard Jean
f63e4597a3 Shorten a timeout
This timeout is not very useful but will be incurred every
time

Test: ConnectivityServiceTest
Change-Id: Ia7c76c7c7a148f14844d098be267e16c215776f5
2021-11-01 19:30:10 +09:00
Lucas Lin
5bf4cd9a73 Merge "Add tests for testing if [start|finish]Op is called or not" 2021-11-01 08:33:36 +00:00
Chalard Jean
21f4f70d46 Replace mDeps with a custom object
Mockito's mocks are not thread-safe. The dependencies object
is used both on the test thread (to set it up) and in the CS
handler thread. This can't work with a mock.

Bug: 195626111
Test: ConnectivityServiceTest
Change-Id: Ia989dd71c3133513a90bc1d1957419fb1b74c300
2021-11-01 16:30:56 +09:00
Remi NGUYEN VAN
5d99aa78f7 Move fromStableParcelable to KeepaliveController
TcpKeepaliveController is the only user of
KeepalivePacketDataUtil.fromStableParcelable. Because of
fromStableParcelable, networkstack-client needs to depend on
net-utils-framework-commonm, which pulls a lot of unnecessary classes.
This is particularly problematic considering that networkstack-client
may need to be redistributed as a prebuilt.

Move the method to TcpKeepaliveController, simplifying dependencies.
This also shows that fromStableParcelable could be removed altogether
(or moved to tests) if TcpKeepaliveController built a
TcpKeepalivePacketData class directly.

Test: atest ConnectivityCoverageTests
Change-Id: I554318f6bcd07c73d153598a0231e9fcaf912e90
2021-11-01 13:23:27 +09:00
Remi NGUYEN VAN
9c358cd831 Use ConnectivityCheckTargetPreparer in CTS
The preparer does basic checks for device configuration before any test
is run, so that wrong device configuration can be identified at the
module level, rather than fail individual test cases.

If test devices are not properly configured with a wifi configuration
and data-enabled SIM cards, the run will fail before starting the test
module.

As the preparer uses much of CtsNetUtils code for connecting to wifi,
refactor that code out of CtsNetUtils.

Test: atest CtsNetCasesLatestSdk
Change-Id: I1214b6d6916e836bcd68d15c50486092c7fb9a6e
2021-10-28 15:15:53 +09:00
Remi NGUYEN VAN
9a689f81f4 Add RequiresDevice to relevant tests
Replace SkipPresubmit with RequiresDevice on relevant tests, as
RequiresDevices is more standard and more specific.

This allows creating test configurations using virtual devices which are
not necessarily in presubmit.

Bug: 201014262
Test: TH needs to verify test mapping run with new annotation
Change-Id: I6758d2a41a9a987a5244e47e4795bc49889c4d61
2021-10-28 09:49:42 +09:00
Aaron Huang
2685c929f4 Add a test for metered/non-metered mobile network
NetworkTemplate.buildTemplateMobileWithRatType() supports
to build a template with metered filter, so a mobile network
is metered or non-metered should be tested.

This commit also rename buildMobile3gState to buildMobileState
because originally this method uses NetworkInfo to simulate the
network type. The NetworkInfo related codes were removed.
Currently, setMobileRatTypeAndWaitForIdle is used to simulate
the network type in test.

Ignore-AOSP-First: The parent of this change contains a CL will
conflict with internal tree so ignore AOSP first.
Bug: 183776809
Test: this
Change-Id: I8e54e2acb06db81fb0eaf330c4fd7cb391b01ff3
2021-10-26 12:16:18 +00:00
Aaron Huang
eaca5b1982 Add a test for NetworkIdentity.getMetered()
NetworkIdentity has adapted NET_CAPABILITY_TEMPORARILY_NOT_METERED
network capability so add a test case for it.

Ignore-AOSP-First: The parent of this change contains a CL will
conflict with internal tree so ignore AOSP first.
Bug: 183776809
Test: this
Change-Id: I2ca2a8b4db664b76a5a5ee82fcff451efd87c8ff
2021-10-26 12:16:03 +00:00
Lucas Lin
c5e61cc540 Merge changes Ib2d54e53,Ieb606d2b
* changes:
  Test if underlying networks are the same as what VpnService sets
  Convert VpnTest to JUnit4
2021-10-26 06:07:19 +00:00
lucaslin
cacd5b0d2a Test if underlying networks are the same as what VpnService sets
If VpnService set null as the underlying networks, then the
underlying networks will be set as system defeult network.
If VpnService set an empty array as the underlying networks, then
the underlying networks of VPN will not be set to any networks.
If VpnService set a network which is not null or an empty array,
then the underlying networks of VPN should be the same as this
one.

Bug: 191918368
Test: atest CtsHostsideNetworkTests:HostsideVpnTests
Change-Id: Ib2d54e53960e5f899cb8d4cfaa6705ca676354ca
2021-10-26 10:55:41 +08:00
lucaslin
d2de904def Convert VpnTest to JUnit4
This is to fix the error in errorprone target, the error message
is: [JUnit4ClassUsedInJUnit3] Assume cannot be used inside a
JUnit3 class. Convert your class to JUnit4 style.
The error method is: assumeTrue()

Bug: 191918368
Test: atest CtsHostsideNetworkTests:HostsideVpnTests
Change-Id: Ieb606d2ba31cc19510425114c76fd77417227f2c
2021-10-26 10:55:25 +08:00
lucaslin
d4e7b00b2b Add tests for testing if [start|finish]Op is called or not
Add a test for testing if [start|finish]Op will be called when
[start|stop]VpnProfile is called.
Also add a test to ensure that the startOp will not be called
again when seamless handover is happened.

Bug: 197135981
Test: atest FrameworksNetTests:VpnTest
Change-Id: I778ea4edf7c4a2d20b3b8e1877e7942feac5372a
2021-10-26 03:46:46 +08:00
Aaron Huang
6359ebd099 Update callers to use buildTemplateMobileWithRatType with metered
The method buildTemplateMobileWithRatType is updated to take
metered as a parameter so the callers should be updated to
the new version.

Bug: 183776809
Test: atest FrameworksNetTest
Change-Id: I859514b93705f9ee4f9ae4b0bcddcb61005a78ff
Merged-In: I859514b93705f9ee4f9ae4b0bcddcb61005a78ff
2021-10-25 15:22:59 +00:00
Lucas Lin
acd3e2be33 Merge "Wait for network to be validated when setting a valid private DNS" 2021-10-21 11:34:35 +00:00
lucaslin
4d441a9b8d Wait for network to be validated when setting a valid private DNS
The previous design just set a valid private DNS and checked
whether onCapabilitiesChanged() has received and
NetworkCapabilities#isPrivateDnsBroken is false. It cannot ensure
that the private DNS is working until the network is validated.
So change the design to waiting the network to be validated after
setting a valid private DNS.

Bug: 196769780
Test: atest CtsNetTestCases:ConnectivityManagerTest
Change-Id: I9c173a70e2b81788efa2ecbf928acda0379846da
2021-10-21 16:47:26 +08:00
Lucas Lin
9c9850b944 Merge "Add underlying networks into NetworkAgentInfo if any" 2021-10-21 08:33:29 +00:00
Kimberly Kreider
c5b3f34831 Replace "mts" with "mts-tethering".
Bug: 203466102
Test: build locally and verified contents
Change-Id: I7cccb54c0ad1a3bd8da0bcb7ad6474aa1e734299
2021-10-20 18:16:59 +00:00
Paul Hu
7a30d04659 Merge "Crash bad callers earlier" 2021-10-20 06:53:39 +00:00
Paul Hu
c4898b85ce Merge "Specify which callback is unexpected in testMobileDataPreferredUids" 2021-10-20 05:39:19 +00:00
Treehugger Robot
9755b43575 Merge "Exclude testGetMultipathPreference on no Wi-Fi devices" 2021-10-20 02:10:47 +00:00
paulhu
c344c9fb9c Specify which callback is unexpected in testMobileDataPreferredUids
This test is flaky due to assertNoCallback(). Because this
method expects no any callback received but the wifi network
may update its capabilities during testing and trigger
onCapabilitiesChanged() to cause test failed. Thus, these
callbacks should be ignored in the tests.

Replace the assertNoCallback to assertNoCallbackThat with
callback type specified to deflake tests.

Also align the available callback verification in the test to
avoid confusion.

Fix: 198367703
Test: atest android.net.cts.ConnectivityManagerTest\
      --iterations 20
Change-Id: Ifde5e9730823c3b6f32590cc436cc4ba11d2b36e
2021-10-19 18:27:19 +08:00
Chalard Jean
4b918ab1a4 Crash bad callers earlier
Instead of crashing when parceling the NetworkInfo object,
crash at the time the bad call is made.

Bug: 145972387
Test: FrameworksNetTests
Change-Id: If8b5fd3d7b800c97211bcd16c9a8c5812708d4ab
2021-10-19 16:43:50 +08:00
lucaslin
6adf5ac19b Add underlying networks into NetworkAgentInfo if any
Now, VPN will set underlying networks into NetworkCapabilities
directly. So the declaredUnderlyingNetworks can also be set
directly when creating a NetworkAgentInfo.

Bug: 191918368
Test: atest FrameworksNetTests:ConnectivityServiceTest
Change-Id: I507072d00ae1eb0c391e5261ab93e359b9c4cb5c
2021-10-19 15:04:56 +08:00
Lucas Lin
39379a40bd Merge "Add new APIs in NetworkCapabilities to set and get underlying networks" 2021-10-18 05:27:59 +00:00
lucaslin
8b2dfa7c02 Add new APIs in NetworkCapabilities to set and get underlying networks
Previously, the caller can only know about the transport type of
the underlying network. The information might not be enough if
the device support WiFi STA+STA.
Thus, provide an API for the caller to get the correct underlying
network.

Bug: 191918368
Test: atest FrameworksNetTests:NetworkCapabilitiesTest
Change-Id: I7752b2356770f4572f6ca4cbaecaa45c09d6d72f
2021-10-15 18:07:12 +08:00
Treehugger Robot
6b6d2eb75b Merge "Ignore testRestrictedNetworkPermission on Q" 2021-10-13 07:01:33 +00:00
Chiachang Wang
1c3cdce86d Exclude testGetMultipathPreference on no Wi-Fi devices
Bug: 202228414
Test: atest CtsNetTestCases
Change-Id: I3112ffb816fd16b2fc7a87c35d8f95eef0144281
2021-10-07 13:19:32 +08:00
Treehugger Robot
6e1c375f50 Merge "Support wifi and ethernet connection for DnsResolverTest." am: f822038c1c
Original change: https://android-review.googlesource.com/c/platform/packages/modules/Connectivity/+/1833253

Change-Id: I3ae21d9b034e455ba48d9576712a102ccda0f647
2021-10-06 08:52:12 +00:00
steven_fann
fa8dbc5da7 Support wifi and ethernet connection for DnsResolverTest.
Issue: 199675828
Test: atest CtsNetTestCases:android.net.cts.DnsResolverTest

Change-Id: Ie1c7522426314ccc83008b75f90a57f3a53339d4
2021-10-05 15:36:35 +08:00
Treehugger Robot
b370da94ec Merge "Increase timeouts for loopers" am: 2ed9b3dc70
Original change: https://android-review.googlesource.com/c/platform/packages/modules/Connectivity/+/1844177

Change-Id: I8062108d1faf53bf9efbfb947f3238f02b7cf34f
2021-10-04 10:58:27 +00:00
Treehugger Robot
2ed9b3dc70 Merge "Increase timeouts for loopers" 2021-10-04 10:42:59 +00:00
Treehugger Robot
7366c89d64 Merge "Remove "when" usage in ConnectivityServiceTest" am: f697c61406
Original change: https://android-review.googlesource.com/c/platform/packages/modules/Connectivity/+/1844176

Change-Id: I9197503f4f19748824ab3cc1efc8d540779399ec
2021-10-04 10:00:40 +00:00
Treehugger Robot
f697c61406 Merge "Remove "when" usage in ConnectivityServiceTest" 2021-10-04 09:42:47 +00:00
Chalard Jean
1afb2e33e2 Increase timeouts for loopers
In coverage tests this seems to randomly fail, which suggests
some delay. Have a constant for timeout and increase its value
significantly where it makes no functional difference.

Test: FrameworksNetTests
Change-Id: I035d865f01688daf3bce30c5130ce550fa84b885
2021-10-04 18:02:17 +09:00
Aaron Huang
045f47bc31 Merge "Enable/disable FrameworksNetTests" am: d1ed1cb8b7
Original change: https://android-review.googlesource.com/c/platform/packages/modules/Connectivity/+/1843117

Change-Id: Ida093c6792bed45d5f65e3ea0e567eb30de74807
2021-10-04 08:07:21 +00:00
Remi NGUYEN VAN
d7331e929f Remove "when" usage in ConnectivityServiceTest
"when" is not thread-safe, as it relies on global state to find which
mock was called with the method to mock in its parameters.

This causes flakes where non-test code that interacts with the mock may
be called from another thread between the contents of "when" and the
"when" method another thread, causing UnfinishedStubbingExceptions or
other test errors. In particular
ConnectivityService#getNetworkCapabilitiesInternal was seen to be
wrongly identified as a mocking site for Dependencies.

Replace all usages with doReturn().when(mock).method() syntax, which has
better thread safety since global state is not necessary to tie the
mock, mocked method and return value.

Bug: 195626111
Test: atest ConnectivityServiceTest
Change-Id: I57c5ffb3b3f799fc59c3af4ccb323fb5d6794fad
2021-10-04 17:03:44 +09:00
Aaron Huang
d1ed1cb8b7 Merge "Enable/disable FrameworksNetTests" 2021-10-04 07:53:09 +00:00
Aaron Huang
1ed8affa72 Enable/disable FrameworksNetTests
Currently, there are some test for classes that are not in
connectivity module. If the platform code has a new change
that the test depends on it, then the test cannot verify the
behavior since the change does not exist in module branch.

This change moves the test for non-module classes out of
FrameworksNetTestsLib so that it doesn't go into coverage tests.
Then add those tests to FrameworksNetTests and use a variable
to enable/disable FrameworksNetTests which could minimize merge
conflicts.

Bug: 201265286
Test: make FrameworksNetTests

Change-Id: Ia9669da2c4d79054710e7f4173bc960e3f77f45a
2021-10-01 19:29:50 +08:00
Chiachang Wang
d2bd93f2e2 Merge "Restore private dns host name after testing" am: 0ee7406d33
Original change: https://android-review.googlesource.com/c/platform/packages/modules/Connectivity/+/1836114

Change-Id: I51344c514278433e66016a812e1458e5e2df0e8d
2021-10-01 00:54:23 +00:00
Chiachang Wang
e129460c46 Merge "Remove reference when active listener is unregistered" am: a39b107812
Original change: https://android-review.googlesource.com/c/platform/packages/modules/Connectivity/+/1833145

Change-Id: I7b05b33c2a0c02c298d42ab4891ce543fe5ab9bd
2021-10-01 00:54:16 +00:00
Chiachang Wang
0ee7406d33 Merge "Restore private dns host name after testing" 2021-10-01 00:37:15 +00:00
Chiachang Wang
a39b107812 Merge "Remove reference when active listener is unregistered" 2021-10-01 00:37:00 +00:00
Mark Chien
da862b2a35 Merge "Support set test network to tethering upstream" am: 473d864d20
Original change: https://android-review.googlesource.com/c/platform/packages/modules/Connectivity/+/1797991

Change-Id: Ifd5c76a943886dfe55e9b68eeb77931dae6fe204
2021-09-30 12:48:15 +00:00
Mark Chien
473d864d20 Merge "Support set test network to tethering upstream" 2021-09-30 12:36:11 +00:00
Chiachang Wang
c345dec57b Merge "Add test for CM#[add|remove]DefaultNetworkActiveListener" am: 2086865010
Original change: https://android-review.googlesource.com/c/platform/packages/modules/Connectivity/+/1827918

Change-Id: I2b1e5ed720d2ca97f740713ed3b24a119edc8f28
2021-09-30 12:16:40 +00:00