Commit graph android_packages_modules_Co.../thread/tests/integration
Message SHA1
Merge "[Thread] Disable flaky test nat64_withAilNat64Prefix_threadDevicePingIpv4InfraDevice_outboundPacketIsForwarded" into main
Treehugger Robot   authored and   Gerrit Code Review   commited 2024-10-31 15:41:14 +00:00
0f0885aa40
Merge "[Thread] add private API for disabling border router" into main
Treehugger Robot   authored and   Gerrit Code Review   commited 2024-10-31 15:30:43 +00:00
a2f666e08a
[Thread] add private API for disabling border router
Bug: 374036806
Change-Id: Ib8ca8bbd2b3018c39c9250e1b3ce70b193273c1b

Kangping Dong   commited 2024-10-31 14:30:25 +08:00
56449db1be
[Thread] Disable flaky test nat64_withAilNat64Prefix_threadDevicePingIpv4InfraDevice_outboundPacketIsForwarded
Bug: 376573921
Change-Id: I017a7c3bfbb46a367a32156159495930120adb35

Handa Wang   commited 2024-10-31 05:09:38 +00:00
833b22da87
[Thread] add an integration test case for resolving a host via DNS recursive resolver
This CL adds new test cases for verifying the Thread Border Router's
DNS Recursive Resolver feature: The DNS clients resolves google.com
successfully when the feature is enabled.

Bug: 354868095
Test: atest ThreadNetworkIntegrationTests:android.net.thread.InternetAccessTest

Change-Id: I1b021151c6843b30c3f47559ab20dec405af5dea

Handa Wang   commited 2024-10-30 06:42:17 +00:00
5e8a1fdfda
Merge "[Thread] request/release the NAT64 CIDR" into main
Handa Wang   authored and   Gerrit Code Review   commited 2024-10-23 07:11:52 +00:00
ec5bc1fc13
[Thread] request/release the NAT64 CIDR
This CL implements the logic to maintain the NAT64 CIDR at ThreadNetworkControllerService. When NAT64 is enabled, the service needs to request a CIDR via RoutingCoordinatorManager#requestDownstreamAddress(). When NAT64 is disabled, the service needs to release the CIDR via RoutingCoordinatorManager#releaseDownstreamAddress().

Bug: 350699020

Change-Id: I16397fd48c2925efd9d4833a335cf73832b4f4d6

Handa Wang   commited 2024-10-23 01:31:43 +00:00
a7318da774
[Thread] fix the test util of setNat64EnabledAndWait to apply old config
Bug: 356770473
Change-Id: I6d1e3d6acc9a101b3e783ab4493ed25a3aa732a1

Yang Sun   commited 2024-10-21 08:45:59 +00:00
ee4ab96116
[Thread] use setConfiguration API in NAT64 tests
Bug: 356770473

Change-Id: I98c80de24cbaaa7206ddbd2bf62350066c998ba5

Handa Wang   commited 2024-10-21 06:04:09 +00:00
52c72a11bf
[Thread] add CLI commands for getting/setting config
Bug: 364237115

Change-Id: Ice42d7d02cfefd733042282939635502c259d9d5

Handa Wang   commited 2024-10-17 07:40:42 +00:00
7eb1bbd369
Merge "[Thread] add configuration methods in ThreadNetworkControllerWrapper" into main
Handa Wang   authored and   Gerrit Code Review   commited 2024-10-17 05:37:33 +00:00
fe6dedde08
[Thread] add configuration methods in ThreadNetworkControllerWrapper
Change-Id: I56b4ca76e7f62d924f99527b36eac24ed151c53b

Handa Wang   commited 2024-10-16 14:55:19 +00:00
1c7d51a743
Rename TapPacketReader to PollPacketReader for broader applicability
* Renamed TapPacketReader to PollPacketReader to better reflect its
  functionality beyond TAP interface interaction.
* The class includes general logic for polling and sending packets to
  file descriptors, making it suitable for wider use cases.

Test: TH
Change-Id: Icdf9a9d7ef6f49b589ed9cdbd05159ab95e7e5d9

Yuyang Huang   commited 2024-10-15 13:42:05 +09:00
eb3c631b89
[Thread] fix the issue that border routing is not available after
ot-daemon restarts

This CL tries to fix issue by removing error-prone shortcircuit checks.
The checks skip configuring the ot-daemon if they think the new state
is equal to the old state. However, the old state mainainted in
ThreadNetworkControllerService may be stale which causes issues.

Bug: 372592886
Test: atest ThreadNetworkIntegrationTests

Change-Id: Icab25cf094f8bf33832b4097ab8ee77b54badc6b

