Similar to src/test/test_bitcoin --run-test=something
I’d like to be able to run a single test file, because make check
takes a while.
Maybe this is already possible, in which it just needs a README change…
Similar to src/test/test_bitcoin --run-test=something
I’d like to be able to run a single test file, because make check
takes a while.
Maybe this is already possible, in which it just needs a README change…
--disable-exhaustive-tests
it’s a bit slow when e.g. you’re just trying to monkey-wrench test vectors.
./tests 4
or even ./tests 0
may help you.
./tests 0
fails with An iteration count of 0 or less is not allowed.
.
./tests 1
takes 14 seconds for me. Doable but not as nice as ~1 second.
Maybe this is already possible…
Yes, it is possible when using CMake:
0$ cmake -B build
1$ cmake --build build
2$ ctest --test-dir build --show-only
3Internal ctest changing into directory: /home/hebasto/git/secp256k1/secp256k1/build
4Test project /home/hebasto/git/secp256k1/secp256k1/build
5 Test [#1](/bitcoin-core-secp256k1/1/): noverify_tests
6 Test [#2](/bitcoin-core-secp256k1/2/): tests
7 Test [#3](/bitcoin-core-secp256k1/3/): exhaustive_tests
8
9Total Tests: 3
10$ ctest --test-dir build --show-only -R ^tests
11Internal ctest changing into directory: /home/hebasto/git/secp256k1/secp256k1/build
12Test project /home/hebasto/git/secp256k1/secp256k1/build
13 Test [#2](/bitcoin-core-secp256k1/2/): tests
14
15Total Tests: 1
Maybe this is already possible…
Yes, it is possible when using CMake:
What’s displayed there are the test binaries, not the individual test cases @hebasto. Each binary contains multiple test cases, and at present there’s no way to specify which one to run. #1734 introduces that capability, along with support for test execution parallelization (which in my view is quite useful, since it lets you run the full suite quite fast with just a few workers).
@Sjors, feel welcome to explore it. Self-quote from #1734:
You can rapidly try it using ./tests -j=<workers_num>
for parallel execution, or ./tests -t=<test_name>
to run a specific test (use ./tests -print_tests
to display all available tests). Or run ./tests -help
to see all available options.
Also, you can repeat the -t
arg (or -target
) to specify multiple tests at the same time.