Commit graph android_packages_modules_Co.../tests/net/java/com/android/server
Message SHA1
Decrease load-related flakiness in ConnectivityServiceTest
Almost always this timeout is not waited anyway.

Test: ConnectivityServiceTest
Change-Id: I74376633d0ec8d93fb48609a4df73cad5fc5d508

Chalard Jean   commited 2019-09-27 21:44:54 +09:00
ff9d434bc7
Fix TestNetworkAgentWrapper flakiness
The underlying issue here is that before aosp/986824 the call to
waitForIdle is the local ConnectivityServiceTest function, but
after that patch TestNetworkAgentWrapper has an identically
named member that only wait for its own handler.

Bug: 141341704
Test: ConnectivityServiceTest --generate-new-metrics 100
Change-Id: I38709cc69ec7a261c1c6e008abe03d2882e2083d

Chalard Jean   commited 2019-09-20 17:19:31 +09:00
17ac73b6e8
Merge "DO NOT MERGE - Merge Android 10 into master"
Xin Li   authored and   Gerrit Code Review   commited 2019-09-05 16:53:23 +00:00
6e7bf3337c
Merge "Fix flaky test - testPartialConnectivity"
Lucas Lin   authored and   Gerrit Code Review   commited 2019-09-05 11:40:01 +00:00
44190d3d18
Fix flaky test - testPartialConnectivity
This timing issue is happened when test case already verified
NetworkMonitor#setAcceptPartialConnectivity() before
NetworkAgent send the CONNECTED state to ConnectivityService.
This test case expects that the
NetworkMonitor#setAcceptPartialConnectivity() will be invoked
when network state is CONNECTED in
ConnectivityService#updateNetworkInfo().

NetworkAgent communicates with ConnectivityService by
AsyncChannel. Before they connect to each other, the thread of
NetworkAgent is keeping idle, so waitForIdle cannot handle this
kind of case. Although they have connected to each other, but
they don't communicate with each other, waitForIdle() still
cannot handle this case. It means waitForIdle() can only handle
the case that NetworkAgent already connected to
ConnectivityService and NetworkAgent is communicating with
ConnectivityService. So, that's why waitForIdle() sometimes
doesn't work in this case, and the most simplest and right way
to fix this case is to wait the available callback then verify
the method.

Bug: 140306320
Test: atest FrameworksNetTests: \
      ConnectivityServiceTest#testPartialConnectivity \
      --generate-new-metrics 500

Change-Id: I64bfecbfe3c5776bd5c347a821f9127e79539c48

lucaslin   authored and   Lucas Lin   commited 2019-09-05 11:39:20 +00:00
a878f700d3
Add NetIdManagerTest
Add a simple test to verify that IDs loop correctly, that they skip used
IDs correctly, and throw when there is no remaining ID.

Test: atest com.android.server.NetIdManagerTest
Change-Id: I4c9518c725156d743286e062fd2eec1423a0459e

Remi NGUYEN VAN   commited 2019-09-04 15:57:58 +09:00
df6248fe83
Merge "Mark 3 tests as flaky."
am: ff69dc29d2

Change-Id: Ie1c38e247ccfaa407d35cf6b6e28306d36cdccca

Guang Zhu   authored and   android-build-merger   commited 2019-09-02 12:03:12 -07:00
4154f65316
Merge "Mark 3 tests as flaky."
Treehugger Robot   authored and   Gerrit Code Review   commited 2019-09-02 18:44:24 +00:00
ff69dc29d2
Mark 3 tests as flaky.
Bug: 140306320
Bug: 140305589
Bug: 140305678
Test: apct/net/networking_framework_unit_test
Change-Id: I5a288d7d64b3e95e0025c2c1f4a64ffe85cc3cd6

Guang Zhu   commited 2019-09-01 21:37:04 -07:00
df1d1ebc2b
Merge "Fix flaky testTcpBufferReset"
am: 09b6f14675

Change-Id: Ia344cb1a8c0be07a62eac98117911b6cdb329525