Handa Wang   commited 2024-10-10 14:21:58 +00:00
485a7f1849
Merge "[Thread] support discovering NAT64 prefix from AIL" into main
Handa Wang   authored and   Gerrit Code Review   commited 2024-09-23 03:58:57 +00:00
5f9a3d042e
[Thread] support discovering NAT64 prefix from AIL
Bug: 357479886

Change-Id: I8dfd96a0ba3e927ed4cbc8ceecb18652adf98964

Handa Wang   commited 2024-09-23 02:35:07 +00:00
b47c325907
Allow ot-ctl command under ADB Thread Network Service : support of non-interactive mode
Bug: 351721329

Test: atest ThreadNetworkUnitTests

Change-Id: Id7443c24ea380d200e73cca4ead2284249f2052f

Yang Song   commited 2024-09-20 03:58:14 +00:00
ffceaae1b8
Make java_sdk_library dependencies explicit
modules should specify the submodule of java_sdk_library that the module
actually depends on

Test: CI
Bug: 358613520
Change-Id: I0367068c901df98483f6cf95160d3e7801881b0a

Jihoon Kang   commited 2024-09-10 00:01:31 +00:00
8401b6a9f0
[Thread] move infra network utilities to IntegrationTestUtils.kt
This CL moves setUpInfraNetwork(), tearDownInfraNetwork() and
startInfraDeviceAndWaitForOnLinkAddr() into IntegrationTestUtils.kt
because they'll also be used by Internet Access test cases which will be
in a new file.

The methods are refactored in Kotlin to be easier used in new test
cases. The new test cases will also be written in Kotlin.

Bug: 356770473

Change-Id: I2e5788ba87f9f86dd14d382db0b0de791bcbce6a

Handa Wang   commited 2024-09-05 05:59:51 +00:00
d92b389c63
[Thread] refactor IntegrationTestUtils to use Kotlin
This CL refactors IntegrationTestUtils class to Kotlin. As more test
cases are introduced, it's likely we'll add more code into this class.
It's worth a refactor of the code so that we can write the new code in
Kotlin which is more concise and safer.

Change-Id: I8b71c5183cad9224ee49e2192aa5aab62aae9ddb

Handa Wang   commited 2024-09-05 05:59:46 +00:00
26b68536bf
changes the API setChannelMaxPowers from hide API to system API
This CL changes the hiden API `setChannelMaxPowers` to system API
to allow the privilege app to set the max power of each Thread channel.

Bug: b/346686506
Test: atest CtsThreadNetworkTestCases
Change-Id: I1089a4a315971c3bca8ec688a02143ddec93d039

Zhanglong Xia   commited 2024-08-26 10:07:36 +08:00
5bbfd91b04
[Thread] add an integration test case for NAT64
This CL adds an integration test case for NAT64. Because the feature is
not fully ready, we need some extra setup steps to make the feature
work. That is, specifying a CIDR for NAT64. Also, this test case is
based on `ot-ctl` but eventually the test should be based on API.

This CL requires https://github.com/openthread/openthread/pull/10566.

Bug: 356770473
Test: atest ThreadNetworkIntegrationTests

Change-Id: Idfb5ad848f7b2369591e47558ea67017c0b31e19

Handa Wang   commited 2024-08-07 01:12:50 +00:00
d38b7cb30f
[Thread] support polling IPv4 packets in integration test
This CL also refactors the IntegratoinTestUtils a bit to make it more
reusable.

Bug: 356770473
Test: CI

Change-Id: Ief94e312e06e4b62c71284c8ff0ef710f0b632fb

Handa Wang   commited 2024-08-07 01:12:46 +00:00
09e71714fb
[Thread] fix ServiceDiscoveryTest
The test was flaky because we didn't give enough time for SRP
registration to complete.

The waiting should be counted as started when the SRP server is available).
Previously we started the waiting before the availability of SRP server
so the counted waiting time may be longer than expected which causes
the wait to timeout and fail the test case.

This CL also extracts some common utils from integration test cases to
the IntegrationTestUtils class.

Bug: 353836718
Test: Locally passed 50 times in a row

Change-Id: I2f648a21d57025b082296b4e562c46432ab04ff8

Handa Wang   commited 2024-07-22 05:33:36 +00:00
cc6d43690b
[Thread] add the "vgh" TXT entry
Allows vendors to specify whether the Thread network is managed by
Google or not.

Bug: 343671003

Change-Id: Ie4d4050add0485643ea3eff0c576868b086f848c

Kangping Dong   commited 2024-06-12 23:19:34 +08:00
151275359f
Use DeviceFeatureModuleController to run tests only if the device has the required feature.
This is to avoid running tests on devices that do not support Thread. Otherwise, the tests will fail with ClassNotFoundException when the test classes are loaded

Change-Id: I286394ae925ad7258aa82cd308ac963ee334992c

