bitcoin-core / secp256k1

Optimized C library for EC operations on curve secp256k1
MIT License
2.05k stars 998 forks source link

Running a single test file #1568

Open Sjors opened 2 months ago

Sjors commented 2 months ago

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...

Sjors commented 2 months ago

Even with --disable-exhaustive-tests it's a bit slow when e.g. you're just trying to monkey-wrench test vectors.

real-or-random commented 2 months ago

./tests 4 or even ./tests 0 may help you.

Sjors commented 2 months ago

./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.

jonasnick commented 2 months ago

PR #1211 is an attempt to implement this.

hebasto commented 1 month ago

Maybe this is already possible...

Yes, it is possible when using CMake:

$ cmake -B build
$ cmake --build build
$ ctest --test-dir build --show-only 
Internal ctest changing into directory: /home/hebasto/git/secp256k1/secp256k1/build
Test project /home/hebasto/git/secp256k1/secp256k1/build
  Test #1: noverify_tests
  Test #2: tests
  Test #3: exhaustive_tests

Total Tests: 3
$ ctest --test-dir build --show-only -R ^tests
Internal ctest changing into directory: /home/hebasto/git/secp256k1/secp256k1/build
Test project /home/hebasto/git/secp256k1/secp256k1/build
  Test #2: tests

Total Tests: 1