Commit graph android_packages_modules_Co.../tests/unit
Message SHA1
Merge "Immediately create native networks when NetworkAgents register."
Lorenzo Colitti   authored and   Gerrit Code Review   commited 2023-05-11 03:35:21 +00:00
18cdec34dd
Merge "Use a single SharedLog for all mdns components"
Paul Hu   authored and   Gerrit Code Review   commited 2023-05-11 00:45:18 +00:00
3e497c7b1e
Merge "Optionally have ConnectivityService kill sockets for frozen apps"
Mark Fasheh   authored and   Gerrit Code Review   commited 2023-05-10 23:08:00 +00:00
2d626e5632
Optionally have ConnectivityService kill sockets for frozen apps
To do this we register a UidFrozenStateChangedCallback with
ActivityManager. The callback then queues up work on the Handler thread
to consume the original callback args and kill appropriate sockets.

Test: atest ConnectivityServiceTests
Bug: 277100090
Change-Id: I93f174811aef726145a18ea90443ddfc1456478e

Mark Fasheh   commited 2023-05-10 21:04:54 +00:00
7c999d8d4c
Immediately create native networks when NetworkAgents register.
Currently, native networks for non-VPN networks are created only
when the NetworkAgent goes into the CONNECTED state. This is not
ideal, because until the network is connected:

- Nothing routes to the network, so no IP packets can be sent on
  it (except via packet sockets).
- Many network configuration changes (e.g., routes and DNS
  servers) fail to apply because the network does not exist yet.
  These cause ENONET errors in the logs.

Fix this starting in U by creating the native network as soon as
the agent registers. This should not impact apps because
NetworkCallbacks are not sent until networks are connected.

Bug: 143158421
Test: new coverage in NetworkAgentTest
Change-Id: I26bfa8630c085422175558645c47a6c64be96ae6

Lorenzo Colitti   commited 2023-05-10 20:01:07 +09:00
4f87aa3f13
Merge "Fix template for test network needs fine location permission"
Junyu Lai   authored and   Gerrit Code Review   commited 2023-05-10 02:22:18 +00:00
598ca1e284
Use a single SharedLog for all mdns components
Use a single SharedLog in NsdService, and making subcomponents
for DiscoveryManager/Advertiser/SocketProvider. Because each
logger has 500 maxRecords, so 2000 records in total, which take
too much memory.

Also address leftover comments in previous logging changes.

Before:
  2023-04-17T15:05:27.409895 - [Client10082-1] Register a DiscoveryListener 3 for service type:_nmt274981618._tcp.local
  2023-04-17T15:05:26.408015 - [Client10082-1] New client. useJavaBackend=true

Advertiser:
  2023-04-17T15:05:27.213023 - [testtap0] Probing finished for service 2
  2023-04-17T15:05:26.409607 - Adding service name: ^Nsd.Test|Non-#AsCiI\Characters&\ufffe テスト 測試, type: _nmt274981618._tcp, hostAddresses: , port: 12345, network: null, txtRecord:  with ID 2

DiscoveryManager:
  2023-04-17T15:05:28.227786 - [_nmt274981618._tcp.local-102] onServiceNameDiscovered: ^Nsd.Test|Non-#AsCiI\Characters&\ufffe テスト 測試
  2023-04-17T15:05:27.409104 - createServiceTypeClient for serviceType:_nmt274981618._tcp.local network:102
  2023-04-17T15:05:27.398075 - Registering listener for serviceType: _nmt274981618._tcp.local

SocketProvider:
  2023-04-17T15:05:28.292106 - Remove socket on net:102
  2023-04-17T15:05:26.441517 - Create socket on net:NetworkAsKey{ network=102 }, ifName:testtap0
  2023-04-17T15:05:26.409005 - Start monitoring sockets.

After:
Logs:
  2023-04-17T20:51:42.931769 - [MdnsDiscoveryManager._nmt682015268._tcp.local-101] onServiceNameDiscovered: Name: ^Nsd.Test|Non-#AsCiI\Characters&\ufffe テスト 測試, type: _nmt682015268._tcp.local, subtypes: , ip: [100.70.162.138], ipv6: [fe80::9c0e:d0ff:fe7d:e5aa, 2a00:79e1:abc:6f04:9c0e:d0ff:fe7d:e5aa, 2a00:79e1:abc:6f04:eb56:8e39:5e1f:1102], port: 12345, interfaceIndex: 47, network: 101, textStrings: [], textEntries: []
  2023-04-17T20:51:42.032465 - [NsdService.Client10082-1] Register a DiscoveryListener 3 for service type:_nmt682015268._tcp.local
  2023-04-17T20:51:42.026645 - [MdnsDiscoveryManager] createServiceTypeClient for type:_nmt682015268._tcp.local, net:101
  2023-04-17T20:51:41.091555 - [MdnsAdvertiser] Adding service name: ^Nsd.Test|Non-#AsCiI\Characters&\ufffe テスト 測試, type: _nmt682015268._tcp, hostAddresses: , port: 12345, network: null, txtRecord:  with ID 2
  2023-04-17T20:51:41.091037 - [MdnsSocketProvider] Start monitoring sockets.
  2023-04-17T20:51:41.089951 - [NsdService.Client10082-1] New client. useJavaBackend=true

