This repository contains code and data for testing the compliance of Automated Frequency Coordinator (AFC) software. The AFC is defined by the FCC in proceeding 18-295 on Unlicensed Use of the 6 GHz Band. This repository contains procedures, documentation, and tests for such software, and for the devices authorized by it. To contribute, please first read the CONTRIBUTING file in the repository for instructions.
14
stars
3
forks
source link
Modify harness structure to support multiple test vector versions #59
Wi-Fi Alliance has recently released a revision to the AFC SUT test vectors (v1.3), which adds support for Global Operating Class (GOC) 137. However, they are also maintaining the previous version (v1.2) as a publicly available document.
Because the Wi-Fi Alliance AFC SDI does not specify how an AFC System should respond to a message containing a GOC it does not support (i.e., whether the AFC System should ignore the requested GOC/provide no channels for that GOC or return an error, such as INVALID_VALUE), we cannot update the harness to include only the v1.3 test vectors.
Currently, the v1.3 test vectors can be manually used with the test harness by changing the directories referenced in the cfg/harness.toml config file to point to directories containing updated v1.3 test vectors. Note that Wi-Fi Alliance does not provide *.JSON formatted response masks for SRS.1, URS.1-7, or FSP-100; these would need to be generated by the user. Previously, we have provided *.JSON versions of all inquiries and these missing response masks within the harness repository for ease of use.
To simplify use of the new v1.3 vectors while permitting continued use of the existing v1.2 vectors, this issue proposes the following changes to the test harness:
Alter the directory structure to include versioned subdirectories for test vectors in the following way:
After:
harness/test_vectors/v1.2/inquiries/
harness/test_vectors/v1.2/responses/
harness/test_vectors/v1.2/masks/
harness/test_vectors/latest/inquiries/
harness/test_vectors/latest/responses/
harness/test_vectors/latest/masks/
harness/test_vectors/latest/version <- Contains string indicating version of the test vectors in the latest directory
Generate missing *.JSON v1.3 test vector files and include them in the harness under the latest subdirectory of test_vectors.
In the event of future test vector updates, these will be archived in a v1.3 subdirectory, and newer vectors will be placed in the latest subdirectory.
Update the default configuration file cfg/harness.toml to reference the latest test vector directories
Update test_main.py to use the latest subdirectories as the default location for loading and storing tests
After these changes, users will be able to easily test against either version of the test vectors by modifying the values in cfg/harness.toml accordingly.
Wi-Fi Alliance has recently released a revision to the AFC SUT test vectors (v1.3), which adds support for Global Operating Class (GOC) 137. However, they are also maintaining the previous version (v1.2) as a publicly available document.
Because the Wi-Fi Alliance AFC SDI does not specify how an AFC System should respond to a message containing a GOC it does not support (i.e., whether the AFC System should ignore the requested GOC/provide no channels for that GOC or return an error, such as INVALID_VALUE), we cannot update the harness to include only the v1.3 test vectors.
Currently, the v1.3 test vectors can be manually used with the test harness by changing the directories referenced in the
cfg/harness.toml
config file to point to directories containing updated v1.3 test vectors. Note that Wi-Fi Alliance does not provide*.JSON
formatted response masks for SRS.1, URS.1-7, or FSP-100; these would need to be generated by the user. Previously, we have provided*.JSON
versions of all inquiries and these missing response masks within the harness repository for ease of use.To simplify use of the new v1.3 vectors while permitting continued use of the existing v1.2 vectors, this issue proposes the following changes to the test harness:
Alter the directory structure to include versioned subdirectories for test vectors in the following way:
Generate missing
*.JSON
v1.3 test vector files and include them in the harness under thelatest
subdirectory oftest_vectors
.v1.3
subdirectory, and newer vectors will be placed in thelatest
subdirectory.Update the default configuration file
cfg/harness.toml
to reference thelatest
test vector directoriesUpdate
test_main.py
to use thelatest
subdirectories as the default location for loading and storing testsAfter these changes, users will be able to easily test against either version of the test vectors by modifying the values in
cfg/harness.toml
accordingly.