Commit graph android_packages_modules_Co.../tests/net/java/com
Message SHA1
Move NsdServiceTest to correct directory
Test: no functional change
Bug: 62044295
Change-Id: Iad3af646e8d252f84978d1a367878a78c2869982

Hugo Benichi   commited 2017-05-24 14:18:48 +09:00
d41cc755eb
Merge "Add a method to start the captive portal login app."
Hugo Benichi   authored and   Gerrit Code Review   commited 2017-05-19 02:29:21 +00:00
9e44f73ed7
Merge "Add test coverage for explicitlySelected networks."
Lorenzo Colitti   authored and   Gerrit Code Review   commited 2017-05-19 02:05:55 +00:00
5466a9e14b
Add a method to start the captive portal login app.
Bug: 36203355
Bug: 36656914
Test: ConnectivityServiceTest (including new test) passes
Change-Id: Ide82858af67024623560ab79beea27c201b63447
Merged-In: I82a9a9a8da47870ba3f1bbef5941b37e970c844f

(cherry picked from commit 755e796e5e)

Lorenzo Colitti   authored and   Hugo Benichi   commited 2017-05-19 00:58:41 +00:00
7868c98fea
Fix NetworkNotificationManagerTest
The testNotificationsShownAndCleared test was not doing anything
because the list of notification to show was always empty.

This patch fixes this issue and actually makes the test loop on
non-empty collections, and also fixes another ordering issue in
assertions themselves, hidden until now by the first issue.

Bug: 32561414
Test: runtest -x frameworks/base/tests/net/java/com/android/server/connectivity/NetworkNotificationManagerTest.java
Merged-In: I4837b1175d7c9133e9156e33acaa1e7e3341cc62
Change-Id: Ia30587bd68a87b83b62f57eeeb28fef7d95dbf81

(cherry picked from commit 913556e68e)

Hugo Benichi   commited 2017-05-18 11:08:31 +09:00
08528b224b
Add test coverage for explicitlySelected networks.
Also, make all tests start with mobile data always on disabled.

This is because some tests only pass when mobile data always on
is disabled. This doesn't cause any problems when running all
the tests in the file, because these tests are always run after
one or more calls to tearDown, which disables mobile data always
on. However, it does cause issues when those tests are run alone.

Test: new test passes 50 times in a row
Test: ConnectivityServiceTest passes
Change-Id: I1eef5d7f5ec5464e0f9a1d7f1130d9ba6dea4557

Lorenzo Colitti   commited 2017-05-18 00:46:14 +09:00
71cd78c2b9
Move NetworkNotificationManagerTest to tests/net
Bug: 32561414
Test: no functional change
Change-Id: Iad17e3336a4a589da5cf88fd6359323e34b747e1

Hugo Benichi   commited 2017-05-17 22:24:05 +09:00
256e3db020
Finish moving NetworkStats tests to tests/net
Follow-up of commit 73fbb5303f.

Also add @SmallTest annotation to classes moved to tests/net.

Test: no functional change
Bug: 32561414
Change-Id: I0a0e8865d37ba7bae06ce352d3fc385989adc300

Hugo Benichi   commited 2017-05-17 22:24:05 +09:00
57ac13993a
ConnectivityManager: uses service error codes and exceptions
This patch introduces between ConnectivityManager and
ConnectivityService a mechanism for propagating back to clients
informative errors in the form of error codes and associated custom
runtime exceptions.

Without error code, the service can only throw a limited number of
different exceptions over Binder. Furthermore the throw site stack
traces are always loss. Although for individual instances of a throw,
the error message can be inspected, aggregations of stack traces from
app crashes sanitize error messages and only leaves the stack traces.

This makes debugging dificult for some service calls such as
requestNetwork that can have a variety of failure modes.

In this patch only one failure mode is codified. More can be added later
at a light cost by: 1) defining an error code, 2) defining an
associated exception, 3) mapping the code to the exception. This patch
can serves as a template for doing so.

Test: $ runtest frameworks-net,
      #testNetworkRequestMaximum() detects the new exception type.