Bug: 275004614
Test: atest FrameworksNetTests android.net.cts.NsdManagerTest
Change-Id: I1c9b7697cc95748f7fe4e6beecea217d39c56fb1

Paul Hu   commited 2023-05-10 02:18:43 +00:00
14667deefa
Merge "Process all responses if the network is null in MdnsServiceTypeClient"
Paul Hu   authored and   Gerrit Code Review   commited 2023-05-09 10:23:24 +00:00
49078d7b0f
Process all responses if the network is null in MdnsServiceTypeClient
If the network is null in MdnsServiceTypeClient, it should use
MdnsSocketClient for single socket only. So it's expected to
process any response from only the socket (network).

Move the stopDiscovery outside the listener check loop.
Because the stop should only be called once.

Add a test to verify the response processing with a non-null
network MdnsServiceTypeClient

Bug: 265787401
Test: atest FrameworksNetTests
Change-Id: I76965302037f050e0ac3b2cfdbaa5a855e2283c7

Paul Hu   commited 2023-05-09 15:19:29 +08:00
bdf82a2aa0
Merge "Fix isFeatureEnabled namespace and overload usage"
Treehugger Robot   authored and   Gerrit Code Review   commited 2023-05-08 03:19:27 +00:00
ab809e5ce0
Avoid going over max service name length when renaming NSD services
As per  RFC 1034/1035, the max size of the label is 63 bytes. It should
also be guaranteed when the serviceName is renamed due to the conflict.

Bug: 265865456
Test: atest FrameworksNetTests
Change-Id: I077d8abdb91071db62b9618d9918e3a12682aaf4

Yuyang Huang   commited 2023-05-04 13:24:23 +09:00
de802c8dc4
Fix template for test network needs fine location permission
For a template with MATCH_TEST, since the wifi network key is
just a placeholder to identify a specific test network, it is
not related to track user location. Hence the check is not
really needed.

Test: 1. atest NetworkStatsIntegrationTest with use location turned off
      2. atest FrameworksNetTests:android.net.connectivity.com.android.server.net.NetworkStatsServiceTest
Fix: 280686048
Change-Id: Ic128cfbbb2d03c427c9030c99bf205eb65a33e58

Junyu Lai   commited 2023-05-04 11:01:33 +08:00
a58914b548
Fix isFeatureEnabled namespace and overload usage
From service-connectivity, NAMESPACE_TETHERING must be used, as
NAMESPACE_CONNECTIVITY is used for the NetworkStack module. Also the
isFeatureEnabled with module name must be used, otherwise the "android"
package version is queried instead of the tethering module version.

BpfNetMaps is using flag value 1 to workaround this issue.
flags in NsdService, AutomaticOnOffKeepaliveTracker, and ConnectivityFlags
were not pushed currently.
So, this change has no effect to devices.

Bug: 279108992
Test: TH
Change-Id: I2b4b6a13c048c20beef52b1f43b9e21aca0c637a

Motomu Utsumi   commited 2023-04-28 19:18:43 +09:00
278db58bf5
Move ConnectivityResources to service-connectivity
The ConnectivityResources class is only usable with QUERY_ALL_PACKAGES
permission, so it is not generally usable in framework-connectivity. It
is also backed by the ServiceConnectivityResources APK, which is
intended as resources for service-connectivity.

Move the class to service-connectivity and update callers. CTS needs a
way to determine the supported keepalive count as it used the
resources from KeepaliveUtils as @hide API, so provide a
ConnectivityManager @hide API for testing.

Bug: 279108992
Test: atest
Change-Id: I3c9a77c580b5ab87c922c32778bce15dc33b4d1d

