binaryen
binaryen copied to clipboard
wrong documentation when using `scripts/fuzz_opt.py --help`
Hi,
When running the command below, the output is mentioning a check.py file and it seems wrong
$ scripts/fuzz_opt.py --help
usage: fuzz_opt.py [-h] [--torture] [--no-torture] [--abort-on-first-failure] [--no-abort-on-first-failure]
[--binaryen-bin BINARYEN_BIN] [--binaryen-lib BINARYEN_LIB] [--binaryen-root BINARYEN_ROOT]
[--out-dir OUT_DIR] [--valgrind VALGRIND] [--valgrind-full-leak-check] [--spec-test SPEC_TESTS]
[--list-suites] [--filter TEST_NAME_FILTER] [--no-auto-initial-contents]
[TEST_SUITE ...]
usage: 'python check.py [options]' Runs the Binaryen test suite.
positional arguments:
TEST_SUITE Names specific test suites to run. Use --list-suites to see a list of all test suites
options:
-h, --help show this help message and exit
--torture Chooses whether to run the torture testcases. Default: true.
--no-torture Disables running the torture testcases.
--abort-on-first-failure
Specifies whether to halt test suite execution on first test error. Default: true.
--no-abort-on-first-failure
If set, the whole test suite will run to completion independent of earlier errors.
--binaryen-bin BINARYEN_BIN
Specifies the path to the Binaryen executables in the CMake build directory. Default: bin/ of current
directory (i.e. assume an in-tree build). If not specified, the environment variable BINARYEN_ROOT=
can also be used to adjust this.
--binaryen-lib BINARYEN_LIB
Specifies a path to where the built Binaryen shared library resides at. Default: ./lib relative to
bin specified above.
--binaryen-root BINARYEN_ROOT
Specifies a path to the root of the Binaryen repository tree. Default: the directory where this file
check.py resides.
--out-dir OUT_DIR Specifies a path to the output directory for temp files, which is also where the test runner changes
directory into. Default:. out/test under the binaryen root.
--valgrind VALGRIND Specifies a path to Valgrind tool, which will be used to validate execution if specified. (Pass
--valgrind=valgrind to search in PATH)
--valgrind-full-leak-check
If specified, all unfreed (but still referenced) pointers at the end of execution are considered
memory leaks. Default: disabled.
--spec-test SPEC_TESTS
Names specific spec tests to run.
--list-suites List the test suites that can be run.
--filter TEST_NAME_FILTER
Specifies a filter. Only tests whose paths contains this substring will be run
--no-auto-initial-contents
Select important initial contents automaticaly in fuzzer. Default: disabled.
Yes, sorry about that, it inherits from the suite so it prints the help there. To fix this we'd need to refactor scripts/test/shared.py which atm parses arguments at the top level, then uses them - we'd need to make the tools (check.py, fuzz_opt.py) parse arguments themselves, inverting the order.
The only flags relevant for fuzz_opt.py are, I believe, --binaryen-bin, --binaryen-lib, --binaryen-root, --out-dir