Paul Hu   authored and   android-build-merger   commited 2019-08-30 09:19:42 -07:00
522aa587b4
Fix flaky testTcpBufferReset
If EVENT_NETWORK_INFO_CHANGED was handled after waitForIdle()
method done, this test will be failed due to
INetd#setTcpRWmemorySize() was not executed yet. Instead of
waiting for idle state, it's better to use NetworkCallback to
ensure events completely on ConnectivityService.

Bug: 140206578
Test: atest ConnectivityServiceTest#testTcpBufferReset\
      --generate-new-metrics 500

Change-Id: Iad77415db38038603881d9ebe0e37586b549a45c

paulhu   commited 2019-08-30 20:21:03 +08:00
22e2195a8a
Merge "Extract test utilities for ConnectivityService"
am: ecaff61c4b

Change-Id: I0ac2a480f961bb6fd1d83dedad6a7942ee03858f

Remi NGUYEN VAN   authored and   android-build-merger   commited 2019-08-06 14:58:43 -07:00
9e23af5f90
Extract test utilities for ConnectivityService
The utilities help using ConnectivityService in tests, and will be used
to write integration tests for ConnectivityService.

Test: atest FrameworksNetTests
Change-Id: Ie895ad05139cd5768d3d8a9bd5589d72571f47e6

Remi NGUYEN VAN   commited 2019-08-01 16:32:30 +09:00
0d0eb15091
Merge "Refactor TestNetworkCallback out of ConnectivityServiceTest."
am: b268cb5c6e

Change-Id: I44b66d1d606c5bb454ae49de234cfa0dbbb2bed2

Chalard Jean   authored and   android-build-merger   commited 2019-07-08 14:00:56 -07:00
17f89499ea
Refactor TestNetworkCallback out of ConnectivityServiceTest.
TestableNetworkCallback will become a standard tool. This patch
and its companion in packages/modules/NetworkStack mostly move
it out of ConnectivityServiceTest, but also applies a few
cleanups like reordering arguments for standard order, renaming
...Like to ...That to match Mockito namings, and introduces
stonger static typing on some callbacks, which allows to remove
some unchecked casts.

Test: atest FrameworksNetTests NetworkStackTests
Change-Id: I808a95ac33ec0c81a8829cad36a6917524297574

Chalard Jean   commited 2019-07-04 16:12:40 +09:00
9ce1e28788
Merge "Unit tests for new explicitlySelected behaviour." am: d1379a4a80
am: 10c1a704c0

Change-Id: Id77a5d6a58e7ab4fdaa0b7c15b824270863b83fd

Lorenzo Colitti   authored and   android-build-merger   commited 2019-06-29 02:01:55 -07:00
c3bb7285f4
Merge "Simplify Exception expressions in CSTest" am: 763d449493
am: cb5aa75dd9

Change-Id: Iae16e8d68e2b1b9a1e5aa86170177c68b22cd7b5

Chalard Jean   authored and   android-build-merger   commited 2019-06-28 08:57:18 -07:00
111dc6853a
Unit tests for new explicitlySelected behaviour.
ag/7905088 added the ability to pass in acceptUnvalidated without
passing in explicitlySelected. Add unit tests for that code.

While I'm at it, convert a couple of "== 1"s to toBool(), and
update the comments in NetworkAgent.

Bug: 130766237
Test: atest FrameworksNetTests
Change-Id: I6b550bd621e3596975f83464c7b4b8a14269120b

Lorenzo Colitti   commited 2019-06-28 23:57:22 +09:00
f255e047b7
Simplify Exception expressions in CSTest
Test: CSTest
Change-Id: Ie9b9fc334b85836bf156bda71e54e8d30885b82a

Chalard Jean   commited 2019-06-28 14:22:30 +09:00
484c4219d9
Merge "Remove all static members from NetworkStatsFactory." am: 63f94f411b
am: 5409264cee

Change-Id: Iada14a1fea74197014e75a1112c7a5b35d6b1a1d

Lorenzo Colitti   authored and   android-build-merger   commited 2019-06-27 19:40:01 -07:00
21ea4bcc96
Merge "Revert "Simplify Exception expressions in CSTest"" am: 0fd0e96a40
am: 60422b8e88