Remi NGUYEN VAN   authored and   Motomu Utsumi   commited 2023-04-28 19:18:39 +09:00
bee2ee14f3
Merge "Test the encap/timeout for the VCN"
Jean Chalard   authored and   Gerrit Code Review   commited 2023-04-28 05:18:59 +00:00
e50f1464bb
Merge "Add some tests for packet wakeup logging changes"
Treehugger Robot   authored and   Gerrit Code Review   commited 2023-04-28 05:14:46 +00:00
915b32ea23
Add some tests for packet wakeup logging changes
Cellular networks are now supported for marking wakeup packets. As a
result onWakeupEvent now also reports data relevant to the cell
transport.

These unit tests should add coverage for these new behaviors.

Test: atest FrameworksNetTests

Bug: 276498460
Change-Id: I0b8a03fff6255e067b736f3dbfb53de56420f90b

Suprabh Shukla   commited 2023-04-27 19:29:38 -07:00
53e1639b7d
Merge "Refactor the ISocketNetLinkMonitor to AbstractSocketNetlink"
Yuyang Huang   authored and   Gerrit Code Review   commited 2023-04-28 02:02:12 +00:00
f410cca0e3
Merge "Make the MTU tests more realistic."
Lorenzo Colitti   authored and   Gerrit Code Review   commited 2023-04-27 06:02:08 +00:00
0c11c6d29d
Refactor the ISocketNetLinkMonitor to AbstractSocketNetlink
Test: atest CtsNetTestCases FrameworksNetTests
Bug: 279692201
Change-Id: Ie07603ea51dda1ffdeb15f753bda7892d9137766

Yuyang Huang   commited 2023-04-27 12:40:03 +09:00
508e508ca6
Merge "remove needless arguments to stopClatd"
Maciej Żenczykowski   authored and   Gerrit Code Review   commited 2023-04-26 19:15:50 +00:00
a3c51eab56
Merge "Add MdnsServiceCache"
Paul Hu   authored and   Gerrit Code Review   commited 2023-04-26 14:00:28 +00:00
336121d021
Add MdnsServiceCache
Currently, the mDns discovery services will clear if no listener
registers to that MdnsServiceTypeClient. If an app does discover,
stop discover, resolve, at this point the listener was
unregistered, so the MdnsServiceTypeClient was deleted, and the
service is gone from cache. So this will actually restart
discovery without returning previous results from cache. Thus,
add MdnsServiceCache to store all services and reduce the
duplicated queries.

Bug: 265787401
Test: atest FrameworksNetTests
Change-Id: If3d4eb4e3dc5455f6f97cb782aa1b99b2a00f6e0

Paul Hu   commited 2023-04-26 07:37:51 +00:00
ade3f45956
Merge "Use InetDiagMessage.destroyLiveTcpSocket instead of netd.socketDestroy"
Treehugger Robot   authored and   Gerrit Code Review   commited 2023-04-26 04:49:20 +00:00
f3c1ef5408
remove needless arguments to stopClatd
Test: TreeHugger
Signed-off-by: Maciej Żenczykowski <maze@google.com>
Change-Id: Ia786a198be336f48327b5e1b568b3e7c24d0dc59

Maciej Żenczykowski   commited 2023-04-25 14:56:41 -07:00
93b7631b31
Merge "Make lingering delay 2000ms in testMultipleLingering"
Treehugger Robot   authored and   Gerrit Code Review   commited 2023-04-25 09:11:42 +00:00
47b95be1c9
Make the MTU tests more realistic.
Currently, the MTU tests work on networks that have not yet been
connected. This is not very realistic because most MTU changes
(like most LinkProperties changes in general) happen after the
network has connected. Change these tests to use connected
networks instead.

To avoid losing coverage for setting the MTU before the network
is connected, add a test just for that.

Bug: 143158421
Test: test-only change
Change-Id: I7f808249722924a0b1253e402c5580bb104afd8e

Lorenzo Colitti   commited 2023-04-25 17:15:26 +09:00
b95ca556db
Make lingering delay 2000ms in testMultipleLingering
Phenotype is updating the flags while this test is running
and this DoS'es the device to such an extent that the test
process doesn't get the CPU for more that 300ms. That lets
the lingering timeout run its course and fails the test.

This won't necessarily fix all flakes (after all, if
Phenotype hogs the CPU for 2 seconds the same issue will
continue to happen), but it should help.

Bug: 277555492
Test: FrameworksNetTests
Change-Id: I78ab1573974427b10dd557c011fbbf64942fd09f

Chalard Jean   commited 2023-04-25 16:16:48 +09:00
aeadd47abc
remove spurious libbpf_bcc
TreeHugger: builds
Signed-off-by: Maciej Żenczykowski <maze@google.com>
Change-Id: Iaa0b513437d67aa61a38df410d8639f7fceed583

