tool_bench_sanity_check.py raw
1 #!/usr/bin/env python3
2 # Copyright (c) The Bitcoin Core developers
3 # Distributed under the MIT software license, see the accompanying
4 # file COPYING or https://opensource.org/license/mit/.
5 """Special script to run each bench sanity check
6 """
7 import shlex
8 import subprocess
9
10 from test_framework.test_framework import BitcoinTestFramework
11
12
13 class BenchSanityCheck(BitcoinTestFramework):
14 def set_test_params(self):
15 self.num_nodes = 0 # No node/datadir needed
16
17 def setup_network(self):
18 pass
19
20 def skip_test_if_missing_module(self):
21 self.skip_if_no_bitcoin_bench()
22
23 def add_options(self, parser):
24 parser.add_argument(
25 "--bench",
26 default=".*",
27 help="Regex to filter the bench to run (default=%(default)s)",
28 )
29
30 def run_test(self):
31 cmd = self.get_binaries().bench_argv() + [
32 f"-filter={self.options.bench}",
33 "-sanity-check",
34 ]
35 self.log.info(f"Starting: {shlex.join(cmd)}")
36 subprocess.run(cmd, check=True)
37 self.log.info("Success!")
38
39
40 if __name__ == "__main__":
41 BenchSanityCheck(__file__).main()
42