Commit graph android_packages_modules_Co.../tests
Message SHA1
Add WRITE_ALLOWLISTED_DEVICE_CONFIG perm when modifying DeviceConfig
Android 16 introduces restrictions on the DeviceConfig flags that
can be modified by the shell user by removing the WRITE_DEVICE_CONFIG
permission from this user and replacing it with the
WRITE_ALLOWLISTED_DEVICE_CONFIG permission; with this permission,
only those flags that have been allowlisted can be modified. This
commit adds the ALLOWLISTED permission to any test that explicitly
adopts the shell permission identity with the WRITE_DEVICE_CONFIG
permission; the WRITE_DEVICE_CONFIG permission is not removed to
ensure tests do not break when run on previous platform releases
without the ALLOWLISTED permission.

Bug: 364083026
Flag: TEST_ONLY
Test: Manually ran all modified tests
Change-Id: Iad68063550f99f3dc78ac2f0483dad98a8a93f2e

Michael Groover   commited 2024-11-18 23:28:24 -06:00
a3882a238b
Merge "Revert "Set diagnostics log-data-type to CONNDIAG"" into main
Treehugger Robot   authored and   Gerrit Code Review   commited 2024-11-18 03:16:23 +00:00
0006d2ee51
Revert "Set diagnostics log-data-type to CONNDIAG"
This reverts commit 5714031dcc.

Reason for revert: breaks MCTS as tests are run with older tradefed that does not have the option: b/378710131

This can be rolled forward after cherry-picking the tradefed change to older branches.

Change-Id: Ib9b4fe3b1c5393cd6e802eee4899457497d79ca7

Remi NGUYEN VAN   authored and   Gerrit Code Review   commited 2024-11-18 00:57:58 +00:00
27fb206ded
Merge changes I2388220a,I5f282160 into main
* changes:
  Add a test for delayed teardown with unregisterAfterReplacement.
  Fix system crash when netd return error

Treehugger Robot   authored and   Gerrit Code Review   commited 2024-11-12 18:47:07 +00:00
f45f40717b
Add a test for delayed teardown with unregisterAfterReplacement.
Bug: 363854848
Test: test-only change
Change-Id: I2388220a97c50a8a39920c6354ec30c4936f045d

Lorenzo Colitti   commited 2024-11-12 15:34:00 +00:00
feeff37fca
Merge changes from topic "fixTetheringRevert" into main
* changes:
  Validate packageName with AppOpsManager#checkPackage
  Revert^2 "Add UID and package name to TetheringRequest"

Quang Luong   authored and   Gerrit Code Review   commited 2024-11-08 02:31:58 +00:00
5cd7166523
Enable secondary_user_on_secondary_display for CtsNetTestCasesMaxTargetSdk33 am: 1ebe54b8d4
Original change: https://android-review.googlesource.com/c/platform/packages/modules/Connectivity/+/3341060

Change-Id: Iab1aa43781bf4258416d4e24e38b7f194c39ceeb
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>

Yabin Huang   authored and   Automerger Merge Worker   commited 2024-11-07 22:09:30 +00:00
bf3f11cf7f
Enable secondary_user_on_secondary_display for CtsNetTestCasesMaxTargetSdk33
secondary_user_on_secondary_display is for background users that have
access to UI on assigned displays (a.k.a. visible background users) on
devices that have config_multiuserVisibleBackgroundUsers enabled.
The main use case is Automotive's multi-display Whole Cabin experience
where passengers (modeled as visible background users) can interact
with the display in front of them concurrently with the driver
(modeled as the the current user) interacting with driver's display.

The AndroidTest.xml  file is shared by several modules, including
CtsNetTestCasesMaxTargetSdk33. Now all modules can pass now.

Fixes: 365184699
Test: atest CtsNetTestCasesMaxTargetSdk33
Test: atest --user-type secondary_user CtsNetTestCasesMaxTargetSdk33
Test: atest --user-type secondary_user_on_secondary_display CtsNetTestCasesMaxTargetSdk33
Flag: TEST_ONLY

Change-Id: I905646aca1a3d3ed2a80bbe3a8c67ec0139e7562

Yabin Huang   commited 2024-11-07 01:36:08 +00:00
1ebe54b8d4
Fix for CtsNetTestCasesUpdateStatsPermission
The CtsNetTestCasesUpdateStatsPermission apk was missing ConnectivityTestPreparer apk.

Flag: EXEMPT test only

Bug: 364634490
Test: atest CtsNetTestCasesUpdateStatsPermission
Test: atest --user-type secondary_user_on_Secondary_display CtsNetTestCasesUpdateStatsPermission
Change-Id: I00111bf5bd2ea99bfff17177813d2814ea24894c