Bug:  36556809, 36701874
Change-Id: I611fd7915575c9e418f7149fcdc8a879d2a3716d

Hugo Benichi   commited 2017-05-11 14:15:15 +09:00
145e379d5d
NetworkStatsFactory: fix double accounting on IPv6 only networks
For 464xlat scenarios on IPv6 networks, the clatd interface setup
introduces double counting of apps ipv4 traffic. NetworkStatsFactory was
accounting for this on the tx path, but not on the rx path. Also it did
not accounted for the 20 bytes added by the IPv6 header.

This patch subtract correctly the rx and tx traffic from the root uid on
the underlying interface, and also adds correctly the 20 bytes cost per
packet on the stacked interface for 464xlat traffic.

Test: added several new unit tests, based on synthetic data and real
      data also.
Bug: 33681750
Change-Id: I2675643b220acbc6110179fa937d4c313b6f5e32

Hugo Benichi   commited 2017-05-09 22:46:14 +09:00
043095b615
Merge "[AWARE] Add UID checking to WifiAwareNetworkSpecifier"
Etan Cohen   authored and   Gerrit Code Review   commited 2017-04-25 13:21:36 +00:00
ff8fdb4ad3
Move byte logics from ApfFilter into BitsUtil
This patch extracts into BitUtils byte manipulation helper methods
and unsigned type manipulation helper methods from ApfFilter into
an independent and reusable structure.

Test: $ runtest frameworks-net
Change-Id: I0f33af10457a63dbde5983f14353a79b8cd877d9

Hugo Benichi   commited 2017-04-22 10:07:03 +09:00
eed5fd8d6a
Merge "Use Vpn rules (not firewall) for always-on VPN"
Treehugger Robot   authored and   Gerrit Code Review   commited 2017-04-21 21:53:15 +00:00
dfc99e9da8
[AWARE] Add UID checking to WifiAwareNetworkSpecifier
Wifi Aware networks are per app - i.e. a requestor gets
a dedicated network. Change verifies that the only the
original requestor matches the created network (using UID).

Bug: 36053921
Test: Integration (sl4a) tests
Change-Id: I4ff3994731dd7ccb88e2bea333d1e6905b136f02

Etan Cohen   commited 2017-04-21 18:47:35 +00:00
b184cbade7
Merge "Move some NetworkStats tests to tests/net."
Lorenzo Colitti   authored and   Gerrit Code Review   commited 2017-04-13 05:18:47 +00:00
92e3d4f7c3
Merge changes from topic 'network_specifier'
* changes:
  [CM] Unhide the NetworkSpecifier as object API
  Make the NetworkSpecifier a class instead of a string.

Lorenzo Colitti   authored and   Gerrit Code Review   commited 2017-04-12 22:27:37 +00:00
46aebde379
Move some NetworkStats tests to tests/net.
This groups them together with the rest of the networking unit
tests. It also speeds up compile/test cycles ("runtest -x" of one
file goes from 1m15s to 30s).

Test: runtest frameworks-net passes on internal tree
Change-Id: I53cb0c51355fe4b4b30e451fa09fbbf58da39efd

Lorenzo Colitti   commited 2017-04-13 02:38:11 +09:00
73fbb5303f
Merge "Add an API hint for metered multipath traffic."
Treehugger Robot   authored and   Gerrit Code Review   commited 2017-04-10 05:40:10 +00:00
fb3f834fe4
DO NOT MERGE IP connectivity metrics: fix tests.
This patch fixes mismatch between current proto compiler and what is
expected in several IP connectivity metrics unit tests.

Test: built, flashed, $ runtest frameworks-net
Bug: 37126521
Change-Id: I1476c923d61f748ecac1146423127f54ba117502

Hugo Benichi   commited 2017-04-10 13:19:23 +09:00
d317e27d06
Add an API hint for metered multipath traffic.
This allows an application that knows how to provide seamless
network connectivity (e.g., using QUIC multipath) to find out if
doing so is desired.

(cherry picked from commit 231efb08b7)

