Commit graph android_packages_modules_Co.../tests/common/java
Message SHA1
Retain subscription IDs on restricted test networks
Fix the bug where subscription IDs will be cleared
on a restricted test network

Bug: 263415068
Test: NetworkCapabilitiesTest
Change-Id: I977781cd81f9d86858bd264825d66a2a69f6ce53

Yan Yan   commited 2023-03-30 07:49:13 +00:00
966fb798a1
Do not crash when passing null into buildTemplateMobileAll
Test: atest FrameworksNetTests:android.net.connectivity.android.net.NetworkTemplateTest
Test: atest FrameworksNetTests:android.net.connectivity.android.net.netstats.NetworkTemplateTest
Bug: 273963543
Change-Id: I0a8f94df124147e92d35cf474b3d69d1dee6902c

Junyu Lai   commited 2023-03-30 13:59:02 +08:00
2c12f922de
Add allowed capabilities on non cellular test networks
This commit expands the allowed capabilities of non cellular test
networks to include another three values, so that CTS can verify
features that do network selection based on those capabilities.

It is relatively safe becuase for apps that request TRANSPORT_CELLULAR
and the affected capabilities, test networks will still not become their
default networks.

Bug: 263415068
Test: atest NetworkCapabilitiesTest(new tests)
Change-Id: I2e348e4722ecdaa6e277fe77968916ffa2f16af9

Yan Yan   commited 2023-03-22 18:27:19 -07:00
acd71e68a6
Connectivity Tests: join handler thread after calling quitSafely
Somewhat surprisingly, HandlerThread#quitSafely is *not* a synchronous
method, so the tearDown() method still needs to wait for the thread to
join.

Test: TH
Change-Id: I0433e2100adf9299a67af5c259a518cf44f4be57

Patrick Rohr   commited 2023-03-17 01:01:09 -07:00
98021b650b
Move NsdServiceInfoTest to common tests
- NsdServiceInfoTest can be the unit and cts test because
  NsdServiceInfo is a Parcelable class. Thus, move
  NsdServiceInfoTest class to common tests directory.
- Also add ConnectivityModuleTest annotation because the tests
  are using some connectivity APIs which need to run with the
  latest module.
- Fix some coding style errors.
- Remove unnecessary ThreadPolicy code which may affect other
  tests.

Bug: 266839012
Test: atest FrameworksNetTests CtsNetTestCases
Change-Id: Idc4251ef7a1efa294c8a692eb09129440691a22e

Paul Hu   commited 2023-03-08 01:43:11 +00:00
839b81e22f
Delete testUnsupportedAppUsageConstructor from coverage test
This tests @hide API which doesn't really officially supported.
Removed from coverage test.

Test: build, FrameworksNetTests
Change-Id: I6375e7713b8ae67486b3df80d13c19b3adaa3560

Aaron Huang   authored and   Junyu Lai   commited 2023-03-03 15:16:36 +08:00
7e6e5b425c
Fix backward compatibility issue for removed wildcard match rule
A template with type MATCH_MOBILE could have empty subscriber
IDs but it should not contain one of subscriber IDs is null.

An app might still build a template through the constructor
which is annotated with @UnsupportedAppUsage. NetworkTemplate
will throw an exception when the app trying to construct a
template with type *_WILDCARD. The constructor should be
backward compatible with old version so this change is to add
the backward compatibility to have NetworkTemplate not throw
an exception.

Bug: 267701889
Test: FrameworksNetTests
Change-Id: I23a607dae508e0c53520e2edf187cb611ed36b68

Aaron Huang   commited 2023-02-21 14:07:15 +08:00
69086d6cbc
Moves all compatibility flags to ConnectivityCompatChanges.java
ConnectivityCompatChanges.java becomes the centralized place for all the
CompatChanges used in the Connectivity module. By putting all the
CompatChanges here, we are able to manage them under a single
platform_compat_config.

Bug: 268440216
Test: atest FrameworksNetTests
Change-Id: I3e17af545718073d7d1c96e27298e7790563fd33

