binaryen icon indicating copy to clipboard operation
binaryen copied to clipboard

wrong documentation when using `scripts/fuzz_opt.py --help`

Open redianthus opened this issue 9 months ago • 1 comments

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.

redianthus avatar Mar 30 '25 12:03 redianthus

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

kripken avatar Apr 01 '25 16:04 kripken