Kangping Dong   commited 2024-06-05 19:32:59 -07:00
67586d188e
[Thread] enforce a timeout for waiting FTDs' output in integration tests
When developing and debugging a test case, sometimes the FTD may stuck and will not give any output. In such a case the test may time out after 1 minute (or longer). We should enforce a timeout (e.g. 5 seconds) when reading from its stdout so we don't have to wait for it that long.


Bug: 343885515
Test: CI

Change-Id: I766c172364106f19500032459de12ed6de38fb05

Handa Wang   commited 2024-06-03 03:04:56 +00:00
eca707dda4
Merge changes I0ec79adf,Icf5aadc4 into main
* changes:
  [Thread] avoid kernel-generated lla on thread-wpan
  [Thread] use NetlinkUtils methods to update addresses

Treehugger Robot   authored and   Gerrit Code Review   commited 2024-05-21 06:30:56 +00:00
7528130f24
[Thread] avoid kernel-generated lla on thread-wpan
OpenThread generates the link-local address randomly, so the kernel
shound't generate another lla again.

Bug: 305605130

Change-Id: I0ec79adf0de4edc6921703c3cc50cfcfe63b853b

Kangping Dong   commited 2024-05-20 22:51:09 +08:00
8658ef364d
Reset mNetDataPrefixes when Thread goes down.
Bug: 335762753

Test: atest ThreadNetworkIntegrationTests:android.net.thread.ThreadIntegrationTest#toggleThreadNetwork_routeFromPreviousNetDataIsRemoved

Change-Id: I7fd56dcec32ad2b57338ca8033aaa0a95020304e

Yang Sun   commited 2024-05-20 16:41:56 +08:00
8fd35e3771
Merge "Thread: simulate Thread on eth1 for tests" into main
Yakun Xu   authored and   Gerrit Code Review   commited 2024-05-17 03:52:14 +00:00
99d5727954
Thread: simulate Thread on eth1 for tests
This commit changes OpenThread to simulate on eth1 instead of loopback interface.

Bug: 329188649
Test: presubmit
Change-Id: I80a2842be02c03c5987ac8be8368fa86d7c6bace

Yakun Xu   commited 2024-05-16 15:32:08 +08:00
7bc7d69e1e
Merge "Add netdata prefixes to tun interface routing table." into main
Treehugger Robot   authored and   Gerrit Code Review   commited 2024-05-15 19:34:04 +00:00
43b62ae5ff
Add netdata prefixes to tun interface routing table.
When there are thread devices with DUA in the thread network, BR itself
may not have a DUA address, so it doesn't have route to DUA in the
thread-wpan routing table. When thread device sends a packet from the
DUA to AIL via BR, BR rpfilter would drop the packet. Adding the route
to DUA prefix in thread-wpan solves this problem.

Bug: 335762753

Test: atest ThreadNetworkIntegrationTests:android.net.thread.ThreadIntegrationTest#addPrefixToNetData_routeIsAddedToTunInterface
atest ThreadNetworkIntegrationTests:android.net.thread.ThreadIntegrationTest#removePrefixFromNetData_routeIsRemovedFromTunInterface

Change-Id: I5ca8f7e723116a63718734f72f1b463d9c380329

Yang Sun   commited 2024-05-15 22:26:35 +08:00
14de932e9b
ThreadIntegrationTest: use longer ping timeout when reply is expected.
The ping timeout was 0.1s to keep the tests short, this may not be
enough to receive ping reply. When test case expects ping reply to be
received we can use a longer timeout of 1s.

Bug: 338061061

Test: atest ThreadNetworkIntegrationTests:android.net.thread.ThreadIntegrationTest#edPingsMeshLocalAddresses_oneReplyPerRequest
Change-Id: I988fb8973735d9b082c5b8c3c57566b950ae804b

Yang Sun   commited 2024-05-08 16:44:00 +08:00
d36928c916
[icmp] Add test to verify no duplicated icmp echo reply on mesh-local
addresses.

Bug: 333493455

Test: atest ThreadNetworkIntegrationTests:android.net.thread.ThreadIntegrationTest#edPingsMeshLocalAddresses_oneReplyPerRequest

Change-Id: I07aefa1311f15d3f801de64c0342694296f09469

Yang Sun   commited 2024-04-29 16:21:16 +08:00
d722a997bd
Merge "Add OT multicast addresses to tun interface." into main
Yang Sun   authored and   Gerrit Code Review   commited 2024-04-12 06:39:26 +00:00
aa72ee2dd5
Add OT multicast addresses to tun interface.
Bug: 333668308

Test: atest ThreadNetworkIntegrationTests:android.net.thread.ThreadIntegrationTest#joinNetwork_tunInterfaceJoinsAllRouterMulticastGroup
Change-Id: I0bb91259ae5cbe0eb9c5d71b7aa4e5b2a95f8c6b