Yuyang Huang   commited 2023-02-09 19:51:37 +09:00
90a2cbdd8d
Remove *_WILDCARD constants from NetworkTemplate
NetworkTemplate was moved into mainline module and
provide Builder for external users to build template.
MATCH_MOBILE_WILDCARD and MATCH_WIFI_WILDCARD are not
exposed so currently the usage of these two constants
only in module. This change is to remove the constants.

After removing the constants, two methods matchesWifi
and matchesMobile are changed to adapt the original
matches[Wifi|Mobile]Wildcard behavior.

Bug: 238843364
Test: FrameworksNetTests
Change-Id: I9e156b504ce4eb903b39279e443fad27bc921186

Aaron Huang   commited 2022-12-28 18:49:37 +08:00
ece181997c
Remove mSubscriberId from NetworkTemplate
Currently NetworkTemplate provides Builder for users to build a
template and it supports multiple subscriber ids. The mSubscriberId
is a local variable in current design so it can be removed from
NetworkTemplate and also can be removed from the parameter of a
constructor as long as the constructor is not annotated with
@UnsupportedAppUsage.

Bug: 238843364
Test: build, FrameworksNetTests
      CtsNetTestCases
Change-Id: Ic6a695e1c1719111bf26ba905a38673952a24736

Aaron Huang   commited 2022-12-28 12:09:21 +08:00
ee23c03121
Remove mSubscriberIdMatchRule from NetworkTemplate
Currently, mSubscriberIdMatchRule is only used in NetworkTemplate
and it depends on if mMatchSubscriberIds is empty or not. Thus,
remove it since is not really necessary and replace it with
checking matchSubscriberIds if needed.

Bug: 238843364
Test: build, FrameworksNetTests
      CtsNetTestCases
Change-Id: Ic66d2ff2826846778b004bb15a4718a62fa1f470

Aaron Huang   commited 2022-12-28 12:09:09 +08:00
4854d055bb
Rename getBypassable to isBypassable
Bug: 262336021
Bug: 256775913
Test: atest FrameworksNetTests
Change-Id: I5ac8f4f9a2a64189fc66d3c14af6da201a35e3e2

chiachangwang   authored and   Chiachang Wang   commited 2022-12-15 04:22:43 +00:00
2ed983512c
Add areLongLivedTcpConnectionsExpensive in VpnTransportInfo
Add VpnTransportInfo.areLongLivedTcpConnectionsExpensive() in API
surface to allow privileged apps to know whether the long-lived
TCP connections should be expensive in the VPN network.

This is expected to be used combined with getBypassable()
because connections should always go through a VPN that is not
bypassable.

Bug: 259000745
Test: atest FrameworksNetTests
Change-Id: Ic9bcdf43f252f22d12a1136902cc8bbf9cc731f5

chiachangwang   commited 2022-12-13 10:15:49 +00:00
a07cef1059
Make mMatchSubscriberIds as a NonNull variable
In current design, mMatchSubscriberIds can be null which has the
same meaning with empty set, and is not easy to maintain since it
need more checks for this variable when mSubscriberId is null.
Thus make mMatchSubscriberIds NonNull for the maintenance.

Bug: 238843364
Test: build, FrameworksNetTests
Change-Id: I6cfc529b5f4a39ded8598283ff968f2f4d1bc89f

Aaron Huang   commited 2022-11-30 16:38:24 +00:00
859884a48f
Move VpnTransportInfoTest to common test
Move VpnTransportInfoTest to common test to add the cts
coverage.

Annotate @ConnectivityModuleTest so that the test will
not fail with module that is not up-to-date, and use
assertParcelingIsLossless to prevent similar order module
in device case.

Bug: 256775913
Test: atest CtsNetTestCases:android.net.VpnTransportInfoTest
Change-Id: I1c40a4fc42468748d71c3df5c18b2ceb5b3769e1

chiachangwang   commited 2022-11-18 02:17:33 +00:00
91bac1953c
trivialize apf property accessor dead code
(these are never called, but must exist for API reasons)

Bug: 257393783
Test: TreeHugger
Signed-off-by: Maciej Żenczykowski <maze@google.com>
Change-Id: I2f1cb29c5176539abe25bf767997ab4ed5eca6de