Maciej Żenczykowski   commited 2023-04-24 20:10:00 +00:00
c41291ba48
Merge changes I727849fa,If31ccbc7
* changes:
  Refactor buildKeepaliveMetrics to return DailyKeepaliveInfoReported
  Create KeepaliveStatsTracker for Duration metrics.

Hansen Kurli   authored and   Gerrit Code Review   commited 2023-04-24 04:03:09 +00:00
22a0120260
Test the encap/timeout for the VCN
Bug: 269715746
Test: VpnTest
Change-Id: I8e5e7a7eb09ee4d2e0a88193c5a6b1f0580d5eb8

Chalard Jean   commited 2023-04-24 12:10:58 +09:00
12740c9ff0
Merge changes from topic "revert-2542434-revert-2535219-TAMNEZLAHT-VPTOBCYDEB"
* changes:
  Revert^2 "Put client logs into SharedLog and dump more logs"
  Revert^2 "Record Advertiser history logs for better debugging"
  Revert "Revert "Record SocketProvider history logs for better de..."
  Revert "Revert "Record DiscoveryManager history logs for better ..."

Paul Hu   authored and   Gerrit Code Review   commited 2023-04-21 14:35:45 +00:00
700de306ef
Remove unnecessary mocking in tearDown
The setup for the mocking object will be reset when each test
finishs the test. Reset the mocking value is actually no-op
but cause possible threading issue in Mokito.

Bug: 278979735
Test: atest com.android.server.connectivity.VpnTest \
      --rerun-until-failure 100
Change-Id: Ib8c3813e5dbcc9b7432a5548766d63e400b4ed0e

chiachangwang   commited 2023-04-20 09:43:40 +00:00
3dcfdd0642
Use InetDiagMessage.destroyLiveTcpSocket instead of netd.socketDestroy
Netd is not updatable since it's not mainlined.
To make socket destroy code updatable, the code was re-implemented in
java and moved to Connectivity.

Bug: 270298713
Test: atest FrameworksNetTests
Change-Id: I5439c0c76c42a9f738a1b25a1f62e701755cbd05

Motomu Utsumi   commited 2023-04-19 11:59:18 +09:00
93a2218e41
Revert^2 "Record Advertiser history logs for better debugging"
5f558683b3

Change-Id: I4292f3b8ecdfbcf90978cb2d27392802701c36c1

Paul Hu   commited 2023-04-18 14:52:19 +08:00
51ff70d98e
Revert "Revert "Record DiscoveryManager history logs for better ..."
Revert submission 2542434-revert-2535219-TAMNEZLAHT

Reason for revert: Prepare a fix for the original topic

Reverted changes: /q/submissionid:2542434-revert-2535219-TAMNEZLAHT

Change-Id: I718418e4499784255b177622e3c08a82d0b24640

Paul Hu   commited 2023-04-18 14:50:31 +08:00
24913d0e80
Merge changes from topic "revert-2535219-TAMNEZLAHT"
* changes:
  Revert "Record DiscoveryManager history logs for better debugging"
  Revert "Record SocketProvider history logs for better debugging"
  Revert "Record Advertiser history logs for better debugging"
  Revert "Put client logs into SharedLog and dump more logs"

Paul Hu   authored and   Gerrit Code Review   commited 2023-04-18 02:53:21 +00:00
f0f83b6fc3
Revert "Record DiscoveryManager history logs for better debugging"
Revert submission 2535219

Reason for revert: Build break

Reverted changes: /q/submissionid:2535219

Change-Id: I9c8486e95e0b28ec4206d1e69858ab401888895a

Paul Hu   commited 2023-04-18 02:45:34 +00:00
2f0e914375
Revert "Record Advertiser history logs for better debugging"
Revert submission 2535219

Reason for revert: Build break

Reverted changes: /q/submissionid:2535219

Change-Id: I19496223d6f54120c17d690fd760e6743e3877b8

Paul Hu   commited 2023-04-18 02:45:34 +00:00
5f558683b3
Merge changes I41743f47,I22577615,I46f806a8,Icaa1df2e
* changes:
  Put client logs into SharedLog and dump more logs
  Record Advertiser history logs for better debugging
  Record SocketProvider history logs for better debugging
  Record DiscoveryManager history logs for better debugging