Test: builds, boots, runtest frameworks-net passes.
Bug: 34630278
Change-Id: Ic7fd0b9e1cd879fdfaf84009d7125391895e9087

Lorenzo Colitti   commited 2017-04-06 16:50:06 +09:00
d03b80891d
Make the NetworkSpecifier a class instead of a string.
Bug: 27533960
Bug: 36053921
Bug: 36275276
Test: connectivity, wifi, telephony unit tests
Change-Id: Idd9b10a8418c53c8cf386d9ff8252226b076bbf9

Etan Cohen   commited 2017-04-05 14:18:20 -07:00
db38d9da96
Merge "Add test coverage for NetworkSpecifiers."
am: dfc4442b38

Change-Id: Ia328b945af4c4f55ef560b33b00fa861b8f81b0d

Lorenzo Colitti   authored and   android-build-merger   commited 2017-04-03 10:45:22 +00:00
7e3a5daee4
Add test coverage for NetworkSpecifiers.
Tests various combinations of empty / non-empty NetworkSpecifiers
and changing specifiers on the fly.

Test: ConnectivityServiceTest passes
Bug: 27533960
Change-Id: Ibd6b4efc861dc51689e46f3882ba859223411bf0

Lorenzo Colitti   commited 2017-04-03 17:46:35 +09:00
5b72d6d850
Merge "Move some VPN logic out of ConnectivityService"
am: 0ce38796bd

Change-Id: I212c2d6de1676ab65e6bbf34148d66e183d60c62

Robin Lee   authored and   android-build-merger   commited 2017-03-30 16:08:50 +00:00
017e2bf3f8
Merge "Move some VPN logic out of ConnectivityService"
Robin Lee   authored and   Gerrit Code Review   commited 2017-03-30 16:00:41 +00:00
0ce38796bd
Merge changes If94102c7,I8d51e8e0
am: 22b829c049

Change-Id: I8aa529a05fc40241ec9664775ca0ebd8960098a8

Lorenzo Colitti   authored and   android-build-merger   commited 2017-03-28 12:33:28 +00:00
73d1aa0bdd
Make ConnectivityServiceTest pass on wifi-only devices.
Test: ConnectivityServiceTest passes on ryu on internal master
Test: ConnectivityServiceTest passes on bullhead
Change-Id: If94102c7df0257ea9e69e72b07a685ae3c2c4022

Lorenzo Colitti   commited 2017-03-28 12:53:06 +09:00
756a02232b
Use Vpn rules (not firewall) for always-on VPN
Firewall rules don't work on 464xlat because they were created under
an assumption that there's only one address for the server and it's
ipv4, which doesn't go so well when we're on an ipv6-only network.

Bug: 33159037
Test: runtest -x net/java/com/android/server/connectivity/VpnTest.java
Change-Id: Id331526367fe13838874961da194b07bd50d4c97

Robin Lee   commited 2017-03-27 13:40:51 +01:00
ca0ebdedcd
Move some VPN logic out of ConnectivityService
This cleanup helps declutter ConnectivityService, and encapsulates the
always-on setting inside of Vpn instead of spreading it across two
classes.

In particular having the save code in one file and the load code in
another file was weird and I apologise for that.

Added a SystemServices wrapper for Settings.Secure and PendingIntent
calls to decouple some of the global state nastiness and make it
testable without forcing ConnectivityService to drive the load/save.

Test: runtest -x tests/net/java/com/android/server/ConnectivityServiceTest.java
Test: runtest -x tests/net/java/com/android/server/connectivity/VpnTest.java
Bug: 33159037
Change-Id: Ie2adb1c377adfcef0a5900dc866e6118f451b265

Robin Lee   commited 2017-03-27 13:40:51 +01:00
fe0bb6b248
Merge "request{LinkProperties,NetworkCapabilities} no longer needed"
am: 6a589b03e6

Change-Id: I79b9323be242ed5d2bf83962f78c613a465a20b8

