Commit graph android_packages_modules_Co.../Tethering/tests
Message SHA1
Merge "Allow mocking permission in TetheringServiceTest" am: ec48bb82aa am: 4abe3f8db3
Original change: https://android-review.googlesource.com/c/platform/packages/modules/Connectivity/+/1731231

Change-Id: I634aca925b30b6b15c5b786d7b03db57eadbde36

Remi NGUYEN VAN   authored and   Automerger Merge Worker   commited 2021-06-21 10:34:54 +00:00
8c3ef7d73f
Allow mocking permission in TetheringServiceTest
The test will currently fail if it is run in a package that has
ACCESS_NETWORK_STATE. Add utilities to mock permissions, and mock the
ACCESS_NETWORK_STATE permission to be denied.

Bug: 187935317
Test: atest TetheringServiceTest
Change-Id: I8df5f2ac21bf0314098e8c2e5ba583676ae8ab38

Remi NGUYEN VAN   commited 2021-06-16 17:53:10 +09:00
0ae7e5bdcd
Merge "Update TetheringTests for new connectivity shims" into sc-dev am: b81724602f
Original change: https://googleplex-android-review.googlesource.com/c/platform/packages/modules/Connectivity/+/14928587

Change-Id: I815b621b780e328df898cd56a4972e9d718b514d

Remi NGUYEN VAN   authored and   Automerger Merge Worker   commited 2021-06-10 14:04:03 +00:00
6d82137abe
Update TetheringTests for new connectivity shims
The stable connectivity shims are updated to now contain S API, so
tethering tests that assumed that compatibility R behavior was used need
to be updated.

To avoid such failures Tethering tests should have a test target using
updated shims (TetheringNextTests), but this was not done in S
timeframe.

Ignore-AOSP-First: topic needs differences in AOSP
Bug: 189581241
Test: atest TetheringTests
Change-Id: Ibc04e64a1e9d82b67aff10d1a6d77f9e6b1bbdfb

Remi NGUYEN VAN   commited 2021-06-10 13:44:00 +00:00
c94a1ffd55
Fix TetheringTest crash on eng build
startTrackDefaultNetwork was allowed to called multiple times
before even though there is no one actually do it. However,
in the TetheringTest#verifyDefaultNetworkRequestFiled, a
manual invocation is used to ensure that function supports
multiple entrance.

But with aosp/1697371, startTrackDefaultNetwork is no longer
allowed to be called multiple times, it would lead to log.wtf
and crash system in eng build.

Since the manual invocation of startTrackDefaultNetwork is not
realistic and no longer valid anymore, remove the invocation
that caused the trouble.

Test: atest TetheringCoverageTests
Bug: 188613493
Merged-In: I61f6088783d521fd17ae1e87370842b4239fbe75
Change-Id: I61f6088783d521fd17ae1e87370842b4239fbe75
  (cherry-picked from aosp/1711433)

junyulai   authored and   Junyu Lai   commited 2021-06-09 01:57:37 +00:00
9c5d40beca
Correct the logic for CtsTetheringUtils.isWifiTetheringSupported
The existing isWifiTetheringSupported only check if tethering side
supports wifi tethering or not but not wifi side. A expected
behavior should include both of them, so add the wifi side check
into the helper function. Also update in the existing caller side
due to a new parameter added.

Bug: 186061922
Test: atest MtsTetheringTestLatestSdk
Megred-In: Id69ac1d30ab2bbf23e870193335b139f54672636
Change-Id: Id69ac1d30ab2bbf23e870193335b139f54672636
Ignore-AOSP-First: cherry-pick

Chiachang Wang   commited 2021-06-04 13:29:38 +00:00
0acaa74538
Merge changes I5d3e448e,Id69ac1d3 am: 02eea987c0 am: b675eba4c1
Original change: https://android-review.googlesource.com/c/platform/packages/modules/Connectivity/+/1711429

Change-Id: I5a1a97614bd4d35347844a30bf8cad161d62d735

Chiachang Wang   authored and   Automerger Merge Worker   commited 2021-06-04 05:40:59 +00:00
481d12943a
Correct the logic for CtsTetheringUtils.isWifiTetheringSupported
The existing isWifiTetheringSupported only check if tethering side
supports wifi tethering or not but not wifi side. A expected
behavior should include both of them, so add the wifi side check
into the helper function. Also update in the existing caller side
due to a new parameter added.

