TestTunNetworkUtils is a centralized place to control the test TUN networks used by integration test. With this we can safely tear down all test networks in `teardown()` instead of tearing down the newly created network in `finally` clause.
Bug: 377640059
Change-Id: I57b34bb2644bd6a5bb73ed1573932f35de657c8f
This CL adds a test case for UDP traffic in InternetAccessTest. The test case verifies that a Thread device can send a UDP message to a UDP echo server and receive a reply.
Bug: 374232259
Change-Id: Id138248f1ed26c1cc5728cc06b42e3223c449125
This class is useful for creating a class that responds to specific type of UDP messages. E.g. DNS server and UDP echo server.
Bug: 356770473
Test: atest ThreadNetworkIntegrationTests:android.net.thread.InternetAccessTest
Change-Id: I6880bb825ac5077d4a73f9d986116c571863e1d8
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
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
* 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
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
modules should specify the submodule of java_sdk_library that the module
actually depends on
Test: CI
Bug: 358613520
Change-Id: I0367068c901df98483f6cf95160d3e7801881b0a
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
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
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
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
This CL also refactors the IntegratoinTestUtils a bit to make it more
reusable.
Bug: 356770473
Test: CI
Change-Id: Ief94e312e06e4b62c71284c8ff0ef710f0b632fb
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
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
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
OpenThread generates the link-local address randomly, so the kernel
shound't generate another lla again.
Bug: 305605130
Change-Id: I0ec79adf0de4edc6921703c3cc50cfcfe63b853b
This commit changes OpenThread to simulate on eth1 instead of loopback interface.
Bug: 329188649
Test: presubmit
Change-Id: I80a2842be02c03c5987ac8be8368fa86d7c6bace
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
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