Erik Kline   authored and   android-build-merger   commited 2017-03-07 13:33:29 +00:00
14025c741e
request{LinkProperties,NetworkCapabilities} no longer needed
Test: as follows
    - built (bullhead)
    - flashed
    - booted
    - runtest frameworks-net passes
    - manual USB tethering toggling between WiFi and mobile
Bug: 32163131
Change-Id: I57edf5114b6361f320577c7870e40f8b3cdf74ce

Erik Kline   commited 2017-03-07 17:18:06 +09:00
0a59189b8d
Merge "Always send all available state when calling onAvailable()."
am: 1a4d506305

Change-Id: I81e70fecf060a4103b51084a60a32c78f6219f6b

Erik Kline   authored and   android-build-merger   commited 2017-03-07 06:00:09 +00:00
8beee2f864
Always send all available state when calling onAvailable().
The state that needs to be transferred includes:
    - NetworkCapabilities
    - LinkProperties
    - whether the network is currently suspended

Additionally:
    - Rename notifyNetworkCallback() to notifyNetworkAvailable()
      in order to clarify its real function.
    - fix previous copy/paste error in unittest

Test: as follows
    - built (bullhead)
    - flashed
    - booted
    - runtest frameworks-net passes
    - USB tethering with mobile and Wi-Fi upstream toggling
Bug: 32163131
Change-Id: Ib4460bcd5d08863a9feac9e8ab41a238897bb3ea

Erik Kline   commited 2017-03-07 12:57:26 +09:00
81fdc8a3d6
Merge "Also test for additional NetworkCallback calls"
am: dff6c5c30d

Change-Id: I00b3f7be06bde167872d0cdefe940cda5e138846

Erik Kline   authored and   android-build-merger   commited 2017-03-01 11:03:08 +00:00
a0dd58235a
Also test for additional NetworkCallback calls
Specifcally:
    - onCapabilitiesChanged
    - onLinkPropertiesChanged
    - onNetworkSuspended

Test: as follows
    - built (bullhead)
    - flashed
    - booted
    - runtest frameworks-net passes
Bug: 32163131

Change-Id: Ie0f7c8ac21313b11980bb335c89ecde6fd8e311c

Erik Kline   commited 2017-03-01 18:24:36 +09:00
4948c14c7f
ConnectivityServiceTest: remove remaining poll loops. am: 92ec1ce668 am: b079dd8476
am: 994368a55f

Change-Id: I31681e1248721704a9b792962a2ef5955e375e93

Lorenzo Colitti   authored and   android-build-merger   commited 2017-02-01 03:01:52 +00:00
ffbf8468ef
Remove assertEventuallyTrue as it's unnecessary. am: 6d3b09c575 am: 7b1eb3ad2d
am: d18e432897

Change-Id: Ib16f54aeaa783a6e26a9d80e61388cbd9ecd9bd3

Lorenzo Colitti   authored and   android-build-merger   commited 2017-02-01 03:00:41 +00:00
09e4337760
Rename AvoidBadWifiTracker to MultinetworkPolicyTracker am: b8dfec4b88 am: a566163a38
am: 3cdc4f95e0

Change-Id: I91f1338f3488cfc60eef0c2147aa7b1d61107cdd

Lorenzo Colitti   authored and   android-build-merger   commited 2017-02-01 02:59:42 +00:00
1afd50b7b8
Attempt to make waitForIdleHandler reliable. am: 53347a0f27 am: 9f0ddc6573
am: dfd6d2e764

Change-Id: I2369fbd693b467283232f47703fd471c8ff60c1f

Lorenzo Colitti   authored and   android-build-merger   commited 2017-02-01 02:58:24 +00:00
3701103f7f
ConnectivityServiceTest: remove remaining poll loops.
am: 92ec1ce668

Change-Id: I675096683c8ed4bc0e540491c0ff6aa828114313

Lorenzo Colitti   authored and   android-build-merger   commited 2017-02-01 02:39:30 +00:00
b079dd8476
Remove assertEventuallyTrue as it's unnecessary.
am: 6d3b09c575