Bug: 186061922
Test: atest MtsTetheringTestLatestSdk
Change-Id: Id69ac1d30ab2bbf23e870193335b139f54672636

Chiachang Wang   commited 2021-06-01 15:08:48 +08:00
4f5c4c4323
Test tethered callback with TetheringInterface
The old callback only report interface list, new callback could provide
the mapping of interface and type. Replace old callback usage in cts
with new callback and check whether old callback could get the correct
interface list by comparing the result between old and new callback.

Bug: 162920185
Bug: 152203943
Test: atest CtsTetheringTest on S
      atest CtsTetheringTestLatestSdk on R
      atest MtsTetheringTestLatestSdk on S and R
Merged-In: I2a0b8c43fb340c3eaed7f0f90464199222a24280
Change-Id: I2a0b8c43fb340c3eaed7f0f90464199222a24280

markchien   authored and   Chiachang Wang   commited 2021-06-01 14:36:09 +08:00
3a23d2e2a6
Add the tethering type to TetheringEventCallback methods
Before this change, tethering always report a list of tethered
interfaces and the caller need to use each tethering type's interface
regex to matching tethered list to manual implement the mapping of
tethering type and interface. This change allow caller to get rid of
tethering interface regex.

Bug: 162920185
Bug: 152203943
Test: atest CtsTetheringTest on S

Merged-In: I91bcccd676d109c1b974497ac29bd366a41b8899
Change-Id: I91bcccd676d109c1b974497ac29bd366a41b8899

markchien   authored and   Chiachang Wang   commited 2021-06-01 14:35:39 +08:00
35ad54b25e
Merge "Disable tryCell when UpstreamMonitor stop" am: 011552cc54 am: bed1ae7b4c
Original change: https://android-review.googlesource.com/c/platform/packages/modules/Connectivity/+/1715791

Change-Id: Ic1b8cd0662777163983714bc78a5c50b8c8c7b9e

Mark Chien   authored and   Automerger Merge Worker   commited 2021-05-24 03:01:14 +00:00
5e473faeae
Merge "Disable tryCell when UpstreamMonitor stop"
Mark Chien   authored and   Gerrit Code Review   commited 2021-05-24 02:27:13 +00:00
011552cc54
Merge "Test tethered callback with TetheringInterface" into sc-dev am: fcda6f1131
Original change: https://googleplex-android-review.googlesource.com/c/platform/packages/modules/Connectivity/+/14622456

Change-Id: I701a80a20d8281f1001cc5cb06dc6e7b4641cb33

Mark Chien   authored and   Automerger Merge Worker   commited 2021-05-21 16:26:20 +00:00
78d5701259
Merge "Test tethered callback with TetheringInterface" into sc-dev
Mark Chien   authored and   Android (Google) Code Review   commited 2021-05-21 16:04:47 +00:00
fcda6f1131
Disable tryCell when UpstreamMonitor stop
tryCell configuration would not be force disabled UpstreamMonitor stop.
If tethering stop with using mobile upstream and swap with SIM fron no
dun to dun supported, dun request would be filed even tethering is not
active.

Bug: 173068192
Test: atest TetheringTests
Change-Id: I5505655f52da9fdca2fd43a58e043a9ab727741d

markchien   commited 2021-05-21 20:35:11 +08:00
89f2670b65
Merge "Fix TetheringTest crash on eng build" am: ff77e99cf0 am: 2d5584fc34
Original change: https://android-review.googlesource.com/c/platform/packages/modules/Connectivity/+/1711433

Change-Id: I29350aeb15271f055b96eae993534f6fdafc52fb

Junyu Lai   authored and   Automerger Merge Worker   commited 2021-05-21 03:07:36 +00:00
3f06b595bf
Merge "Fix TetheringTest crash on eng build"
Junyu Lai   authored and   Gerrit Code Review   commited 2021-05-21 02:40:13 +00:00
ff77e99cf0
Fix tethering unit test fail in R am: 6cee9c5e04
Original change: https://googleplex-android-review.googlesource.com/c/platform/packages/modules/Connectivity/+/14660570

Change-Id: I357e2e93204fb67119e7ec81bcf9020b73912d88