Maciej Å»enczykowski   commited 2022-11-04 11:43:22 +00:00
44089f5080
Add logs for changes in capabilities and score
This will be useful for diagnosing default network changes.

Logs may look like, for example :
Update capabilities for net 100 : -NET_CAPABILITY_OEM_PAID+NET_CAPABILITY_TRUSTED
Or :
Update score for net 100 : -POLICY_EVER_EVALUATED+POLICY_IS_VPN+POLICY_IS_DESTROYED

Test: FrameworksNetTests
      manual
Change-Id: Ic4788c599573aae9daeca995b8853800aaaba0b8

Chalard Jean   commited 2022-10-14 14:32:38 +09:00
86317d8bb4
Move bit utilities to BitUtils.
Test: BitUtilsTest
Change-Id: I3e100c6087f61c2a13aa8558ee8f9a9ad480c681

Chalard Jean   commited 2022-10-12 16:39:37 +09:00
1d420b3b76
Fix test flake on IpConnectivityLogTest
The test does not wait for sending all log events done, just
check the total received event number after 200ms. If one of
thread is running slowly, the test would be flaky. Thus, use
the Thread#join() to ensure the log events sending out
completely.

Bug: 245005401
Test: atest CtsNetTestCases
Change-Id: I90ad6960453c4639b6429a2e36e35d2d53148131

Paul Hu   commited 2022-09-16 18:27:53 +08:00
0655d1b89a
Merge "Simplify per-target-SDK LinkProperties tests."
Lorenzo Colitti   authored and   Gerrit Code Review   commited 2022-07-26 05:53:05 +00:00
9f74712d49
Simplify per-target-SDK LinkProperties tests.
Currently these tests run as hostside tests and require a lot of
boilerplate, including their own CtsHostsideNetworkTestsApp3
build target.

Move the coverage to LinkPropertiesTest using the new-ish
@CtsNetTestCasesMaxTargetSdk31 annotation, and remove the
hostside tests.

The only test that is not being moved is one that checks the
behaviour of disabling the compat change on T. This test is not
very useful because it can only run on userdebug builds and not
on production builds, because CtsHostsideNetworkTestsApp3 targets
SDK 33. We do have test coverage for disabling the compat change
on an app targeting SDK 31, where it is allowed.

Fix: 236087258
Test: atest CtsNetTestCasesMaxTargetSdk31
Test: atest CtsNetTestCasesLatestSdk:android.net.LinkPropertiesTest
Change-Id: I6d4b1ba40f6cb63b30a600c227e9628858c03d73

Lorenzo Colitti   commited 2022-07-22 17:53:55 +09:00
ccd3020a91
Remove usage of isDevSdkInRange
SdkLevel utilities should be used instead.

Test: atest
Change-Id: I81bf2807be30e3e4d2d7102cf03f267b28c65a08

Remi NGUYEN VAN   commited 2022-07-22 11:14:31 +09:00
be077c1498
Revert EXCLUDED_ROUTES to only keep RTN_UNICAST
Revert the previous change to filter out all non-RTN_THROW routes when
EXCLUDED_ROUTES is disabled, as that behavior is CTS tested for T, and
has been used by T for a while. The previous change already ensured that
there is no behavior change on S, so this is the safest approach.

This fixes HostsideLinkPropertiesGatingTests.

Bug: 239046959
Test: atest LinkPropertiesTest CtsHostsideNetworkTests
Change-Id: I55e078cdc06341f4957fe7bc743c0022b2c7d3da

Remi NGUYEN VAN   commited 2022-07-15 16:46:14 +09:00
48380e4132
Let LinkProperties#getRoutes() keeps returning all routes before T
Starting from T, VpnService supports exclude routes, which will
make the caller to get both of include routes and exclude routes
from LinkProperties#getRoutes(), and it's not expected to get the
exclude routes before T in production code even though the code
returns all routes.

