Commit graph android_packages_modules_Co.../tests/unit/java/com/android
Message SHA1
Expose the netd mock in CSTest to allow verifying calls on it
Test: manual
Change-Id: Ib39dc4dbf534f14d94923bb0026f18e47edabba2

Chalard Jean   commited 2023-10-07 15:11:40 +09:00
ff7edd36eb
Add missing copyright notices to tests
Test: comment-only change
Change-Id: I63bada891757d7e991cc7538c56e4fc50074ee5d

Chalard Jean   commited 2023-10-07 15:09:21 +09:00
52afbf2634
Prioritize non-slices over slices
For general internet access, a specialized slice is generally
not preferable to a non-specialized network.

Test: new test in this patch
Change-Id: I052ce923300566807999b2f20f5911181fb761dd

Chalard Jean   commited 2023-10-03 21:30:49 +09:00
14499f0119
Lower CLAT max MTU from 65536 to 1528.
Android's clat is for reaching the internet, which in general
never has an ipv4 L3 mtu higher than 1500.

(We could probably hit this on a jumboframe enabled IPv6-only
wifi network [ http://b/292057969#comment18 ] where RA claims
MTU of 9K [9170])

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

Maciej Żenczykowski   commited 2023-09-30 14:23:51 +00:00
9f94648b7f
Use carrier service changed callbacks when flag is on
Test: FrameworksNetTests
      Note that carrierPrivilegeAuthenticatorTest is already
      an @Parameterized test with flag = on and off, so it
      already tests both.
Change-Id: I52fcfd3f21a13d7a39952ba828464ce6ef4085c2

Chalard Jean   commited 2023-09-29 15:48:48 +09:00
361dad3243
Merge changes Ifd7abd8a,I39cab8ff,I6b3270d6,Ia28c6abc,If47d7e23 into main
* changes:
  Move the MULTI_SIM_ACTION receiver inline
  Inline registerForCarrierChanges
  Make mThread a local
  Introduce a flag for using the carrier service changed callbacks.
  Have DevSdkIgnoreRunner support @Parameterized parameters

Jean Chalard   authored and   Gerrit Code Review   commited 2023-09-29 06:46:08 +00:00
1d600f4300
Merge "Add more necessary infra to CSTest" into main
Jean Chalard   authored and   Gerrit Code Review   commited 2023-09-29 03:50:45 +00:00
21599869f7
Move the MULTI_SIM_ACTION receiver inline
This will be easier to read when this behavior is diverted
based on a flag

Test: FrameworksNetTests
Change-Id: Ifd7abd8ad82cb8307b1cd8535ac5fa82004404e6

Chalard Jean   commited 2023-09-28 21:37:32 +09:00
090b1f586b
Introduce a flag for using the carrier service changed callbacks.
Test: CarrierPrivilegeAuthenticatorTest
Change-Id: Ia28c6abca67866c1de953cb61953a0d2882cd7e2

Chalard Jean   commited 2023-09-28 21:37:32 +09:00
84dfa9f104
wear proxy behind portal
Do not avoid captive portal on wear proxy network; keep network agent
after detecting portal.

Bug: 291112432
Test: atest FrameworksNetTests:android.net.connectivity.com.android.server.ConnectivityServiceTest
Change-Id: I8f6669da62ebd76b6a46d2aec9b3ea563a08cb5e

Andriy Naborskyy   commited 2023-09-27 07:28:05 +00:00
d032dd42ea
Nat464Xlat: rely on netd events being called on handler thread.
aosp/2724918 moved processing netd events for 464xlat to the
handler thread.

This CL makes 464xlat run the code that processes those events
inline. This simplifies the code and makes the ordering of events
more similar to what it was before.

Bug: 293965195
Fix: 302071735
Test: existing unit tests
Change-Id: I18b0d491aff94646b878a3d3488b5519fd42783c

Lorenzo Colitti   commited 2023-09-26 11:00:37 +00:00
3b817cbad3
Add more necessary infra to CSTest
- Ability to mock enabled changes, which is necessary for
  requestNetwork
- Ability to disconnect an agent

Test: in aosp/2761506
Change-Id: If2701f1fff29453e74a4b388758c6ee3a16a5734

Chalard Jean   commited 2023-09-25 14:56:09 +09:00
073606fc8d
Merge "Add newApi linter check for mDNS library" into main
Yuyang Huang   authored and   Gerrit Code Review   commited 2023-09-13 05:55:51 +00:00
365cf0a393
Add newApi linter check for mDNS library
The mDNS library need to be backported to some internal library which
support minSdk 21. Therefore, updated the build rules to add the linter
check.

Bug: 296175311
Test: TH
Change-Id: Iae0bffa315dc6de2339a05f595b13480fa7385ae

Yuyang Huang   commited 2023-09-12 19:01:21 +09:00
fc83170c70
Correct isLegacy metric data
The isLegacy field of Nsd metrics should indicate whether the
data was collected from the old backend or not. However, it is
currently only dependent on the ENABLE_PLATFORM_MDNS_BACKEND
compat change value, which is incorrect. This is because the
NsdService always uses the new backend since Android U,
regardless of the compat change value. Therefore, the isLegacy
data should be obtained from each transaction.

Bug: 287546772
Bug: 299880473
Test: atest FrameworksNetTestCases NsdManagerTest
Change-Id: I156abd656b90578d710696a69ccf7dfca97a2c9c

Paul Hu   commited 2023-09-12 01:20:00 +00:00
508a012b2e
Implement ConnectivityStateMetrics sample
Test: ConnectivitySampleMetricsTest
Change-Id: I0afdda023208c3f8620cb5b89add66448af596d7

Chalard Jean   commited 2023-09-11 17:12:46 +09:00
f95e2de35a
Add base classes for common ConnectivityService tests.
This sets up what is necessary for an instrumented
ConnectivityService to run. Users of this class are
meant to inherit CSTest.

This is still relatively basic and does not have all the
instrumentation in ConnectivityServiceTest. Developers
looking to extend CSTest may find some instrumentation
missing ; when they add the missing instrumentation,
they should consider whether it should be generic for all
CSTests (and put it in base/), or whether it's local to
their own test suite. This should enable faster testing
as each CSTest children will only need to set up the
instrumentation it actually needs.

This patch also migrates a basic test to have a first user.

Bug: 272685721
Test: ConnectivityServiceTest
      CSBasicMethodsTest
Change-Id: I1c47f616af90629c9cb2a6ae89d992b19863e704

Chalard Jean   commited 2023-09-11 16:46:27 +09:00
0f5c4fe9cb
Merge "Add Chicken bit for the mDNS offload feature" into main
Yuyang Huang   authored and   Gerrit Code Review   commited 2023-09-08 13:25:53 +00:00
169de9c8a1
Merge "Disable cache flush bit in existing announcement" into main
Paul Hu   authored and   Gerrit Code Review   commited 2023-09-08 12:48:05 +00:00
af511b5abe
Add Chicken bit for the mDNS offload feature
Bug: 297482971
Test: TH
Change-Id: I6f2cdd066d9047b113ff80211cf6d4c6fa605104

Yuyang Huang   commited 2023-09-08 17:42:26 +09:00
b96a071f51
Verify that VPN name is set in VPN networks
Verify that the extra info for validation logs in the
NetworkInfo is set.

Bug: 297790570
Test: atest FrameworksNetTests
Change-Id: I5b77b3bab30154b7979cda003274cde0d834a5fb

Chiachang Wang   commited 2023-09-07 09:22:24 +00:00
5ee9dedb0f
Report more advertising metrics data
Report more advertising metrics data below when the service is
unregistered.
- Replied request count (sum across interfaces)
- Sent packet count (including announcements and probes)
- Number of conflicts during probing
- Nubmer of conflicts after probing

Bug: 287546772
Test: atest FrameworksNetTestCases NsdManagerTest
Merged-In: I50c54a35dc523422e3a7302c059bbbc38eac5631
Change-Id: I50c54a35dc523422e3a7302c059bbbc38eac5631

Paul Hu   commited 2023-09-06 11:26:53 +08:00
043bcd4537
Merge "Send rawOffloadPacket to OffloadEngine" into main
Yuyang Huang   authored and   Gerrit Code Review   commited 2023-09-06 00:04:00 +00:00
a337d95cc4
Disable cache flush bit in existing announcement
Per RFC6762#10.1, the cache flush bit should be false for
existing announcement. Otherwise, the record will be deleted
immediately when receiving this response.

Bug: 299054783
Test: atest FrameworksNetTestCases NsdManagerTest
Change-Id: I8bf1a5b1914b49720862836abb543b232185f5f5

Paul Hu   commited 2023-09-05 17:54:55 +08:00
88239ccb0a
Merge "Delay frozen app sockets close until the cellular modem wakes up" into main
Motomu Utsumi   authored and   Gerrit Code Review   commited 2023-09-05 09:11:01 +00:00
4e95ea0740
Send rawOffloadPacket to OffloadEngine
Add the missing logic to send the rawOffloadPacket to OffloadEngine.

Bug: 297314970
Test: atest CtsNetTestCases FrameworksNetTestCases
Change-Id: I06d7a9bb84df72808eff4f0c9df60f7e60aa2a2c

Yuyang Huang   commited 2023-09-05 08:51:04 +00:00
31f6e2eccb
Merge "Update permission check for offloadEngine registration" into main
Yuyang Huang   authored and   Gerrit Code Review   commited 2023-09-05 08:45:39 +00:00
65f96123a2
Update permission check for offloadEngine registration
For an app to register itself as an offloadEngine, it must have either
of the following permissions: NETWORK_STACK,
PERMISSION_MAINLINE_NETWORK_STACK, NETWORK_SETTINGS,
REGISTER_NSD_OFFLOAD_ENGINE.

Bug: 294777050
Test: atest CtsNetTestCases FrameworksNetTests
Change-Id: I19fe9b996a02b1ae23116c02a1b8406d93b3ecf1

Yuyang Huang   commited 2023-09-05 14:53:51 +09:00
8e6fbc8c1a
Delay frozen app sockets close until the cellular modem wakes up
Closing TCP sockets sends RST packets. If the cellular modem is idle,
sending RST packets will wake the modem up and consume battery.

This CL adds delay_destroy_frozen_sockets_version flag.
When this flag and destroy_frozen_sockets_version is enabled,
ConnectivityService delays closing socket until the cellular modem wakes up.
Pending frozen sockets are closed also when cellular network becomes no
longer the default network.

This CL also adds flag status and pending uids to the dump.

Bug: 284900338
Test: FrameworksNetTests
Change-Id: I2562568390dda36d02f72afb3a96f824788964c0

Motomu Utsumi   commited 2023-09-04 18:04:31 +09:00
188bfd36da
Address flake in testNetworkCallbackMaximum
These flake occasionally because registering a request increases
the current request count synchronously while unregistering
decreases it asynchronously, meaning if the test has time to
call register 100 times before unregister can run it will
wrongfully flake.
This could be addressed in production code but as comments in
the change explain, this isn't worth the complexity. Hence
just have a pinpoint fix in the test. See aosp/2707373 for
what a fix in the production code would look like.

Test: manual
Bug: 289530922
Change-Id: Iad9a725eda91406f820abe4706bca0a4756352a4

Chalard Jean   commited 2023-08-30 15:19:50 +09:00
2eb2f7998d
Merge "Verify reevaluation triggered when VPN validation fails" into main
Chiachang Wang   authored and   Gerrit Code Review   commited 2023-08-30 03:12:42 +00:00
29178c8906
Verify reevaluation triggered when VPN validation fails
Update tests to verify that the underlying network reevaluation
is triggered when VPN validation status switches to unvalidated.

Bug: 296183603
Test: atest FrameworksNetTests
Change-Id: I80934cce6e7f2d56039bdd6ad63c6f7173a597cb

Chiachang Wang   commited 2023-08-30 03:08:56 +00:00
3e1edc231f
Merge "Split BpfNetMaps constants and utilities into standalone classes" into main
Junyu Lai   authored and   Gerrit Code Review   commited 2023-08-29 10:44:51 +00:00
50a7ecccf1
Split BpfNetMaps constants and utilities into standalone classes
This is a no-op refactoring that splits constants and utility
methods into standalone classes which will be shared with
a bpf reader class in subsequent CLs.

NO_IFTTT=No-op refactoring

Test: atest FrameworksNetTests:android.net.connectivity.com.android.server.BpfNetMapsTest
Test: atest ConnectivityCoverageTests:android.net.connectivity.com.android.net.module.util.StructTest

Bug: 297836825
Change-Id: I6d7ea044e43180ae001573009a166be74ebe6a5d

Junyu Lai   commited 2023-08-29 08:20:10 +00:00
29b7b6385a
Merge "Verify VPN underlying network is set as soon as it tries to use it" into main
Chiachang Wang   authored and   Gerrit Code Review   commited 2023-08-28 10:18:23 +00:00
69cd0aa5a0
Merge "Request enterprise networks" into main
Jean Chalard   authored and   Gerrit Code Review   commited 2023-08-28 09:20:34 +00:00
940e330f5d
Verify VPN underlying network is set as soon as it tries to use it
Bug: 289606688
Test: atest FrameworksNetTests
Change-Id: Ib35a63ac5f68599c646afad5cad68c1753fb732f

Chiachang Wang   commited 2023-08-28 08:00:20 +00:00
845a91cc31
Merge changes I47b91c0c,I630c0e49 into main
* changes:
  Report sent query count
  Report service info callback metrics data

Paul Hu   authored and   Gerrit Code Review   commited 2023-08-25 14:46:39 +00:00
1b5d601d0c
Report sent query count
Report the sent query count when the discovery is stopped.

Bug: 287546772
Test: atest FrameworksNetTestCases NsdManagerTest
Change-Id: I47b91c0c530eee2f00920ee5ea99e8d7b6e2e9ee

Paul Hu   commited 2023-08-22 17:26:27 +08:00
bad6fe9835
Report service info callback metrics data
Bug: 287546772
Test: atest FrameworksNetTestCases
Change-Id: I630c0e4921f7acf42bf29812d9790ee5a894d60b

Paul Hu   commited 2023-08-22 15:25:37 +08:00
ddce5919af
Merge "Fix kotlin nullable errors in Connectivity tests" into main
Colin Cross   authored and   Gerrit Code Review   commited 2023-08-22 04:13:01 +00:00
d5038a042c
Merge "Report resolution stop" into main
Treehugger Robot   authored and   Gerrit Code Review   commited 2023-08-18 09:30:26 +00:00
aa4db9753b
Report resolution stop
Report the nsd metrics event of resolution stop.

Bug: 287546772
Test: atest FrameworksNetTestCases
Change-Id: I2e6de22c946d58a3410f16b2f2689fd3ffc635a4

Paul Hu   commited 2023-08-18 11:59:06 +08:00
6014905672
Merge "Stop the created handler threads on the tests" into main
Paul Hu   authored and   Gerrit Code Review   commited 2023-08-18 02:40:45 +00:00
a436faf92d
Merge "Stop the created handler threads" into main
Chiachang Wang   authored and   Gerrit Code Review   commited 2023-08-17 09:40:05 +00:00
033ca4c8cf
Stop the created handler threads on the tests
The created handler thread will stay there for a while until
all the tests are finished. This is considered as a leakage
which will take the resource from the devices. In low end
devices, this may possibly impact the performance. The created
threads should be closed explicitly.

Test: atest FrameworksNetTests
Change-Id: Id5faceec341578f1c9757194c91a433fbb3f657f

Paul Hu   commited 2023-08-17 06:53:16 +00:00
f6e1867963
Stop the created handler threads
The created handler thread will stay there for a while until
all the tests are finished. This is considered as a leakage
which will take the resource from the devices. In low end
devices, this may possibly impact the performance. The created
threads should be closed explicitly.

Test: atest FrameworksNetTests
Change-Id: I332d55d8effdb975fd9a8953b19910a7fb25e426

chiachangwang   commited 2023-08-17 06:18:46 +00:00
8d336eb1a3
Merge "Use isTetheringFeatureNotChickenedOut for kill switch" into main
Motomu Utsumi   authored and   Gerrit Code Review   commited 2023-08-17 06:13:21 +00:00
23b0bab6b1
Use isTetheringFeatureNotChickenedOut for kill switch
Following CLs remove the default value from isFeatureEnabled since the
default value was difficult to use correctly.
For example, there was a code that use isAtLeastT() as default value and
expect feature is always enabled on T+ devices.
However, default value is used only when the device does not have the
flag value or flag value is 0.
So the expectation that the feature is always enabled on T+ devices is
not correct if flag is pushed to the device by mistake or the device is
upgraded from S to T but the flag value is not cleared.
If the feature should be always enabled on T+ devices, `isAtleastT() ||
isFeatureEnabled()` should be used instead of `isFeatureEnabled(
isAtleastT() /* defaultValue*/ )`

After the default value argument is removed from isFeatureEnabled,
isFeatureEnabled is used for default false flag and
isTetheringFeatureNotChickenedOut is used for default true kill switch flag.

automatic_on_off_keepalive_version flag is not configured and devices
don't have this flag value.
So updating to use isTetheringFeatureNotChickenedOut should not have any
behavior change.

Test: m
Bug: 279108992
Change-Id: I43ceab6cc5234bd5a43af3acbd7bd7344844c5a6

Motomu Utsumi   commited 2023-08-16 20:15:52 +09:00
0a50c65f75
Report resolution metrics data
Collect information on resolution success and failure events,
then use this data to build metrics and report them.

Bug: 287546772
Test: atest FrameworksNetTestCases NsdManagerTest
Change-Id: I373ce91fea9d5a278f53fc0c505be90dd39b2d5b

Paul Hu   commited 2023-08-16 15:53:06 +08:00
a6bc463155