markchien   authored and   Automerger Merge Worker   commited 2021-05-20 09:17:20 +00:00
2aa768a7e9
Test tethered callback with TetheringInterface
The old callback only report interface list, new callback could provide
the mapping of interface and type. Replace old callback usage in cts
with new callback and check whether old callback could get the correct
interface list by comparing the result between old and new callback.

Bug: 162920185
Bug: 152203943
Test: atest CtsTetheringTest on S
      atest CtsTetheringTestLatestSdk on R
      atest MtsTetheringTestLatestSdk on S and R
Ignore-AOSP-First: Its dependences CL is not in aosp currently.

Change-Id: I2a0b8c43fb340c3eaed7f0f90464199222a24280

markchien   authored and   Mark Chien   commited 2021-05-20 09:02:39 +00:00
82f99f95b7
Fix tethering unit test fail in R
The change aosp/1708088 break tethering unit test in R.

Bug: 187946226
Test: atest TetheringTests in R and S
Change-Id: I4eb4b757f6d7cd3458964c81310dcf0687a4f091
Merged-In: I4eb4b757f6d7cd3458964c81310dcf0687a4f091

markchien   commited 2021-05-20 14:52:01 +08:00
6cee9c5e04
Fix tethering unit test fail in R am: 9eac605333 am: b582c81ee8
Original change: https://android-review.googlesource.com/c/platform/packages/modules/Connectivity/+/1711436

Change-Id: I409b6b97d373aa1e89ebbcf9c8d83203ebc0d0f5

markchien   authored and   Automerger Merge Worker   commited 2021-05-20 06:10:00 +00:00
9c14caa2e3
Fix tethering unit test fail in R
The change aosp/1708088 break tethering unit test in R.

Bug: 187946226
Test: atest TetheringTests in R and S
Change-Id: I4eb4b757f6d7cd3458964c81310dcf0687a4f091

markchien   commited 2021-05-19 22:58:36 +08:00
9eac605333
Fix TetheringTest crash on eng build
startTrackDefaultNetwork was allowed to called multiple times
before even though there is no one actually do it. However,
in the TetheringTest#verifyDefaultNetworkRequestFiled, a
manual invocation is used to ensure that function supports
multiple entrance.

But with aosp/1697371, startTrackDefaultNetwork is no longer
allowed to be called multiple times, it would lead to log.wtf
and crash system in eng build.

Since the manual invocation of startTrackDefaultNetwork is not
realistic and no longer valid anymore, remove the invocation
that caused the trouble.

Test: atest TetheringCoverageTests
Bug: 188613493
Change-Id: I61f6088783d521fd17ae1e87370842b4239fbe75

junyulai   commited 2021-05-19 16:23:13 +08:00
7ba566dbf7
Add the tethering type to TetheringEventCallback methods
Before this change, tethering always report a list of tethered
interfaces and the caller need to use each tethering type's interface
regex to matching tethered list to manual implement the mapping of
tethering type and interface. This change allow caller to get rid of
tethering interface regex.

Bug: 162920185
Bug: 152203943
Test: atest CtsTetheringTest on S
Ignore-AOSP-First: Currently aosp would automerge to mainlne-prod, merge
to sc-dev first to avoid adding new API to mainline-prod

CTS-Coverage-Bug: I already add cts test(ag/14622456), but Lint
still complaint because my cts is under packages/modules/Connectivity/
but it only check whether CL touching platform/cts
Change-Id: I91bcccd676d109c1b974497ac29bd366a41b8899

markchien   authored and   Mark Chien   commited 2021-05-18 14:47:43 +00:00
9935dbe03e
Merge "Test mts against last stable api level" am: a59a146b36 am: 9015e276aa am: 726b814899
Original change: https://android-review.googlesource.com/c/platform/packages/modules/Connectivity/+/1686012

Change-Id: I9d2d08b9c9397c247e2afd54b25a21631233c585

Mark Chien   authored and   Automerger Merge Worker   commited 2021-05-14 10:26:06 +00:00
540f0d3ce3
Merge "Test mts against last stable api level"
Mark Chien   authored and   Gerrit Code Review   commited 2021-05-14 09:00:11 +00:00
a59a146b36
Merge "bpf: Add interface index to BPF devmap" am: aa10ddfa6f am: 72bd34e343 am: 76cc470496
Original change: https://android-review.googlesource.com/c/platform/packages/modules/Connectivity/+/1703125