But there is a CTS - LinkPropertiesTest#testRouteAddWithSameKey()
will try to add an exclude route and check if the result of
LinkProperties#getRoutes() contains that exclude route or not.
And the test is failed now since LinkProperties#getRoutes() will
only return include route if compat feature - EXCLUDED_ROUTES is
disabled. (EXCLUDED_ROUTES is enabled starting from target SDK T)

To fix this test failure, let LinkProperties#getRoutes() keeps
returning all routes if SDK is before T. This avoids changing
behavior on S, and even though there is still a behavior change
when upgrading to T, apps are unlikely to be relying on such
behavior, especially outside of tests.

Bug: 238061814
Test: Run "atest CtsNetTestCases:LinkPropertiesTest" on S build
      with mainline module which contains this patch.
Change-Id: Iac4362c4fe347ee3f06d5b21b0325fa69a7f27b6

Remi NGUYEN VAN   commited 2022-07-14 18:54:05 +09:00
66c27c18a2
Merge "Fix LinkProperties exclude routes tests on user builds."
Lorenzo Colitti   authored and   Gerrit Code Review   commited 2022-06-13 02:01:43 +00:00
b64aeade58
Fix LinkProperties exclude routes tests on user builds.
The tests fail on user builds because they target T and attempt
to override the compat change, which is not allowed on user
builds because the change defaults to on for apps targeting T+.
Fix this by marking the tests max target SDK 31.

Also improve the tests a bit:

- Use a RuleChain to make it explicit that
  CtsNetTestCasesMaxTargetSdk31 should be evaluated before
  EnableCompatChanges (otherwise the compat change rule would
  crash on user builds even if the max target SDK rule was going
  to skip the test anyway).

- Fix the IgnoreUpTo for all exclude route tests to say S+.
  Currently:
  - One says R+, which is incorrect because the updated
    LinkProperties code is in the connectivity module, which only
    goes back to S, not R.
  - The others say T+, which is incorrect because the update code
    is present on S.

Fix: 233553525
Test: LinkProperties test in CtsNetTestCasesLatestSdk passes on T user build
Test: LinkProperties test in CtsNetTestCasesMaxTargetSdk31 passes on T user build
Change-Id: Ie0e2f6761b90a65813ed3610c7b5e930a9fdc982

Lorenzo Colitti   commited 2022-06-13 02:01:35 +00:00
1bb94a3490
Return sorted NetworkStatsHistory
NetworkStatsHistory internally assumes that bucketStart is
sorted at all times. However, in the fields, we've found there
are some buckets of NetworkStatsHistory do not preserve the
order of timestamp, which is caught by the IAE when addEntry
is called.

In order to provide backward compatibility, return sorted items
instead of throwing IAE when adding entry into
NetworkStatsHistory instance.

Test: atest android.net.netstats.NetworkStatsHistoryTest#testBuilder
Bug: 233825704
Change-Id: If3187384bd1e90770ca5873b8ec73e852fff543d
Merged-In: If3187384bd1e90770ca5873b8ec73e852fff543d
  (pure cherry-picked from ag/18581718)

Junyu Lai   commited 2022-06-07 10:51:52 +08:00
bfdd4407eb
Merge changes from topic "stats-migration"
* changes:
  Skip PersistentIntTest on S- device
  Don't clobber existing history entries.
  Ensure NetworkStats migrated snapshot is identical
  [MS82.1] Support network stats data migration process
  Add a PersistentInt class.

Natasha Lee   authored and   Gerrit Code Review   commited 2022-06-01 03:03:02 +00:00
bcdb3c12ee
Run testExcludedRoutesDisabled only in APKs with target SDK < T.
This test crashes if run from an APK that has target SDK 33 or
above because it tries to disable a compat change that on those
SDK versions is enabled by default.

Run it only in CtsNetTestCasesMaxTargetSdk31 and skip it in our
regular CTS modules.

Bug: 233553525
Test: test-only change
Change-Id: Iaf9c46591c13505c9d2a2a09994b9ee22a22390c

Lorenzo Colitti   commited 2022-05-30 23:36:23 +09:00
1c7a20c6c6
Don't clobber existing history entries.
Currently, adding a history to a NetworkStatsCollection.Builder
will overwrite any history that was previously passed in with the
same key. This breaks the importer (which is the primary/only
caller of this code), because the importer re-uses the same
NetworkStatsCollection object to import multiple files.