Yang Sun   commited 2024-04-11 00:54:25 -07:00
244dce3722
Merge "[Thread] ignore the flaky test case advertisingProxy_srpClientUnregistersService_serviceIsNotDiscoverableByMdns" into main
Handa Wang   authored and   Gerrit Code Review   commited 2024-04-11 03:12:30 +00:00
e67e1a7166
[Thread] ignore the flaky test case advertisingProxy_srpClientUnregistersService_serviceIsNotDiscoverableByMdns
The flakiness of this test case is 1%. Disable the test case to prevent
the whole test module from being demotioned.

Bug: 333078476
Bug: 333806992
Change-Id: I820f7a567a7827eee280d0f545c9f654efe5eeaa

Handa Wang   commited 2024-04-11 01:51:06 +00:00
7ade29d142
Dynamically set mesh-local addresses preferred lifetime.
When there is an active OMR address(not deprecated), set the mesh-local
addresses as non-preferred. When there is no active OMR address, set
the mesh-local addresses as preferred.

Bug: 323624146

Test: atest ThreadNetworkIntegrationTests

Change-Id: I969c20ddadfd2d0bd97499da48efc9b32cfa7e0b

Yang Sun   commited 2024-04-09 02:26:00 -07:00
79b202ac9f
[Thread] wait for Thread address updates on thread-wpan
There are timing issues in the current
tunInterface_joinedNetwork_otAddressesAddedToTunInterface test that the
OT addresses (e.g. Leader ALOC) may be updated after the device
attaches while the test doesn't wait for the addresses being propagated
to the system_server.

This commit fixes this issue by waiting for the addresses check for 1
seconds before timing out.

Bug: 333078476
Change-Id: If672aab7535f200bd38b50f1ce691b7c32e4cc75

Kangping Dong   commited 2024-04-07 15:04:53 +08:00
8f105009af
[Thread] add E2E UDP test for app usage
Bug: 323300829
Bug: 325983649
Change-Id: I0e6b9029cb58a2b985e80003d6339e536d706ed3

Kangping Dong   commited 2024-04-04 18:52:53 +08:00
e9daad6264
[Thread] enable Service Discovery integration tests
Bug: 328527773
Bug: 332452386

Test: atest ThreadNetworkIntegrationTests:android.net.thread.ServiceDiscoveryTest

Change-Id: Ib1bc690c4f5bfcc30d4fb11b472fb4095505f1ef

Handa Wang   commited 2024-04-02 05:38:02 +00:00
b40140dcd0
Merge "set the country code when initializing the ot-daemon" into main
Zhanglong Xia   authored and   Gerrit Code Review   commited 2024-03-28 10:48:51 +00:00
1038c141fe
Merge "Separate Struct.java into its own lib." into main
Yang Sun   authored and   Gerrit Code Review   commited 2024-03-28 06:23:57 +00:00
68d68d82ed
[Thread] add a unicast routing case when infra link switches
Bug: 331567763
Test: atest ThreadNetworkIntegrationTests:android.net.thread.BorderRoutingTest#unicastRouting_afterInfraNetworkSwitchInfraDevicePingThreadDeviceOmr_replyReceived

Change-Id: I3bb0d4c8b1ab8d5e68c2fdcb854175d04dbe5336

Handa Wang   commited 2024-03-28 03:56:32 +00:00
d9e4ba6d26
set the country code when initializing the ot-daemon
The country code is lost after the ot-daemon is restarted. This
CL stores the country code to persistent settings and reads
out the previously stored country code to set the country code
when the ot-daemon is initialized.

Bug: b/326021472
Test: atest ThreadNetworkUnitTests

Change-Id: I6982a57ba4845f5a45f3366400c531398e82339e

Zhanglong Xia   commited 2024-03-28 10:36:24 +08:00
4eab54b40e
Separate Struct.java into its own lib.
* Struct.java is removed from net-utils-device-common-bpf and
  net-utils-device-common-struct's source list
* Created a lib net-utils-device-common-struct-base for Struct.java
* Updated libs that require Struct.java to include
  net-utils-device-common-struct-base.
* Replaced net-utils-multicast-forwarding-structs with
  net-utils-device-common-struct in service-connectivity

Bug: 323503345

Test: build tethering module.
Change-Id: I3f60715c3d8043b7569db7612dee9d4fa1ccba59

Yang Sun   commited 2024-03-27 20:15:17 +08:00
3aa62e6773
check the Thread required features before running ThreadNetworkControllerTest
This CL checks if the device supports Thread specific features before
running the test case ThreadNetworkControllerTest. If the device
doesn't support specific features, just skip the test case.

Bug: b/330879812
Test: atest ThreadNetworkIntegrationTests
Change-Id: I1452ab02cc62228102d4a140f39abf13b79542c7

Zhanglong Xia   commited 2024-03-26 13:20:24 +08:00
c1d4e1eea1