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