Mayank Garg   commited 2024-11-06 16:50:54 +00:00
e7bbdcba2e
Merge "Drop the redundant type and caller uid checks for TrafficStats" into main
Treehugger Robot   authored and   Gerrit Code Review   commited 2024-11-06 08:58:27 +00:00
6258c4482f
Merge "Enable secondary_user_on_secondary_display for CtsNetTestCasesInternetPermission" into android15-tests-dev am: 9bf459028c
Original change: https://android-review.googlesource.com/c/platform/packages/modules/Connectivity/+/3335456

Change-Id: Ia06123d19403f8bed812c576142d72ea674ce180
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>

Treehugger Robot   authored and   Automerger Merge Worker   commited 2024-11-06 05:29:05 +00:00
abc0345426
Drop the redundant type and caller uid checks for TrafficStats
This commit removes the redundant type and caller uid
checks in TrafficStats to address the review feedback at
aosp/3313055.

Test: TH
Bug: 343260158
Change-Id: I0ed6e850835136c9a324efd7271dd80a34160aa6

Junyu Lai   commited 2024-11-06 13:17:23 +08:00
739d200d35
Merge "Enable secondary_user_on_secondary_display for CtsNetTestCasesInternetPermission" into android15-tests-dev
Treehugger Robot   authored and   Gerrit Code Review   commited 2024-11-06 05:11:44 +00:00
9bf459028c
Fix failed CtsNetTestCasesInternetPermission am: b3951a23b9
Original change: https://android-review.googlesource.com/c/platform/packages/modules/Connectivity/+/3336033

Change-Id: I01cab6853eb5a6e4e12993b1a6b31961ad5b1a4e
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>

Yabin Huang   authored and   Automerger Merge Worker   commited 2024-11-06 00:49:40 +00:00
cad9c2c8a7
Revert^2 "Add UID and package name to TetheringRequest"
This reverts commit c8df03ffd7.

Reason for revert: Will fix issue with CL aosp/3326396

Change-Id: I220025f7c8f8145a232ac2ae7f44e16088c122d7

Oscar Shu   commited 2024-11-05 22:52:36 +00:00
46722ad4c4
Enable secondary_user_on_secondary_display for CtsNetTestCasesInternetPermission
secondary_user_on_secondary_display is for background users that have
access to UI on assigned displays (a.k.a. visible background users) on
devices that have config_multiuserVisibleBackgroundUsers enabled.
The main use case is Automotive's multi-display Whole Cabin experience
where passengers (modeled as visible background users) can interact
with the display in front of them concurrently with the driver
(modeled as the the current user) interacting with driver's display.

Fixes: 364636108
Test: atest CtsNetTestCasesInternetPermission
Test: atest --user-type secondary_user CtsNetTestCasesInternetPermission
Test: atest --user-type secondary_user_on_secondary_display CtsNetTestCasesInternetPermission
Flag: TEST_ONLY

Change-Id: Ib559c8465846f687a725b85c330f398e81cbe567

Yabin Huang   commited 2024-11-05 20:55:30 +00:00
59c654d252
Fix failed CtsNetTestCasesInternetPermission
Similar to ag/19534833, this CL ensured that CtsNetTestCasesInternetPermission builds its helper apks.

Bug: 364636108
Test: atest CtsNetTestCasesInternetPermission
Flag: TEST_ONLY
Change-Id: I989126cc027e317e228fad197b6e9f752e8e4acb

Yabin Huang   commited 2024-11-05 19:48:37 +00:00
b3951a23b9
Enable error-prone checking for CtsNetTestCasesDefaults
Enable error-prone checking for CtsNetTestCasesDefaults to
catch NullablePrimitive errors during build time. This is
to address review feedback at aosp/3292201

Test: m CtsNetTestCases
Bug: N/A
Change-Id: I009f0e4ede02a933570cfcc8c563808dbf436193

Junyu Lai   commited 2024-11-05 10:03:19 +00:00
6d74933962
Merge "Make the idle timer for network data tracking configurable" into main
Treehugger Robot   authored and   Gerrit Code Review   commited 2024-10-31 21:15:37 +00:00
cf3b26e3bf
Merge "Test races around NetworkAgent creation." into main
Treehugger Robot   authored and   Gerrit Code Review   commited 2024-10-31 15:41:15 +00:00
22bd86c584
Test races around NetworkAgent creation.
This adds tests for bugs that were introduced when we enabled
early native network creation. The tests pass on current builds
because the feature is disabled, but break if the feature is
re-enabled without fixing the races.

