The tests rely on references which need to be generated upfront using reference binaries.
When the reference binaries are named `IVAS_cod_ref(.exe)` and `IVAS_dec_ref.(exe)`, pytest will find and use them.
When the reference binaries are named `IVAS_cod_ref(.exe)` and `IVAS_dec_ref(.exe)`, pytest will find and use them.
When the reference binaries are named differently, you need to specify them via the `--ref_encoder_path` and `--ref_decoder_path` options.
The tests will used the binaries `IVAS_cod(.exe)` and `IVAS_dec.(exe)` for testing. Please make sure that the binaries have been built before running the tests.
The tests will used the binaries `IVAS_cod(.exe)` and `IVAS_dec(.exe)` for testing. Please make sure that the binaries have been built before running the tests.
When different test binaries are to be used, they can be specified via the `--dut_encoder_path` and `--dut_decoder_path` options.
(DUT: Device Under Test)
```bash
# create references
# the following binaies need to be present:
# the following binaries need to be present:
# - IVAS_cod(.exe)
# - IVAS_dec.(exe)
# - IVAS_dec(.exe)
# - IVAS_cod_ref(.exe)
# - IVAS_dec_ref.(exe)
# - IVAS_dec_ref(.exe)
# pytest command lines to be executed from project root folder:
pytest tests -n auto --update_ref 1 -m create_ref
pytest tests -n auto --update_ref 1 -m create_ref_part2
@@ -105,3 +107,23 @@ When there a many test failures, you can use the `-x` (or `--exitfirst`) option
Commonly used options like `-n auto` can be added to addopts within the [pytest] section in `pytest.ini`. This saves some typing when calling `pytest`.
The `-v` (or `--verbose`) option is usually helpful to see what is going on. Therefore, `-v` is currently part of addopts in `pytest.ini`. If you don't like this verbosity, you can specify the `-q` (`--quiet`) option when running `pytest`.
## Custom options
`Note:`
The custom options are listed as part of the pytest help `pytest -h`.
```text
--update_ref=UPDATE_REF Indicate whether references shall be updated.
0: Only DUT processing, no reference generation, references need to be present.
1: Only reference generation (unconditionally), no DUT processing.
2: DUT processing, references are generated when not present (not supported by all tests).
--dut_encoder_path=DUT_ENCODER_PATH If specified, use given binary as DUT encoder.
--dut_decoder_path=DUT_DECODER_PATH If specified, use given binary as DUT decoder.
--ref_encoder_path=REF_ENCODER_PATH If specified, use given binary as REF encoder.
--ref_decoder_path=REF_DECODER_PATH If specified, use given binary as REF decoder.
--test_vector_path=TEST_VECTOR_PATH If specified, use given directory as base directory for test vector files.
--reference_path=REFERENCE_PATH If specified, use given directory as base directory for reference files.
--dut_base_path=DUT_BASE_PATH If specified, use given directory as base data directory for dut files.
--param_file=PARAM_FILE If specified, use given param file in test_param_file.