Page MenuHomePhabricator

[build-configurations] Add build-without-cli
ClosedPublic

Authored by jasonbcox on Apr 20 2020, 18:42.

Details

Summary

This will make sure we test with BUILD_BITCOIN_CLI=OFF in CI.

Depends on D5781 and D5788 and D5789 for bug fixes

Test Plan

Run build-without-cli on this patch via Teamcity

Diff Detail

Repository
rABC Bitcoin ABC
Lint
Lint Not Applicable
Unit
Tests Not Applicable

Event Timeline

Snippet of first build failure:

[18:50:02] :	 [Step 1/2] [440/441] Linking CXX executable src/bench/bitcoin-bench
[18:50:04] :	 [Step 1/2] [441/441] Linking CXX executable src/qt/bitcoin-qt
[18:50:04]W:	 [Step 1/2] + ninja check-functional
[18:50:04] :	 [Step 1/2] [0/1] Run the functional tests
[18:50:04]W:	 [Step 1/2] Starting Bitcoin ABC functional tests
[18:50:04]W:	 [Step 1/2] Temporary test directory at /work/build/test/tmp/bitcoin_test_runner_20200420_185004
[18:50:05]W:	 [Step 1/2] Exception ignored in: <function TestNode.__del__ at 0x7f70197bdae8>
[18:50:05]W:	 [Step 1/2] Traceback (most recent call last):
[18:50:05]W:	 [Step 1/2]   File "/work/test/functional/test_framework/test_node.py", line 151, in __del__
[18:50:05]W:	 [Step 1/2]     if self.process and self.cleanup_on_exit:
[18:50:05]W:	 [Step 1/2]   File "/work/test/functional/test_framework/test_node.py", line 160, in __getattr__
[18:50:05]W:	 [Step 1/2]     if self.use_cli:
[18:50:05]W:	 [Step 1/2]   File "/work/test/functional/test_framework/test_node.py", line 160, in __getattr__
[18:50:05]W:	 [Step 1/2]     if self.use_cli:
[18:50:05]W:	 [Step 1/2]   File "/work/test/functional/test_framework/test_node.py", line 160, in __getattr__
[18:50:05]W:	 [Step 1/2]     if self.use_cli:
[18:50:05]W:	 [Step 1/2]   [Previous line repeated 495 more times]
[18:50:05]W:	 [Step 1/2] RecursionError: maximum recursion depth exceeded
[18:50:05] :	 [Step 1/2] 2020-04-20T18:50:04.951000Z TestFramework (INFO): Initializing test directory /work/build/test/tmp/bitcoin_test_runner_20200420_185004/cache
[18:50:05] :	 [Step 1/2] 2020-04-20T18:50:04.951000Z TestFramework (ERROR): Unexpected exception caught during testing
[18:50:05] :	 [Step 1/2] Traceback (most recent call last):
[18:50:05] :	 [Step 1/2]   File "/work/test/functional/test_framework/test_framework.py", line 161, in main
[18:50:05] :	 [Step 1/2]     self.setup_chain()
[18:50:05] :	 [Step 1/2]   File "/work/test/functional/test_framework/test_framework.py", line 240, in setup_chain
[18:50:05] :	 [Step 1/2]     self._initialize_chain()
[18:50:05] :	 [Step 1/2]   File "/work/test/functional/test_framework/test_framework.py", line 469, in _initialize_chain
[18:50:05] :	 [Step 1/2]     coverage_dir=None
[18:50:05] :	 [Step 1/2]   File "/work/test/functional/test_framework/test_node.py", line 98, in __init__
[18:50:05] :	 [Step 1/2]     "Binary '{}' could not be found.\nTry setting it manually:\n\tBITCOINCLI=<path/to/bitcoin-cli> {}".format(bitcoin_cli, sys.argv[0]))
[18:50:05] :	 [Step 1/2] FileNotFoundError: Binary '/work/build/src/bitcoin-cli' could not be found.
[18:50:05] :	 [Step 1/2] Try setting it manually:
[18:50:05] :	 [Step 1/2] 	BITCOINCLI=<path/to/bitcoin-cli> /work/test/functional/create_cache.py
[18:50:05]W:	 [Step 1/2] Traceback (most recent call last):
[18:50:05] :	 [Step 1/2] 2020-04-20T18:50:05.003000Z TestFramework (INFO): Stopping nodes
[18:50:05]W:	 [Step 1/2]   File "./functional/test_runner.py", line 840, in <module>
[18:50:05] :	 [Step 1/2] 2020-04-20T18:50:05.003000Z TestFramework (WARNING): Not cleaning up dir /work/build/test/tmp/bitcoin_test_runner_20200420_185004/cache
[18:50:05]W:	 [Step 1/2]     main()
[18:50:05] :	 [Step 1/2] 2020-04-20T18:50:05.003000Z TestFramework (ERROR): Test failed. Test logging available at /work/build/test/tmp/bitcoin_test_runner_20200420_185004/cache/test_framework.log
[18:50:05]W:	 [Step 1/2]   File "./functional/test_runner.py", line 328, in main
[18:50:05]W:	 [Step 1/2]     failfast=args.failfast
[18:50:05] :	 [Step 1/2] 2020-04-20T18:50:05.003000Z TestFramework (ERROR): Hint: Call /work/test/functional/combine_logs.py '/work/build/test/tmp/bitcoin_test_runner_20200420_185004/cache' to consolidate all logs
[18:50:05]W:	 [Step 1/2]   File "./functional/test_runner.py", line 365, in run_tests
[18:50:05]W:	 [Step 1/2]     tests_dir, 'create_cache.py')] + flags + [os.path.join("--tmpdir={}", "cache") .format(tmpdir)])
[18:50:05]W:	 [Step 1/2]   File "/usr/lib/python3.7/subprocess.py", line 395, in check_output
[18:50:05]W:	 [Step 1/2]     **kwargs).stdout
[18:50:05]W:	 [Step 1/2]   File "/usr/lib/python3.7/subprocess.py", line 487, in run
[18:50:05]W:	 [Step 1/2]     output=stdout, stderr=stderr)
[18:50:05]W:	 [Step 1/2] subprocess.CalledProcessError: Command '['/usr/bin/python3.7', '/work/test/functional/create_cache.py', '--cachedir=/work/build/test/cache', '--configfile=/work/build/test/functional/../config.ini', '--tmpdir=/work/build/test/tmp/bitcoin_test_runner_20200420_185004/cache']' returned non-zero exit status 1.
[18:50:05] :	 [Step 1/2] FAILED: test/CMakeFiles/check-functional 
[18:50:05] :	 [Step 1/2] cd /work/build/test && /usr/bin/cmake -E env /usr/bin/python3.7 ./functional/test_runner.py
[18:50:05] :	 [Step 1/2] ninja: build stopped: subcommand failed.
[18:50:05] :	 [Step 1/2] *** Output of /tmp/sanitizer_logs/*.log.* ***
[18:50:05]W:	 [Step 1/2] ++ print_sanitizers_log
[18:50:05]W:	 [Step 1/2] ++ for log in "${SAN_LOG_DIR}"/*.log.*
[18:50:05]W:	 [Step 1/2] ++ echo '*** Output of /tmp/sanitizer_logs/*.log.* ***'
[18:50:05]W:	 [Step 1/2] ++ cat '/tmp/sanitizer_logs/*.log.*'
[18:50:05]W:	 [Step 1/2] cat: '/tmp/sanitizer_logs/*.log.*': No such file or directory
[18:50:06]W:	 [Step 1/2] cp: cannot stat '/work/ibd/debug.log': No such file or directory
[18:50:10]W:	 [Step 1/2] Process exited with code 1
[18:50:10]E:	 [Step 1/2] Process exited with code 1 (Step: Command Line)

Snippet of first build failure:

2020-04-20T23:08:37.837000Z TestFramework (INFO): Initializing test directory /work/build/test/tmp/bitcoin_test_runner_20200420_230549/wallet_txn_clone_139
2020-04-20T23:08:39.901000Z TestFramework (INFO): Stopping nodes
2020-04-20T23:08:40.205000Z TestFramework (INFO): Cleaning up /work/build/test/tmp/bitcoin_test_runner_20200420_230549/wallet_txn_clone_139 on exit
2020-04-20T23:08:40.205000Z TestFramework (INFO): Tests successful
[23:09:05]i:		 [Bitcoin ABC functional tests] wallet_txn_doublespend.py
[23:09:05]i:			 [wallet_txn_doublespend.py] [Test Output]
2020-04-20T23:08:38.404000Z TestFramework (INFO): Initializing test directory /work/build/test/tmp/bitcoin_test_runner_20200420_230549/wallet_txn_doublespend_140
2020-04-20T23:08:40.507000Z TestFramework (INFO): Stopping nodes
2020-04-20T23:08:40.711000Z TestFramework (INFO): Cleaning up /work/build/test/tmp/bitcoin_test_runner_20200420_230549/wallet_txn_doublespend_140 on exit
2020-04-20T23:08:40.711000Z TestFramework (INFO): Tests successful
[23:09:05]i:		 [Bitcoin ABC functional tests] wallet_txn_doublespend.py --mineblock
[23:09:05]i:			 [wallet_txn_doublespend.py --mineblock] [Test Output]
2020-04-20T23:08:39.602000Z TestFramework (INFO): Initializing test directory /work/build/test/tmp/bitcoin_test_runner_20200420_230549/wallet_txn_doublespend_141
2020-04-20T23:08:40.721000Z TestFramework (INFO): Stopping nodes
2020-04-20T23:08:40.925000Z TestFramework (INFO): Cleaning up /work/build/test/tmp/bitcoin_test_runner_20200420_230549/wallet_txn_doublespend_141 on exit
2020-04-20T23:08:40.925000Z TestFramework (INFO): Tests successful
[23:09:05]i:		 [Bitcoin ABC functional tests] wallet_zapwallettxes.py
[23:09:05]i:			 [wallet_zapwallettxes.py] [Test Output]
2020-04-20T23:08:40.292000Z TestFramework (INFO): Initializing test directory /work/build/test/tmp/bitcoin_test_runner_20200420_230549/wallet_zapwallettxes_142
2020-04-20T23:08:40.661000Z TestFramework (INFO): Mining blocks...
2020-04-20T23:08:42.012000Z TestFramework (INFO): Stopping nodes
2020-04-20T23:08:42.315000Z TestFramework (INFO): Cleaning up /work/build/test/tmp/bitcoin_test_runner_20200420_230549/wallet_zapwallettxes_142 on exit
2020-04-20T23:08:42.315000Z TestFramework (INFO): Tests successful
[23:09:05]i:		 [Bitcoin ABC functional tests] wallet_createwallet.py --usecli
[23:09:05]i:			 [wallet_createwallet.py --usecli] Test ignored: wallet_createwallet.py --usecli
[23:09:05]i:		 [Bitcoin ABC functional tests] [Test Output]
2020-04-20T23:08:31.500000Z TestFramework (WARNING): Test Skipped: bitcoin-cli has not been compiled.
2020-04-20T23:08:31.551000Z TestFramework (INFO): Stopping nodes
2020-04-20T23:08:31.551000Z TestFramework (INFO): Cleaning up /work/build/test/tmp/bitcoin_test_runner_20200420_230549/wallet_createwallet_132 on exit
2020-04-20T23:08:31.551000Z TestFramework (INFO): Test skipped
[23:09:05]i:		 [Bitcoin ABC functional tests] wallet_multiwallet.py --usecli
[23:09:05]i:			 [wallet_multiwallet.py --usecli] Test ignored: wallet_multiwallet.py --usecli
[23:09:05]i:		 [Bitcoin ABC functional tests] [Test Output]
2020-04-20T23:07:14.149000Z TestFramework (WARNING): Test Skipped: bitcoin-cli has not been compiled.
2020-04-20T23:07:14.199000Z TestFramework (INFO): Stopping nodes
2020-04-20T23:07:14.199000Z TestFramework (INFO): Cleaning up /work/build/test/tmp/bitcoin_test_runner_20200420_230549/wallet_multiwallet_83 on exit
2020-04-20T23:07:14.199000Z TestFramework (INFO): Test skipped
[23:09:05]i:		 [Bitcoin ABC functional tests] interface_bitcoin_cli.py
[23:09:05]i:			 [interface_bitcoin_cli.py] [Test Output]
2020-04-20T23:08:49.982000Z TestFramework (INFO): Initializing test directory /work/build/test/tmp/bitcoin_test_runner_20200420_230549/interface_bitcoin_cli_161
2020-04-20T23:08:50.241000Z TestFramework (ERROR): Unexpected exception caught during testing
Traceback (most recent call last):
  File "/work/test/functional/test_framework/test_framework.py", line 164, in main
    self.run_test()
  File "/work/test/functional/interface_bitcoin_cli.py", line 26, in run_test
    cli_response = self.nodes[0].cli("-version").send_cli()
  File "/work/test/functional/test_framework/test_node.py", line 491, in send_cli
    stdout=subprocess.PIPE, stderr=subprocess.PIPE, universal_newlines=True)
  File "/usr/lib/python3.7/subprocess.py", line 775, in __init__
    restore_signals, start_new_session)
  File "/usr/lib/python3.7/subprocess.py", line 1522, in _execute_child
    raise child_exception_type(errno_num, err_msg, err_filename)
FileNotFoundError: [Errno 2] No such file or directory: '/work/build/src/bitcoin-cli': '/work/build/src/bitcoin-cli'
2020-04-20T23:08:50.293000Z TestFramework (INFO): Stopping nodes
2020-04-20T23:08:50.595000Z TestFramework (WARNING): Not cleaning up dir /work/build/test/tmp/bitcoin_test_runner_20200420_230549/interface_bitcoin_cli_161
2020-04-20T23:08:50.595000Z TestFramework (ERROR): Test failed. Test logging available at /work/build/test/tmp/bitcoin_test_runner_20200420_230549/interface_bitcoin_cli_161/test_framework.log
2020-04-20T23:08:50.595000Z TestFramework (ERROR): Hint: Call /work/test/functional/combine_logs.py '/work/build/test/tmp/bitcoin_test_runner_20200420_230549/interface_bitcoin_cli_161' to consolidate all logs
[23:09:06]E:	 [Step 1/2] Failed tests detected
[23:09:08]W:	 [Step 1/2] Process exited with code 1
[23:09:08]E:	 [Step 1/2] Process exited with code 1 (Step: Command Line)

Each failure log is accessible here:
Bitcoin ABC functional tests: interface_bitcoin_cli.py

This revision is now accepted and ready to land.Apr 22 2020, 20:15