Change-Id: I80d94fa746d533a83e3ce01377dabd2aab0c3229

Chalard Jean   authored and   android-build-merger   commited 2019-06-27 02:53:23 -07:00
e2eb03b140
Remove all static members from NetworkStatsFactory.
NetworkStatsFactory is owned by NetworkStatsService, and any
accesses to NSF data should go through NSS.

Test: atest FrameworksNetTests
Change-Id: Idbd0dbbaeb11313f63474e7ec0e01f974349fc89

Lorenzo Colitti   commited 2019-06-27 17:39:05 +09:00
c75633460e
Merge "Transfer ownership of NetworkStatsFactory to NetworkStatsService." am: c657dd301f
am: 92292f556b

Change-Id: If897c9c95fc8571949183c45a99a5c28cb032ebb

Lorenzo Colitti   authored and   android-build-merger   commited 2019-06-27 01:31:46 -07:00
fbac9eefb8
Merge "Revert "Simplify Exception expressions in CSTest""
Chalard Jean   authored and   Gerrit Code Review   commited 2019-06-27 08:30:57 +00:00
0fd0e96a40
Revert "Simplify Exception expressions in CSTest"
This reverts commit d209586554.

Reason for revert: Breaks the build because it removes an unused method that was used by a change intervening in the mean time

Bug: 136143444
Change-Id: Id3a17e0b16ec03276609ca96fb7b582188ed1077

Chalard Jean   commited 2019-06-27 08:30:05 +00:00
de6bb3e852
Merge "Simplify Exception expressions in CSTest" am: afbf997ad5
am: 8e3bf0f8e3

Change-Id: I32182775bf36918438868c5b77d8d1aa995c788a

Chalard Jean   authored and   android-build-merger   commited 2019-06-27 01:11:02 -07:00
c421078227
Merge "Unify assertThrows" am: 0272942bca
am: 3f21f94616

Change-Id: If349f647b34a71bc4eb1ba25ca18d543437eb969

Chalard Jean   authored and   android-build-merger   commited 2019-06-27 01:05:16 -07:00
546cdc06f8
Merge "Transfer ownership of NetworkStatsFactory to NetworkStatsService."
Lorenzo Colitti   authored and   Gerrit Code Review   commited 2019-06-27 07:53:30 +00:00
c657dd301f
Merge "Simplify Exception expressions in CSTest"
Chalard Jean   authored and   Gerrit Code Review   commited 2019-06-27 07:09:36 +00:00
afbf997ad5
Merge "Unify assertThrows"
Chalard Jean   authored and   Gerrit Code Review   commited 2019-06-27 07:08:59 +00:00
0272942bca
Transfer ownership of NetworkStatsFactory to NetworkStatsService.
NetworkStatsService is the only consumer of the data coming from
NetworkStatsFactory, but the factory itself is instantiated and
owned by NetworkManagementService.

Move it into NetworkStatsService instead.

Test: atest FrameworksNetTests
Change-Id: I52df1e545c646927952579da22845a12d1d7563b

Lorenzo Colitti   commited 2019-06-26 19:29:51 +09:00
f5af7fcf16
Merge "Only show "Connected" note after opening portal" am: 5c28780629
am: bad4d1c6e9

Change-Id: I99be7d312d020d242081971c7e522023bbbab072

Remi NGUYEN VAN   authored and   android-build-merger   commited 2019-06-25 09:40:54 -07:00
844ea18005
Merge "Only show "Connected" note after opening portal"
Remi NGUYEN VAN   authored and   Gerrit Code Review   commited 2019-06-25 15:20:33 +00:00
5c28780629
Simplify Exception expressions in CSTest
Test: CSTest
Change-Id: I2c7d9e3092497526ab7d87b40a508f2d4bc3d7a2

Chalard Jean   commited 2019-06-25 20:40:41 +09:00
d209586554
Unify assertThrows
Test: atest FrameworksTestsNet NetworkStackTests
Change-Id: Ib6d5d2577a5b95f90857d8d146b00af516e9944d

