1# Wi-Fi RTT (IEEE 802.11mc) Integrated (ACTS/sl4a) Test Suite 2 3This directory contains ACTS/sl4a test scripts to verify and characterize 4the Wi-Fi RTT (IEEE 802.11mc) implementation in Android. 5 6There are 2 groups of tests (in 2 sub-directories): 7 8* functional: Functional tests that each implementation must pass. These 9are pass/fail tests. 10* stress: Tests which run through a large number of iterations to stress 11test the implementation. Considering that some failures are expected, 12especially in an over-the-air situation, pass/fail criteria are either 13not provided or may not apply to all implementations or test environments. 14 15The tests can be executed using: 16 17`act.py -c <config> -tc {<test_class>|<test_class>:<test_name>}` 18 19Where a test file is any of the `.py` files in any of the test sub-directories. 20If a test class is specified, then all tests within that test class are executed. 21 22## Test Beds 23The Wi-Fi RTT tests support several different test scenarios which require different test bed 24configuration. The test beds and their corresponding test files are: 25 26* Device Under Test + AP which supports IEEE 802.11mc 27 * functional/RangeApSupporting11McTest.py 28 * functional/RttRequestManagementTest.py 29 * functional/RttDisableTest.py 30 * stress/StressRangeApTest.py 31* Device Under Test + AP which does **not** support IEEE 802.11mc 32 * functional/RangeApNonSupporting11McTest.py 33* 2 Devices Under Test 34 * functional/RangeAwareTest.py 35 * functional/AwareDiscoveryWithRangingTest.py 36 * functional/RangeSoftApTest.py 37 * stress/StressRangeAwareTest.py 38 39## Test Configurations 40The test configuration, the `<config>` in the commands above, is stored in 41the *config* sub-directory. The configuration simply uses all connected 42devices without listing specific serial numbers. Note that some tests use a 43single device while others use 2 devices. 44 45The only provided configuration is *wifi_rtt.json*. 46 47The configuration defines the following keys to configure the test: 48 49* **lci_reference**, **lcr_reference**: Arrays of bytes used to validate that the *correct* LCI and 50LCR were received from the AP. These are empty by default and should be configured to match the 51configuration of the AP used in the test. 52* **rtt_reference_distance_mm**: The reference distance, in mm, between the test device and the test 53AP or between the two test devices (for Aware ranging tests). 54* **stress_test_min_iteration_count**, **stress_test_target_run_time_sec**: Parameters used to 55control the length and duration of the stress tests. The stress test runs for the specified number 56of iterations or for the specified duration - whichever is longer. 57