Change-Id: Id574b27b40e35fbccac49910867e9735c03118d4

Lorenzo Colitti   authored and   android-build-merger   commited 2017-02-01 02:38:30 +00:00
7b1eb3ad2d
Rename AvoidBadWifiTracker to MultinetworkPolicyTracker
am: b8dfec4b88

Change-Id: I7615c9128deed7011eb9ab6f2efdcfe2e237a1a5

Lorenzo Colitti   authored and   android-build-merger   commited 2017-02-01 02:37:31 +00:00
a566163a38
Attempt to make waitForIdleHandler reliable.
am: 53347a0f27

Change-Id: Id7e23c3a2c885ff239efa577a8d366d3df6ca9a2

Lorenzo Colitti   authored and   android-build-merger   commited 2017-02-01 02:36:22 +00:00
9f0ddc6573
ConnectivityServiceTest: remove remaining poll loops.
All the tests are now asynchronous. The only remaining uses of
Thread.sleep() are in the tests that check for NetworkRequest
timeouts.

Test: ConnectivityServiceTest passes 100 times in a row
Bug: 32561414
Change-Id: If420bd66c692a90d5031ee06a888a8cc3b4398a8

Lorenzo Colitti   commited 2017-01-31 15:44:23 +09:00
92ec1ce668
Remove assertEventuallyTrue as it's unnecessary.
The calls in testAvoidBadWifi are no longer necessary now that
waitForIdle is reliable, and the calls in testPacketKeepalives
are replaced with a wait for the NetworkAgent to disconnect.

Test: ConnectivityServiceTest passes 100 times in a row.
Bug: 32561414
Change-Id: Icbb161ca6e343bd14764a1c9ccfdd14b6cd6803f

Lorenzo Colitti   commited 2017-01-31 15:42:58 +09:00
6d3b09c575
Rename AvoidBadWifiTracker to MultinetworkPolicyTracker
Rename the class and ensure that all code related to bad wifi
avoidance has names that reflect its purpose.  This will allow us
to reuse most of the the code for other purposes in future CLs.

Test: runtest frameworks-net passes
Bug: 34630278
Change-Id: Ida190e5a79e7a12f4eec07e1a3e4d9d138e83bcd

Lorenzo Colitti   commited 2017-01-31 15:42:57 +09:00
b8dfec4b88
Attempt to make waitForIdleHandler reliable.
The current implementation of IdleableHandlerThread is based on
the assumption that MessageQueue#isIdle will return true iff the
message loop has finished processing its messages.

Unfortunately, this is incorrect: isIdle returns true iff are no
more messages waiting in the queue; thus, it will also return
true while it is processing the last message before going idle.

Instead of using idle handlers, take the simpler approach of
posting a runnable to the message loop and waiting for it to
be processed.

Test: see other CLs in this patch series
Bug: 31479480
Change-Id: Iae75781f067b762c8653a488a5e4d5ee0c789e01

Lorenzo Colitti   commited 2017-01-31 15:42:17 +09:00
53347a0f27
Merge "ConnectivityServiceTest: fix flaky tests" am: b2c16c3a95 am: 550c813eb5
am: 17f86737ec

Change-Id: Iaa1ab50a323133cadfa4f39440fce982cde8d1fe

Lorenzo Colitti   authored and   android-build-merger   commited 2017-01-27 10:00:06 +00:00
cbbb8019b5
Merge "ConnectivityServiceTest: remove flaky waitForIdle test." am: be80577f5b am: 100dd57c82
am: d635e56751

Change-Id: I1d3707b4bc2ae00ca0fad1c3ec7e6ca859fcdd16

Lorenzo Colitti   authored and   android-build-merger   commited 2017-01-27 09:55:36 +00:00
5ba5fd6ee6
Merge "ConnectivityServiceTest: fix flaky tests"
am: b2c16c3a95

Change-Id: I0577f6b48de8a95e7d12e58a672fb0374ced9403

Lorenzo Colitti   authored and   android-build-merger   commited 2017-01-27 09:51:32 +00:00
550c813eb5