Change-Id: I5669ff227f761da71d8ad12cf7e0a228b3621d81

Nucca Chen   authored and   Automerger Merge Worker   commited 2021-05-14 03:25:05 +00:00
1ed7317a2f
Merge "bpf: Add interface index to BPF devmap"
Nucca Chen   authored and   Gerrit Code Review   commited 2021-05-14 02:45:38 +00:00
aa10ddfa6f
Merge "[SP32.3] No-op refactoring of OffloadControllerTest"
Junyu Lai   authored and   Gerrit Code Review   commited 2021-05-14 02:18:12 +00:00
4ec15d5d71
Merge "Revert "Add ACCESS_NETWORK_STATE to Tethering CTS"" into sc-dev
Mark Chien   authored and   Android (Google) Code Review   commited 2021-05-13 17:45:31 +00:00
ec738f3e36
Revert "Add ACCESS_NETWORK_STATE to Tethering CTS"
This reverts commit 90255ef0a7.

Reason for revert: this change break TetheringCoverageTests which test whether guard with proper permission (ACCESS_NETWORK_STATE). Instead of adding permission to test, use runAsShell with ACCESS_NETWORK_STATE: https://android-review.googlesource.com/c/platform/packages/modules/Connectivity/+/1699426/1/Tethering/tests/integration/src/android/net/EthernetTetheringTest.java

Bug: 187371740

Change-Id: Id8f27dce237ab34c1a735ce4678e661a6113377e

Mark Chien   commited 2021-05-13 17:44:05 +00:00
0d18d18252
Merge "Fix MtsTetheringTest fail to access hidden tethering api problem" into sc-dev
TreeHugger Robot   authored and   Android (Google) Code Review   commited 2021-05-13 17:31:01 +00:00
4959976b6f
Merge "Fix some TetheringCoverageTest failure" am: 08b89743de am: bf74c05038 am: 3d4f367a25
Original change: https://android-review.googlesource.com/c/platform/packages/modules/Connectivity/+/1699426

Change-Id: Id89d14377c2df4055d7a701129449a68007d40f1

Mark Chien   authored and   Automerger Merge Worker   commited 2021-05-13 16:45:01 +00:00
b88f9f0575
Merge changes from topic "sp31" into sc-dev
* changes:
  [SP35] Pass data warning to tethering offload
  [SP34] Adapt onSetWarningAndLimit

TreeHugger Robot   authored and   Android (Google) Code Review   commited 2021-05-13 15:52:59 +00:00
3345125c08
Merge "Fix some TetheringCoverageTest failure"
Mark Chien   authored and   Gerrit Code Review   commited 2021-05-13 15:46:02 +00:00
08b89743de
Fix MtsTetheringTest fail to access hidden tethering api problem
E.g. Accessing hidden method
Landroid/net/TetheringManager$TetheringInterfaceRegexps;
->getTetherableWifiRegexs()Ljava/util/List; (blacklist, linking, denied)

Bug: 183459282
Test: atest MtsTetheringTest on both R and S platform
Ignore-AOSP-First: change already in AOSP.

Change-Id: I3c5f08615fcf897fac59f2493be5337f78c2fdc7

markchien   authored and   Mark Chien   commited 2021-05-13 15:44:18 +00:00
ac3e0bb7fc
Merge "No-op Refactoring of startTrackDefaultNetwork" am: 7fecf6a017 am: 784f54eefb am: 80ccb96458
Original change: https://android-review.googlesource.com/c/platform/packages/modules/Connectivity/+/1697371

Change-Id: If974c537e869caa6c0f9914b04bc6dc696c76b9c

Junyu Lai   authored and   Automerger Merge Worker   commited 2021-05-13 15:30:25 +00:00
5f32284acd
Merge "No-op Refactoring of startTrackDefaultNetwork"
Junyu Lai   authored and   Gerrit Code Review   commited 2021-05-13 14:32:00 +00:00
7fecf6a017
[SP35] Pass data warning to tethering offload
This is supported by:
  1. Utilize the new API from both NetworkStatsProvider
     and IOffloadControl to send data warning quota to hardware.
     And pass the warning reached notification back to NPMS.
  2. Disable software solution introduced in R release for
     V1.1+ hardware, since now we can fully offload data warning
     and limit notification to hardware.