Chalard Jean   commited 2019-06-25 20:40:39 +09:00
045d5fca24
Only show "Connected" note after opening portal
The "Connected" notification would be shown every time a network
validates after being identified as a captive portal. This causes issues
on networks that have auto-login mechanisms, as a high priority
notification would be shown even though the user was not interacting
with the phone.

The "Connected" notification is intended to confirm to the user that
they successfuly logged in (manually), so only show it after the user
opens the portal on the network.

Bug: 134124044
Test: Flashed, connected to portal: notification shown
      Opened portal from command line + revalidate: no notification
      Tests passing with change, failing without

Change-Id: I89e7a7f49019bd7e4686712c56e00bd786eb3ef3

Remi NGUYEN VAN   commited 2019-06-25 19:18:16 +09:00
705b46b900
Merge "NetworkStats: Fix race condition causing system server crashes" am: f7d14dba58
am: f37da9a879

Change-Id: I0ab308d5215ddb174ffb115e36948685d68da3ec

Lorenzo Colitti   authored and   android-build-merger   commited 2019-06-25 01:53:11 -07:00
ff811eea7e
NetworkStats: Fix race condition causing system server crashes
NetworkStatsService uses an internal boolean to know when it has
started for the purpose of preventing access to other internal
variables before they are initialized.

However that boolean is set to true in systemReady() non-atomically
with respect to the initialization of the other variables it guards,
which can cause the system server to crash.

This patch fixes this concurrency bug by moving setting the internal
boolean flag and the variable it guards in one atomic synchronized
block.

This patch also removes code checking if bandwidth control is enabled,
because this is now always true.

Bug: 132767673
Test: Compiled.
Change-Id: Ia089b5767ce271d669879c975508654d4dd03429

Hugo Benichi   commited 2019-06-25 10:51:51 +09:00
5c8f9cf7ed
Merge "Factorize custom asserts." am: 6c176efa3d
am: 99fbb40990

Change-Id: I65ea7497abb8b77ebd10ba622075ef3b6c49b2a8

Chalard Jean   authored and   android-build-merger   commited 2019-06-20 14:01:31 -07:00
500468fb90
Factorize custom asserts.
Also a few utilities that were in the way, and some opportunistic
cleanups.

Test: FrameworksNetTest NetworkStackTest
Change-Id: I385070e2044fd967cb18f1ffea9a86a4627b742e

Chalard Jean   commited 2019-06-20 16:24:25 +09:00
af718367c2
Merge changes Ieb8645ac,I6466ec14,I87deb82b,I995b108e,Ib6521459 am: 2ce04660f6
am: 48f59a0fdf

Change-Id: I960e94b03b29282ae2b03f78a19ed2692bd88e05

Varun Anand   authored and   android-build-merger   commited 2019-06-17 10:33:53 -07:00
950e0419c0
Remove VPN info arrays from NetworkStats(Observer|Recorder)
This change removes the now-unused VPN arrays in the network stats
observer and recorder classes. These are always null values in every
call site.

Bug: 113122541
Bug: 120145746
Bug: 129264869
Bug: 134244752
Test: FrameworksNetTest passing
Test: Manual tests show data usage fixes maintained.
Change-Id: Ieb8645acc400fdaeb0df7092c5369b96f9f35af9

Benedict Wong   commited 2019-06-14 11:41:31 -07:00
fde4dfd156
NetworkStatsFactory: Take VPNs into account for network/battery stats
This change fixes detailed UID stats to ensure network and battery stats
both take VPNs into account. NetworkStatsFactory is being made aware of
VPNs enabled, and the full set of underlying networks present.

Since traffic can only be migrated over a NetworkStats delta, NSF
maintains a NetworkStats snapshot across all UIDs/ifaces/tags.

This snapshot gets updated whenever NSF records a new snapshot
(based on various hooks such as VPN updating its underlying networks,
network getting lost, etc.), or NetworkStatsService's
getDetailedUidStats() method being called.

This change widens the scope of the existing mPersistentSnapshot lock,
renaming it to mPersistentDataLock, and ensures that TUN migrations are
not done in parallel. Additionally, mVpnInfos is updated via
pointer-swapping, to reduce the scope of the mPersistentDataLock.