Specifically:
- Add a test that registers/unregister/registers agents in a
  loop. This checks for a race between unregister() and
  register() which exists because unlike register(),
  unregister() has to wait for the agent channel to be
  connected.
- Add a test for calling unregisterAfterReplacement multiple
  times on the same interface. This tests for the race seen
  in b/286649301#comment6 , where calling
  unregisterAfterReplacement twice and then registering a third
  agent will cause the second agent to be torn down after the
  third is registered.

Bug: 296355968
Test: test-only change
Change-Id: I3d798209740273e5ce59b278af41dd2ad9470916

Lorenzo Colitti   commited 2024-10-31 16:26:14 +09:00
fcb37cff82
Merge "Add config for client-side traffic stats rate-limit cache." into main
Junyu Lai   authored and   Gerrit Code Review   commited 2024-10-31 07:22:36 +00:00
30ff675df5
Merge changes Ia7ea051f,I38bdfe00 into main
* changes:
  Fix system caller cannot query stats for other uids
  Use device config to enable/disable the rate-limit cache feature

Treehugger Robot   authored and   Gerrit Code Review   commited 2024-10-31 06:23:58 +00:00
05be25b8ba
Merge "Address review comments at aosp/3249945" into main
Treehugger Robot   authored and   Gerrit Code Review   commited 2024-10-31 06:23:56 +00:00
457b54a1ae
Merge "Revert "Add UID and package name to TetheringRequest"" into main
Maciej Żenczykowski   authored and   Gerrit Code Review   commited 2024-10-30 19:00:22 +00:00
1a84e82bf5
Revert "Add UID and package name to TetheringRequest"
This reverts commit 462703c850.

Reason for revert: b/375535923

Change-Id: I7f77959490e8243bb95985bd28b67efcf0f3eb00

Patrick Rohr   authored and   Gerrit Code Review   commited 2024-10-30 16:29:15 +00:00
c8df03ffd7
Add config for client-side traffic stats rate-limit cache.
This is a no-op change since the config is not used yet, and
the feature flag will be gradually rolled out instead of enabled
by default.
However, this change is necessary for follow-up changes to enable
toggling the feature and configuring its behavior through device
configuration flags.

This change includes:

 1. Disable the service-side cache flag if the client-side flag
    is enabled.
 2. Since the apps don't have enough permission to check the
    feature flag from DeviceConfig. Provides a binder interface
    for returning per-UID config,
    which only returns cache enabled if the SDK level is V+
    or the app's target SDK is V+.

Test: atest FrameworksNetTests:android.net.connectivity.android.net.TrafficStatsTest \
      FrameworksNetTests:android.net.connectivity.com.android.server.net.NetworkStatsServiceTest \
      CtsNetTestCases:android.net.cts.NetworkStatsBinderTest \
      FrameworksNetIntegrationTests:com.android.server.net.integrationtests.NetworkStatsIntegrationTest
Bug: 343260158
Change-Id: Id9761e4aea65fabe6466c875b787e178317a1da2

Junyu Lai   commited 2024-10-30 23:02:59 +08:00
b9071f8512
Fix system caller cannot query stats for other uids
Follow-up from aosp/3249945. If the system caller queries stats
for other UIDs, the caller would get UNSUPPORTED.
This follows the official documentation, where the API would
not return stats for all other UIDs.

However, partners or other legacy callers might already depend
on this undocumented behavior. Changing this behavior might
damage existing apps.

Thus, this change reverts the behavior change introduced at
aosp/3249945 and allows a system caller to query stats for
other UIDs.

Test: atest ConnectivityCoverageTests:android.net.connectivity.android.net.TrafficStatsTest
Bug: 372851500
Change-Id: Ia7ea051f7b0b6349ffcb890c300362bbfbdee3dc

Junyu Lai   commited 2024-10-30 23:02:55 +08:00
e51bae6bdc
Make the idle timer for network data tracking configurable
Networks can use widely varying timeouts for their connections. Because
cellular modems use a lot of power, having this configurable is more
useful for tuning this to an optimal value for power drain.

Adding a similar configurable value for WiFi for parity.

Test: atest ConnectivityCoverageTests:\
android.net.connectivity.com.android.server.CSNetworkActivityTest

Bug: 373733012
Change-Id: I2418f09233b2e3fa4e9cdd8fbb6149a35106b735

Suprabh Shukla   commited 2024-10-29 19:06:42 -07:00
c623c946f5
Use device config to enable/disable the rate-limit cache feature
Currently, if the app's target SDK is V+, the rate-limit cache is
enabled regardless of whether the kill switch is enabled or not.
This creates problems if there is a need to disable the feature
entirely.