Test: atest TetheringTests
Fix: 149467454
Ignore-AOSP-First: avoid long automerger delay
Change-Id: Ie49461694d77ab7f25a549433b01b5b0167bd489

junyulai   commited 2021-05-13 22:08:10 +08:00
a36f33ef90
[SP34] Adapt onSetWarningAndLimit
This is a no-op change that just adapt new API from
NetworkStatsProvider to get warning and limit bytes at the same
time. This change also stores them locally for subsequent
patches to set warning bytes to hardware.

Test: Will be included in the subsequent patch.
Bug: 149467454
Ignore-AOSP-First: avoid long automerger delay
Change-Id: Iec01cb01fd1ce481ce0bd736762baddde1e38084

junyulai   commited 2021-05-13 21:55:31 +08:00
6d8da9f72d
Merge "[SP33] Adapt ITetheringOffloadCallback V1.1" into sc-dev
TreeHugger Robot   authored and   Android (Google) Code Review   commited 2021-05-13 10:38:33 +00:00
0b4086c713
[SP33] Adapt ITetheringOffloadCallback V1.1
This is a no-op change that redirect both V1.0 and V1.1 callback
events to the same handling function. Since the V1.1 callback
is extended from V1.0 callback, we can safely use V1.1
callback for both V1.0 and V1.1 control.

The change also provides interface for subsequent
OffloadController changes to set warning and limit at the
same time.

Test: atest TetheringTests
Bug: 149467454
Ignore-AOSP-First: avoid long automerger delay
Change-Id: I6505a04de8c57357dd1fa9ce898c13395e497816

junyulai   commited 2021-05-13 16:45:40 +08:00
5454e8978e
No-op Refactoring of startTrackDefaultNetwork
While the actual part that track default request is inside
UpstreamNetworkMonitor, instead of passing it from Tethering,
move it into counter-part CL and use it from
UpstreamNetworkMonitor.

Since the current code is replaced by registerSystemDefaultCallback
in Android S, implement it inside the api30 shim implementation
to provide an unified interface to tethering.

Test: atest TetheringCoverageTests
Bug: 185952829
Change-Id: Iaf21b6b662aa6aba79c2b75379128b8523f81f02

junyulai   commited 2021-05-13 14:07:40 +08:00
b95083ea6a
Fix some TetheringCoverageTest failure
1. Fix no ACCESS_NETWORK_STATE permission problem when accessing
EthernetManager#getAvailableInterfaces API from S.
2. Fix some wrong jarjar rules.

Bug: 187371740
Test: atest TetheringCoverageTest on R platform
Change-Id: I203db6c4ea2e13d8fb5bc2db7ee877ccbb97b761

markchien   authored and   Mark Chien   commited 2021-05-12 14:12:10 +00:00
075432d7c9
Test mts against last stable api level
Create *LatestSdk variant build target which have target sdk specify
to allow test apk install to released platform.

Bug: 182211575
Test: test S MtsTetheringTest in R device
Change-Id: I4d5c5e8c3d74993a67380e0211da31884cbf8792

markchien   commited 2021-05-12 22:11:04 +08:00
7193a1b30e
bpf: Add interface index to BPF devmap
Add upstream and downstream interface index to BPF map and rename the
BPF map name from xdp_devmap to dev.

$ adb shell dumpsys tethering
    Device map:
      ifindex (iface) -> ifindex (iface)
        21 (21) -> 21 (21)
        25 (25) -> 25 (25)
        12 (rmnet_data2) -> 12 (rmnet_data2)

$ adb shell ip addr
12: rmnet_data2 ..
21: wlan1 ..
25: rndis0 ..

$ adb shell ls /sys/fs/bpf/tethering
map_offload_tether_dev_map

Test: atest TetheringCoverageTests

Change-Id: Ic49965f3374d9e196ee672ec2f0e9e08f3847deb

Hungming Chen   commited 2021-05-12 19:57:18 +08:00
3feb782282
Remove mPublicSync. am: 94311aa902 am: c0f1bed8c5 am: 1a56f34c7c
Original change: https://android-review.googlesource.com/c/platform/packages/modules/Connectivity/+/1678387

Change-Id: Ie0ca3c2c7e38cb3c3823b975f565749e99cd8af5