Paul Hu   authored and   Gerrit Code Review   commited 2023-04-18 01:14:39 +00:00
0b39135e3e
Merge "Only send resolve callbacks for subscribed service"
Treehugger Robot   authored and   Gerrit Code Review   commited 2023-04-17 13:16:15 +00:00
8a54f204d6
Merge "Cleanup : don't mix seconds and milliseconds in retry delays"
Jean Chalard   authored and   Gerrit Code Review   commited 2023-04-17 10:01:56 +00:00
52c215bbc7
Only send resolve callbacks for subscribed service
Resolve callbacks should only be sent for the service name that was
requested.

Bug: 267570781
Test: atest MdnsServiceTypeClientTests
Change-Id: I3d8eb5c06bcf54312e20a39b8575555d40528bca

Remi NGUYEN VAN   commited 2023-04-17 18:55:36 +09:00
8a41185ce6
Refactor buildKeepaliveMetrics to return DailyKeepaliveInfoReported
This also updates the tests and prepares them to assert the other fields
of DailyKeepaliveInfoReported. Currently, only DurationPerNumOfKeepalive
is asserted.

Bug: 273451360
Test: atest FrameworksNetTests
Change-Id: I727849fa8a08d66fe276909b353a75861c23d775

Hansen Kurli   commited 2023-04-17 08:15:28 +00:00
c25133a38b
Create KeepaliveStatsTracker for Duration metrics.
Create a new class to store duration metrics of AutomaticOnOffKeepalives
for the DurationPerNumOfKeepalive proto.
This tracks the duration of time that the AutomaticOnOffKeepaliveTracker
contains a given number of concurrent keepalives and the duration of
time that it contains a given number of active concurrent keepalives.

Bug: 273451360
Test: atest FrameworksNetTests
Change-Id: If31ccbc7b02e6ad3ff1646e92e55ca7c8662e47c

Hansen Kurli   commited 2023-04-17 08:14:29 +00:00
a27bc2c913
Record Advertiser history logs for better debugging
Log:
  2023-04-12T20:00:18.100961 - Removing service with ID 2
  2023-04-12T20:00:17.173904 - [wlan0] Probing finished for service 2
  2023-04-12T20:00:17.147089 - [testtap1] Probing finished for service 2
  2023-04-12T20:00:17.074575 - [testtap0] Probing finished for service 2
  2023-04-12T20:00:16.249636 - Adding service name: ^Nsd.Test|Non-#AsCiI\Characters&\ufffe テスト 測試, type: _nmt950580894._tcp, hostAddresses: , port: 12345, network: null, txtRecord:  with ID 2

Test: atest FrameworksNetTests android.net.cts.NsdManagerTest
Bug: 275004614
Change-Id: I22577615b0b2c212c0a4349a06ef3c75239a5651

Paul Hu   commited 2023-04-17 15:38:28 +08:00
1571df639a
Record DiscoveryManager history logs for better debugging
Log:
  2023-04-17T15:05:28.428369 - Unregistering listener for serviceType:_nmt274981618._tcp.local
  2023-04-17T15:05:28.228777 - [_nmt274981618._tcp.local-102] onServiceFound: ^Nsd.Test|Non-#AsCiI\Characters&\ufffe テスト 測試
  2023-04-17T15:05:28.227786 - [_nmt274981618._tcp.local-102] onServiceNameDiscovered: ^Nsd.Test|Non-#AsCiI\Characters&\ufffe テスト 測試
  2023-04-17T15:05:27.409364 - createServiceTypeClient for serviceType:_nmt274981618._tcp.local network:103
  2023-04-17T15:05:27.409104 - createServiceTypeClient for serviceType:_nmt274981618._tcp.local network:102
  2023-04-17T15:05:27.407701 - createServiceTypeClient for serviceType:_nmt274981618._tcp.local network:101
  2023-04-17T15:05:27.398075 - Registering listener for serviceType: _nmt274981618._tcp.local

Test: atest FrameworksNetTests android.net.cts.NsdManagerTest
Bug: 275004614
Change-Id: Icaa1df2e7019e5cce1b4eca7edcb4a761b7b20cf

Paul Hu   commited 2023-04-17 15:30:42 +08:00
d74697aa96
Merge "Test that VPN lockdown restarts the VPN agent."
Jean Chalard   authored and   Gerrit Code Review   commited 2023-04-17 05:38:54 +00:00
2c930437e9
Merge "Add test for updating IKE about IP address changes"
Jean Chalard   authored and   Gerrit Code Review   commited 2023-04-17 05:36:35 +00:00
ca35653803
Merge "Adjust tests for delay in restarting/migrating IKE"
Jean Chalard   authored and   Gerrit Code Review   commited 2023-04-17 05:35:21 +00:00
6213d571a8