Thus, this change makes the kill switch override the target SDK
level. This is necessary for follow-up changes to enable
the client-side cache and disable the service-side cache
simultaneously.

This change also removes the need of initializing/clearing the
caches when the cache is entirely disabled.

Test: atest FrameworksNetTests:android.net.connectivity.android.net.TrafficStatsTest \
      FrameworksNetTests:android.net.connectivity.com.android.server.net.NetworkStatsServiceTest \
      CtsNetTestCases:android.net.cts.NetworkStatsBinderTest \
      FrameworksNetIntegrationTests:com.android.server.net.integrationtests.NetworkStatsIntegrationTest
Bug: 343260158
Change-Id: I38bdfe00220f59712ca4b095fe4e7a3731320708

Junyu Lai   commited 2024-10-28 14:43:15 +08:00
24fcc3668a
Add missing PacketReader.stop() call
The PacketReader should be stopped after the test completes.
Otherwise, it may lead to a memory leak due to the creation of
excessive file descriptors.

Test: atest NsdManagerTest
Change-Id: I3015dbe9d8a25e3370b32935787708e1e88fbbc7

Paul Hu   commited 2024-10-28 03:23:41 +00:00
a3cf536ffa
Add CTS for cached services removal
Bug: 355421878
Test: atest FrameworksNetTests NsdManagerTest
Change-Id: Ie9857c7c60efcd327fb49c701702fda3eab27959

Paul Hu   commited 2024-10-28 03:23:41 +00:00
af1c56c88f
Address review comments at aosp/3249945
This change includes:
  1. Rename binder interfaces.
  2. Use a dedicated class to pass the result of
     get{Total|Iface|Uid}Stats, as it is 25% faster than passing
     a NetworkStats object through the binder interface.
  3. Remove the binder interface only used by the test.
  4. Remove NetworkStatsBinderTest on R and S, since the binder
     interface is removed, the mainlined service does not run on
     those versions and the chance of breaking these tests on
     R and S is low.
  5. Remove useless TODO comments.

Test: atest FrameworksNetTests:android.net.connectivity.com.android.server.net.NetworkStatsServiceTest \
      CtsNetTestCases:android.net.cts.NetworkStatsBinderTest \
      FrameworksNetIntegrationTests:com.android.server.net.integrationtests.NetworkStatsIntegrationTest
Bug: 372851500
Bug: 343260158

Change-Id: Ibd79a17218f54f0117d8ef5d7b9ec6073356f923

Junyu Lai   commited 2024-10-28 10:59:35 +08:00
9fb574d0c3
Merge "Verify migration when multiple tunnels exist" into main
Yan Yan   authored and   Gerrit Code Review   commited 2024-10-25 23:06:51 +00:00
d83a614812
Merge "Refactor requestNetworkAndGenerateTraffic by using synchronized methods" into main
Treehugger Robot   authored and   Gerrit Code Review   commited 2024-10-25 10:06:35 +00:00
26b1df6644
Merge "Remove dependencies on the 1-variant fallback" into main
Treehugger Robot   authored and   Gerrit Code Review   commited 2024-10-24 06:56:10 +00:00
ed99321230
Merge "Fix flakes due to cell reconnecting on wifi toggle" into main
Treehugger Robot   authored and   Gerrit Code Review   commited 2024-10-24 04:02:13 +00:00
e486d1d6b2
Fix flakes due to cell reconnecting on wifi toggle
On some networks, telephony may teardown its network
(unregisterAfterReplacement) when wifi is toggled to change the MMS
capability.

Update testRejectUnvalidated_TearDownNetwork to take that into account:
right after toggling wifi to make it unvalidated, wifi may still be
default if mobile data is being reconnected. Wait for mobile data to
reconnect and validate in that case.

Bug: 296403855
Test: atest
Change-Id: Ief46bed41ecb23d75c9a1f58e7a272e7f3de7caf

Remi NGUYEN VAN   commited 2024-10-24 11:22:56 +09:00
c19e8a00cc
Merge "Add UID and package name to TetheringRequest" into main
Quang Luong   authored and   Gerrit Code Review   commited 2024-10-24 02:09:25 +00:00
bdc5960a1a
Add UID and package name to TetheringRequest
Add a uid and package name to TetheringRequest to keep track of which
app the request belongs to, and also convey this information to Wifi
for later use with resource conflicts.

Bug: 216524590
Test: atest TetheringManagerTest TetheringServiceTest
Change-Id: If963694cb1bbd831ba379a76043825c94ef9d67a