Lorenzo Colitti   authored and   Automerger Merge Worker   commited 2021-05-12 11:22:28 +00:00
8b381c19fc
Remove mPublicSync.
This is no longer necessary as all the methods that take it are
running on on the handler thread, either in Tethering itself or
on the state machine thread in IpServer, which runs on the same
thread as Tethering.

Specifically:
- interfaceStatusChanged, interfaceAdded, interfaceRemoved,
  interfaceLinkStateChanged: run from mNetdCallback, which always
  posts them to mHandler.
- setWifiTethering: only called by enableTetheringInternal, which
  is called by the following:
  - startTethering, stopTethering: via lambda posted to mHandler
  - IpServerCallback#requestEnableTethering: called by IpServer
    while processing a command.
- setEthernetTethering: only called by enableTetheringInternal.
- EthernetCallback: runs on mExecutor, which posts to mHandler.
- getLastTetherError: only used by the test. Renamed to
  getLastErrorForTest to ensure no other callers.
- sendTetherStateChangedBroadcast: called only by
  notifyInterfaceStateChange, which is called only by
  - IpServerCallback#updateInterfaceState, which is called only
    by sendInterfaceState, which is called by various IpServer
    state enter methods.
- notifyLinkPropertiesChanged: called only by
  IpServerCallback#updateLinkProperties, which is only called by
  IpServer#sendLinkProperties, which is only called by:
  - Code that processes CMD_IPV6_TETHER_UPDATE
  - IpServer#handleNewPrefixRequest: only called when processing
    CMD_NEW_PREFIX_REQUEST.
  - IpServer#sendInterfaceState (see above)
- handleWifiApAction, handleWifiP2pAction: only called by
  mStateReceiver, which runs on the handler thread
- tether(String, int): called by:
  - tether(String, IIntResultListener): posted to mHandler
  - changeInterfaceState: called by:
    - EthernetCallback (see above)
    - enableWifiIpServingLocked: called by handleWifiApAction and
      handleWifiP2pAction (see above)
    - tetherMatchingInterfaces: only called by handleUsbAction,
      which is run from mStateReceiver on the handler thread.
- untether(String): called by:
  - untether(String, IIntResultListener): posted to mHandler
  - changeInterfaceState (see above)
- setUsbTethering: called by:
  - setUsbTethering(boolean, IIntResultListener): posted to mHandler
  - enableTetheringInternal (see above)
- setNcmTethering: called by enableTetheringInternal (see above)
- getTetheredIfaces: called only by TetheringTest. Renamed to
  getTetheredIfacesForTest to ensure no other callers.
- getErroredIfaces: unused, deleted in this CL
- getTetheredIfaces: called by:
  - isTetheringActive: called by onUserRestrictionsChanged, which
    is only called by mStateReceiver
  - TetheringTest
- dump(): changed to run on handler thread
- upstreamWanted: called by
  - TetherModeAliveState#enter
  - TetherModeAliveState#updateUpstreamWanted, which is called
    only by TetherModeAliveState#processMessage.

Test: atest TetheringCoverageTests
Test: enabled/disabled hotspot, USB tethering
Change-Id: Id49d33f027b8df4c97fda480ff239c0ba90bb96a

Lorenzo Colitti   commited 2021-05-12 17:35:49 +09:00
94311aa902
[SP32.3] No-op refactoring of OffloadControllerTest
This is necessary change for minimize the code size when
repeatedly restarting OffloadController in subsequent
patches.

Test: atest TetheringTests
Bug: 149467454
Merged-In: I0b02d01cd8749d81c9d020dee7fdb4f80e18ae98
Change-Id: I0b02d01cd8749d81c9d020dee7fdb4f80e18ae98
  (cherry-picked from ag/14234078)

junyulai   commited 2021-04-29 18:19:55 +08:00
ba4b6d1bd4
Merge "Add native coverage listener to tethering coverage test" am: e6bafe29b0 am: 1c4103c150 am: 659bbf4f24
Original change: https://android-review.googlesource.com/c/platform/packages/modules/Connectivity/+/1687651

Change-Id: Ifd9f54157ecc1d0f1a109dde05a12b2ef75e07e8

Treehugger Robot   authored and   Automerger Merge Worker   commited 2021-04-27 19:50:31 +00:00
b22fb6c09e