Instead, simply add any passed-in entries after the ones that
were already there. Require the caller to pass in entries in
order, because NetworkStatsHistory internally assumes that
entris are always sorted.

Bug: 230289468
Test: manually verified this unbreaks the importer
Change-Id: Ic8647ff28fca78d579d5f759f96a864877f8158b
Merged-In: Ic8647ff28fca78d579d5f759f96a864877f8158b
  (pure cherry-picked from ag/18453213)

Lorenzo Colitti   authored and   Junyu Lai   commited 2022-05-24 11:37:42 +08:00
ec2fbb7159
Follow-up changes to Update VPN isolation code for excluded routes
Making changes in the hasExcludeRoute() with more realistic values as
suggested in CL 18173562(https://googleplex-android-review.git.corp.google.com/c/platform/packages/modules/Connectivity/+/18173562) by Lorenzo

Bug: 230058738
Test: atest LinkPropertiesTest
Change-Id: Ic0ea1e83fbe5bfec98b0060ba1a9635d5ba710e1
(cherry picked from commit 6c36b00662df8ccffb2ce49daa04b358c38f1b3e)

preranap   authored and   Prerana Patil   commited 2022-05-13 00:26:27 +00:00
ee4bfe7d3a
Merge "Remove NetworkIdentitySet usage in CTS"
Treehugger Robot   authored and   Gerrit Code Review   commited 2022-05-09 04:13:27 +00:00
65b3529be5
Merge changes I8b48655d,I8ff4e371
* changes:
  Rename of InternalNetworkManagementException
  InternalNetworkManagementExceptionTest unit tests

James Mattis   authored and   Gerrit Code Review   commited 2022-05-05 20:05:35 +00:00
105c5f0b1a
Rename of InternalNetworkManagementException
Test update for renaming InternalNetworkManagementException to
EthernetNetworkManagementException.

Bug: 210485380
Test: atest FrameworksNetTests
Change-Id: I8b48655dc090eecda1dfd0542092308036fe6da7

James Mattis   commited 2022-05-03 13:22:21 -07:00
371b229216
InternalNetworkManagementExceptionTest unit tests
Bug: 210485380
Test: atest FrameworksNetTests
:android.net.InternalNetworkManagementExceptionTest

Change-Id: I8ff4e371be961a4ffce5e6281c86ab4c2968f971
Merged-In: I8ff4e371be961a4ffce5e6281c86ab4c2968f971

James Mattis   commited 2022-05-03 13:22:15 -07:00
d9d03808f1
Merge "Update VPN isolation code for excluded routes"
Prerana Patil   authored and   Gerrit Code Review   commited 2022-05-03 17:40:12 +00:00
a1c6dbbd53
Merge "Add test for NetworkTemplate.Builder#setRoaming(int)"
Aaron Huang   authored and   Gerrit Code Review   commited 2022-05-03 07:02:11 +00:00
c7975ff3bf
Merge "Add NetworkTemplateTest to common test for cts coverage"
Aaron Huang   authored and   Gerrit Code Review   commited 2022-05-03 07:01:55 +00:00
132df4ed06
Remove NetworkIdentitySet usage in CTS
NetworkIdentitySet is hidden API and may change on subsequent module
updates.
Use the module_lib NetworkStatsCollection.Key constructor that uses a
set of NetworkIdentity instead.

Bug: 217129444
Test: atest NetworkStatsCollectionTest
Change-Id: Icd1160ae920059306c3319f7298707f1e14cbb48

Remi NGUYEN VAN   commited 2022-05-02 14:59:51 +09:00
7b0c61d0bd
Merge "[MS83] Add Cts for NetworkStatsCollection/History builders"
Treehugger Robot   authored and   Gerrit Code Review   commited 2022-05-02 02:26:55 +00:00
6a957c70c0
Update VPN isolation code for excluded routes
Bug: 230058738
Test: atest LinkPropertiesTest

Result: https://paste.googleplex.com/4706859672928256

Change-Id: I970fca6b0e2cd358e9bd77152563d13367867c74

Prerana   authored and   Prerana Patil   commited 2022-04-29 22:23:02 +00:00
2b97bbebf4
Merge "Fix CtsNetTestCases on Q"
Remi NGUYEN VAN   authored and   Gerrit Code Review   commited 2022-04-18 03:12:42 +00:00
d651629b14
Fix CtsNetTestCases on Q
- Skip NetworkCapabilitiesTest on Q. The test covers code that is very
   localized in NetworkCapabilities.java, and is only updatable on S+,
   so does not need to be in MTS before that.
 - Fix ConnectivityManagerTest to remove external references to
   CaptivePortalData instances in the lambdas, as this is compiled into
   a method taking CaptivePortalData as argument, and because the class
   does not exist on Q, the test runner would crash enumerating method
   arguments.
 - Remove call to getSystemService(ETHERNET_SERVICE) on Q from the test
   thread, as it will crash when called from a thread that does not have
   a Looper.

Test: atest CtsNetTestCases
Bug: 227253613
Change-Id: I97c64b24c767e874dfba00aa1f46be2c4972f917

Remi NGUYEN VAN   commited 2022-04-15 16:40:08 +09:00
c559512cd2
Filter out excluded routes in LinkProperties
Gate presence of excluded routes in LinkProperties on target sdk T.

Bug: 186082280
Test: atest LinkPropertiesTest
Change-Id: If8fdb468a0a4968c5f2a878b7aacfeb4f7d9a9e5

Taras Antoshchuk   commited 2022-04-13 01:17:56 +02:00
30d41e59bc
Rename setAccessUids to setAllowedUids
Bug: 217725769
Test: ConnectivityServiceTest CtsNetTestCases
Change-Id: Ic8a3f91553d1462b7f54259c467fb90a950bdd59
Merged-In: I8860fbb353eedf5d01e9dc248e4d765046bd562c

Chalard Jean   authored and   Sooraj Sasindran   commited 2022-03-16 17:58:20 +00:00
de665266cd
Add test for NetworkTemplate.Builder#setRoaming(int)
Bug: 215435701
Test: CtsNetTestCases
Change-Id: Ie000244a954585241304adef95b4156e64d33f41
Merged-In: Ie000244a954585241304adef95b4156e64d33f41

Aaron Huang   commited 2022-03-10 15:00:49 +00:00
6d70c20ff5
Add NetworkTemplateTest to common test for cts coverage
Test for NetworkTemplate.Builder

Bug: 215435701
Test: CtsNetTestCases
Change-Id: I3a55bc74388fa34a142abec308b67b185641c460
Merged-In: I3a55bc74388fa34a142abec308b67b185641c460

Aaron Huang   commited 2022-03-10 14:57:46 +00:00
22999fd87a
[MS83] Add Cts for NetworkStatsCollection/History builders
Test: 1. atest CtsNetTestCases:android.net.netstats.NetworkStatsHistoryTest
 2. atest CtsNetTestCases:android.net.netstats.NetworkStatsCollectionTest
 3. atest FrameworksNetTests
Bug: 218441356
  (cherry-picked from ag/16811190)
Change-Id: If3d45325623cad987aab35f89c55f84042271adf
Merged-In: If3d45325623cad987aab35f89c55f84042271adf

junyulai   commited 2022-03-09 14:14:01 +08:00
08e0130dcb
Merge "Rename getVpnRequiresValidation to isVpnValidationRequired"
Chiachang Wang   authored and   Gerrit Code Review   commited 2022-03-03 00:10:54 +00:00
978370cb9c
Rename getVpnRequiresValidation to isVpnValidationRequired
Update API name from getVpnRequiresValidation to
isVpnValidationRequired according to API review feedback.

Test: atest FrameworksNetTests
Bug: 220129160
Change-Id: I1025f4c35b320c14e872eaffd7ed82658a5f3d0c

Chiachang Wang   commited 2022-03-02 01:02:45 +00:00
7ec6ae74c8