The safety of this change is predicated on:
1. NetworkStatsFactory lock not held, so services cannot deadlock through
the cyclical lock.

2. The broadening of the scope of the lock in NetworkStatsFactory has no
threading implications, as it is always the last (leaf node) lock held,
and therefore is impossible to have lock inversion.

Additionally, to ensure VPNs work with 464xlat, the VPN info passed to
the NetworkStatsFactory includes all underlying interfaces, instead of
only passing the first one.

This (partially) re-applies changes from:
aosp/972848: Add one more test for VPN usage stats.
aosp/972847: Addressing comments for http://ag/7700679.
aosp/885338: NetworkStatsService: Fix getDetailedUidStats to take VPNs
             into account.
Co-developed with: Varun Anand <vaanand@google.com>

Bug: 113122541
Bug: 120145746
Bug: 129264869
Bug: 134244752
Test: FrameworksNetTest passing
Test: Manual tests show data usage fixes maintained.
Change-Id: I6466ec1411fc5ed6954125d27d353b6cd1be719e

Benedict Wong   commited 2019-06-14 11:41:31 -07:00
9308cd307a
Remove duplicate line in clat_simple test file
This change removes a redundant line in the xt_qtaguid_with_clat test
file.

Bug: 134244752
Test: FrameworksNetTest passing
Change-Id: I87deb82ba960102b617ab27362e8c5899fa478f8

Benedict Wong   commited 2019-06-14 11:16:03 -07:00
6632202cb7
Revert "Revert "Take all VPN underlying networks into account when migrating traffic for""
This reverts commit 048c1c6c32.

Reason for revert: Fix available for deadlocks.

Bug: 134244752
Change-Id: Ib65214598837289bd39dbf040b56ab7835f893ba

Benedict Wong   commited 2019-06-13 15:36:27 -07:00
34857f82f5
Revert "Take all VPN underlying networks into account when migrating traffic for"
This reverts commit 612520f544.

Reason for revert: This change has been implicated in 4-way deadlocks as seen in b/134244752.

Bug: 134244752
Change-Id: I2f1839d7776a613ca571af8a542755ddc5fc8760
Merged-In: Ibdaad3a4cbf0d8ef1ed53cfab1e454b9b878bae9

Varun Anand   commited 2019-06-10 16:00:48 -07:00
048c1c6c32
Revert "NetworkStatsService: Fix getDetailedUidStats to take VPNs into account."
This reverts commit 2af0b66aba.

Reason for revert: This change has been implicated in 4-way deadlocks as seen in b/134244752.

Bug: 134244752
Change-Id: I37f75c2b243ea548a88ef1dae88287405c6ef55f
Merged-In: I0c00e8f0e30cee987b71b561079a97bf09d4dae4

Varun Anand   commited 2019-06-10 16:00:38 -07:00
fb0e689ea5
Revert "Addressing comments for http://ag/7700679."
This reverts commit 4d83f3e073.

Reason for revert: This change has been implicated in 4-way deadlocks as seen in b/134244752.

Bug: 134244752
Change-Id: I12ab724e2ef8a5c1b42078330ba74713ff86fdd1
Merged-In: I5fbb3443a39a21fc9d96442726cd10d20e8d61cd

Varun Anand   commited 2019-06-10 16:00:28 -07:00
5701cc30bb
Revert "Add one more test for VPN usage stats."
This reverts commit 635b441ff9.

Reason for revert: This change has been implicated in 4-way deadlocks as seen in b/134244752.

Bug: 134244752
Change-Id: I87ddc0af9ff6fbd9b7afd6d4d24985b9b7205416
Merged-In: I64b48d575f2e6ec4cb7d2d100a859a30af0501dc

Varun Anand   commited 2019-06-10 15:59:58 -07:00
5cc78a32d6
Revert "Take all VPN underlying networks into account when migrating traffic for"
am: 4c94d3051d

Change-Id: Ie9e830962e702c5e66faa7239e6c5037ed3d791d

Benedict Wong   authored and   android-build-merger   commited 2019-06-07 02:33:33 -07:00
e3f39c01ba