Quang Anh Luong   commited 2024-10-23 15:52:03 +09:00
462703c850
Merge changes I7184eaa0,I2c5951ab into main
* changes:
  Do not crash when adding UID ranges to a destroyed network.
  Test that UID ranges can incorrectly be added to a destroyed network.

Lorenzo Colitti   authored and   Gerrit Code Review   commited 2024-10-23 04:39:07 +00:00
6bf2ce44e4
Remove dependencies on the 1-variant fallback
When adding a dependencies, if the variants don't match, but the
dependency only has 1 variant anyways, soong will always use that
variant. This makes it hard to add new variants to soong, because the
1-variant fallback stops being used and you start getting missing
variant errors. Make changes to bp files such that all dependencies
correctly specify the variant to use.

Bug: 372091092
Flag: EXEMPT refactor
Test: m nothing
Change-Id: I8d4f59044f268088b44357d27322abbdcdc3001c

Cole Faust   commited 2024-10-22 16:31:00 -07:00
9ff8f4c81b
Do not crash when adding UID ranges to a destroyed network.
aosp/3218864 fixed the crash when ranges are removed from a
destroyed network, but did not fix the case where the ranges are
added to a destroyed network.

This can happen if a multilayer request is filed when a network
has already been destroyed.

Fix: 368989698
Test: updated existing tests for this bug
Change-Id: I7184eaa01141f56b7ad774277c7dee03d5812298

Lorenzo Colitti   commited 2024-10-22 11:41:21 +00:00
dfe98fc5be
Test that UID ranges can incorrectly be added to a destroyed network.
This will likely crash the system.

Bug: 368989698
Test: test-only change
Change-Id: I2c5951ab4ccb2c17c4e87912053130377b9941ba

Lorenzo Colitti   commited 2024-10-22 11:40:09 +00:00
a81bfafda5
Merge "Set diagnostics log-data-type to CONNDIAG" into main
Treehugger Robot   authored and   Gerrit Code Review   commited 2024-10-21 02:47:42 +00:00
e6f9b7cbbc
Set diagnostics log-data-type to CONNDIAG
This will mark connectivity diagnostics files collected on failure as
CONNDIAG type, so they can be easily identified in test results. Having
a separate type will also allow automatically filtering them so they can
be pulled across test results and flake stats can be aggregated (for
example to identify which wifi access points are typically flaky).

The CONNDIAG type was added in change ID:
Ib56decb7660e9f93844337fa7a5bf9b00610c1c6

See that change for details of the option on FilePullerLogCollector.

Test: atest
Change-Id: I00fe23acf308723583e8ec82a032b42475a68173

Remi NGUYEN VAN   commited 2024-10-21 09:25:46 +09:00
5714031dcc
Merge "Create a timerfd JNI class" into main
Paul Hu   authored and   Gerrit Code Review   commited 2024-10-18 02:01:25 +00:00
6911ab9dd9
Merge "Refactor shouldTestThisNetworkType" into main
Treehugger Robot   authored and   Gerrit Code Review   commited 2024-10-16 11:02:48 +00:00
507922a1e3
Refactor requestNetworkAndGenerateTraffic by using synchronized methods
This is a refactoring of the test to adopt synchronized methods.
This is needed for the follow-up changes to get attributes of
the network prior to generating the network traffic.

This change includes:
  1. Use synchronized methods in AutoReleaseNetworkCallbackRule for
     better managing request/release networks and also improves
     readability.
  2. Decouple the steps of requesting network, set attributes and
     generating network traffic.
  3. Clearer fail messages since the test can directly throw exceptions
     to reflect the failures of a specific procedure.
  4. Remove the global timeout, which makes the test more likely
     to be flaky when individual steps take longer to complete.
  5. Use capabilities in the callback instead of synchronous calls to
     fetch attributes.
  6. Use @RestoreDefaultNetwork annotation to enforce default network
     restoration.

Test: atest CtsNetTestCases:android.net.cts.NetworkStatsManagerTest \
      --rerun-until-failure 30
Bug: 368624224
Change-Id: I3effa3c032afb345f1c0c4b73b51397d18970a19

Junyu Lai   commited 2024-10-16 16:49:38 +08:00
33bb7fbfb7
Create a timerfd JNI class
The timerfd delivers timer expiration notifications via a file
descriptor, which can be used to implement delayed callbacks.
Create a JNI class to interface with the timerfd system calls.

Bug: 366373064
Test: m
Change-Id: I0ae7a4cf618838e614b2fa4523b55a4d0e8f74e2

Paul Hu   commited 2024-10-16 06:29:48 +00:00
eb73d4ddda