Page MenuHomePhabricator

[cmake] Always run native build standalone
ClosedPublic

Authored by deadalnix on Jan 17 2020, 15:39.

Details

Summary

This ensure 2 goals:

  • The cross compilation and regular build take the same codepath, which ensure it is more used and therefore will stay robust.
  • The native executables can have different build options that generated ones.
Test Plan
  • Do a native compilation using cmake
  • Cross compile for ARM

Both are green.

Diff Detail

Repository
rABC Bitcoin ABC
Branch
alwaysnativebuild
Lint
Lint OK
Unit
No Unit Test Coverage
Build Status
Buildable 9028
Build 16018: Default Diff Build & Tests
Build 16017: arc lint + arc unit

Event Timeline

This revision is now accepted and ready to land.Jan 17 2020, 15:54

Snippet of first build failure:

[16:04:42] :	 [Step 1/1]  [0m [0;34mrpc_net.py                              | ✓ Passed  | 0 s
[16:04:42] :	 [Step 1/1]  [0m [0;34mrpc_preciousblock.py                    | ✓ Passed  | 1 s
[16:04:42] :	 [Step 1/1]  [0m [0;34mrpc_psbt.py                             | ✓ Passed  | 12 s
[16:04:42] :	 [Step 1/1]  [0m [0;34mrpc_rawtransaction.py                   | ✓ Passed  | 18 s
[16:04:42] :	 [Step 1/1]  [0m [0;34mrpc_scantxoutset.py                     | ✓ Passed  | 4 s
[16:04:42] :	 [Step 1/1]  [0m [0;34mrpc_signmessage.py                      | ✓ Passed  | 0 s
[16:04:42] :	 [Step 1/1]  [0m [0;34mrpc_signrawtransaction.py               | ✓ Passed  | 0 s
[16:04:42] :	 [Step 1/1]  [0m [0;34mrpc_txoutproof.py                       | ✓ Passed  | 2 s
[16:04:42] :	 [Step 1/1]  [0m [0;34mrpc_uptime.py                           | ✓ Passed  | 0 s
[16:04:42] :	 [Step 1/1]  [0m [0;34mrpc_users.py                            | ✓ Passed  | 2 s
[16:04:42] :	 [Step 1/1]  [0m [0;34mrpc_zmq.py                              | ✓ Passed  | 1 s
[16:04:42] :	 [Step 1/1]  [0m [0;34mwallet_abandonconflict.py               | ✓ Passed  | 8 s
[16:04:42] :	 [Step 1/1]  [0m [0;34mwallet_basic.py                         | ✓ Passed  | 41 s
[16:04:42] :	 [Step 1/1]  [0m [0;34mwallet_createwallet.py                  | ✓ Passed  | 1 s
[16:04:42] :	 [Step 1/1]  [0m [0;34mwallet_createwallet.py --usecli         | ✓ Passed  | 2 s
[16:04:42] :	 [Step 1/1]  [0m [0;34mwallet_disable.py                       | ✓ Passed  | 0 s
[16:04:42] :	 [Step 1/1]  [0m [0;34mwallet_dump.py                          | ✓ Passed  | 3 s
[16:04:42] :	 [Step 1/1]  [0m [0;34mwallet_encryption.py                    | ✓ Passed  | 4 s
[16:04:42] :	 [Step 1/1]  [0m [0;34mwallet_groups.py                        | ✓ Passed  | 11 s
[16:04:42] :	 [Step 1/1]  [0m [0;34mwallet_hd.py                            | ✓ Passed  | 4 s
[16:04:42] :	 [Step 1/1]  [0m [0;34mwallet_import_rescan.py                 | ✓ Passed  | 4 s
[16:04:42] :	 [Step 1/1]  [0m [0;34mwallet_importmulti.py                   | ✓ Passed  | 2 s
[16:04:42] :	 [Step 1/1]  [0m [0;34mwallet_importprunedfunds.py             | ✓ Passed  | 1 s
[16:04:42] :	 [Step 1/1]  [0m [0;34mwallet_keypool.py                       | ✓ Passed  | 3 s
[16:04:42] :	 [Step 1/1]  [0m [0;34mwallet_keypool_topup.py                 | ✓ Passed  | 3 s
[16:04:42] :	 [Step 1/1]  [0m [0;34mwallet_labels.py                        | ✓ Passed  | 3 s
[16:04:42] :	 [Step 1/1]  [0m [0;34mwallet_listreceivedby.py                | ✓ Passed  | 17 s
[16:04:42] :	 [Step 1/1]  [0m [0;34mwallet_listsinceblock.py                | ✓ Passed  | 2 s
[16:04:42] :	 [Step 1/1]  [0m [0;34mwallet_listtransactions.py              | ✓ Passed  | 9 s
[16:04:42] :	 [Step 1/1]  [0m [0;34mwallet_multiwallet.py                   | ✓ Passed  | 8 s
[16:04:42] :	 [Step 1/1]  [0m [0;34mwallet_multiwallet.py --usecli          | ✓ Passed  | 9 s
[16:04:42] :	 [Step 1/1]  [0m [0;34mwallet_resendwallettransactions.py      | ✓ Passed  | 1 s
[16:04:42] :	 [Step 1/1]  [0m [0;34mwallet_txn_clone.py                     | ✓ Passed  | 2 s
[16:04:42] :	 [Step 1/1]  [0m [0;34mwallet_txn_clone.py --mineblock         | ✓ Passed  | 2 s
[16:04:42] :	 [Step 1/1]  [0m [0;34mwallet_txn_doublespend.py               | ✓ Passed  | 2 s
[16:04:42] :	 [Step 1/1]  [0m [0;34mwallet_txn_doublespend.py --mineblock   | ✓ Passed  | 2 s
[16:04:42] :	 [Step 1/1]  [0m [0;34mwallet_zapwallettxes.py                 | ✓ Passed  | 2 s
[16:04:42] :	 [Step 1/1]  [0m [1m
[16:04:42] :	 [Step 1/1] ALL                                     | ✓ Passed  | 502 s (accumulated) 
[16:04:42] :	 [Step 1/1]  [0mRuntime: 279 s
[16:04:42] :	 [Step 1/1] 
[16:04:42]W:	 [Step 1/1] ++ print_sanitizers_log
[16:04:42] :	 [Step 1/1] [299/446] Running leveldb test suite
[16:04:42]W:	 [Step 1/1] ++ for log in "${SAN_LOG_DIR}"/*.log.*
[16:04:42] :	 [Step 1/1] PASSED: leveldb test suite
[16:04:42] :	 [Step 1/1] [364/446] bitcoin: testing avalanche_tests
[16:04:42]W:	 [Step 1/1] ++ echo '*** Output of /tmp/sanitizer_logs/*.log.* ***'
[16:04:42] :	 [Step 1/1] FAILED: src/test/CMakeFiles/check-bitcoin-avalanche_tests 
[16:04:42]W:	 [Step 1/1] ++ cat '/tmp/sanitizer_logs/*.log.*'
[16:04:42] :	 [Step 1/1] cd /home/teamcity/buildAgent/work/c4a5708f2bae7929/build/src/test && /home/teamcity/buildAgent/work/c4a5708f2bae7929/build/src/test/run-avalanche_tests.sh
[16:04:42] :	 [Step 1/1] Running 10 test cases...
[16:04:42] :	 [Step 1/1] ../src/test/avalanche_tests.cpp(900): error: in "avalanche_tests/event_loop": check AvalancheTest::getRound(p) > responseRound has failed
[16:04:42] :	 [Step 1/1] 
[16:04:42] :	 [Step 1/1] *** 1 failure is detected in the test module "Bitcoin Test Suite"
[16:04:42] :	 [Step 1/1] [368/446] bitcoin-upgrade-activated: testing radix_tests
[16:04:42] :	 [Step 1/1] ninja: build stopped: subcommand failed.
[16:04:42] :	 [Step 1/1] *** Output of /tmp/sanitizer_logs/*.log.* ***
[16:04:42]W:	 [Step 1/1] cat: '/tmp/sanitizer_logs/*.log.*': No such file or directory
[16:04:42]W:	 [Step 1/1] Process exited with code 1
[16:04:43]E:	 [Step 1/1] Process exited with code 1 (Step: Command Line)

Snippet of first build failure:

[16:07:42] :	 [Step 1/1]  [0m [0;34mrpc_txoutproof.py                       | ✓ Passed  | 2 s
[16:07:42] :	 [Step 1/1]  [0m [0;34mrpc_uptime.py                           | ✓ Passed  | 0 s
[16:07:42] :	 [Step 1/1]  [0m [0;34mrpc_users.py                            | ✓ Passed  | 2 s
[16:07:42] :	 [Step 1/1]  [0m [0;34mrpc_zmq.py                              | ✓ Passed  | 1 s
[16:07:42] :	 [Step 1/1]  [0m [0;34mwallet_abandonconflict.py               | ✓ Passed  | 4 s
[16:07:42] :	 [Step 1/1]  [0m [0;34mwallet_basic.py                         | ✓ Passed  | 39 s
[16:07:42] :	 [Step 1/1]  [0m [0;34mwallet_createwallet.py                  | ✓ Passed  | 1 s
[16:07:42] :	 [Step 1/1]  [0m [0;34mwallet_createwallet.py --usecli         | ✓ Passed  | 2 s
[16:07:42] :	 [Step 1/1]  [0m [0;34mwallet_disable.py                       | ✓ Passed  | 0 s
[16:07:42] :	 [Step 1/1]  [0m [0;34mwallet_dump.py                          | ✓ Passed  | 3 s
[16:07:42] :	 [Step 1/1]  [0m [0;34mwallet_encryption.py                    | ✓ Passed  | 4 s
[16:07:42] :	 [Step 1/1]  [0m [0;34mwallet_groups.py                        | ✓ Passed  | 11 s
[16:07:42] :	 [Step 1/1]  [0m [0;34mwallet_hd.py                            | ✓ Passed  | 5 s
[16:07:42] :	 [Step 1/1]  [0m [0;34mwallet_import_rescan.py                 | ✓ Passed  | 5 s
[16:07:42] :	 [Step 1/1]  [0m [0;34mwallet_importmulti.py                   | ✓ Passed  | 2 s
[16:07:42] :	 [Step 1/1]  [0m [0;34mwallet_importprunedfunds.py             | ✓ Passed  | 0 s
[16:07:42] :	 [Step 1/1]  [0m [0;34mwallet_keypool.py                       | ✓ Passed  | 3 s
[16:07:42] :	 [Step 1/1]  [0m [0;34mwallet_keypool_topup.py                 | ✓ Passed  | 3 s
[16:07:42] :	 [Step 1/1]  [0m [0;34mwallet_labels.py                        | ✓ Passed  | 4 s
[16:07:42] :	 [Step 1/1]  [0m [0;34mwallet_listreceivedby.py                | ✓ Passed  | 12 s
[16:07:42] :	 [Step 1/1]  [0m [0;34mwallet_listsinceblock.py                | ✓ Passed  | 2 s
[16:07:42] :	 [Step 1/1]  [0m [0;34mwallet_listtransactions.py              | ✓ Passed  | 10 s
[16:07:42] :	 [Step 1/1]  [0m [0;34mwallet_multiwallet.py                   | ✓ Passed  | 8 s
[16:07:42] :	 [Step 1/1]  [0m [0;34mwallet_multiwallet.py --usecli          | ✓ Passed  | 8 s
[16:07:42] :	 [Step 1/1]  [0m [0;34mwallet_resendwallettransactions.py      | ✓ Passed  | 1 s
[16:07:42] :	 [Step 1/1]  [0m [0;34mwallet_txn_clone.py                     | ✓ Passed  | 2 s
[16:07:42] :	 [Step 1/1]  [0m [0;34mwallet_txn_clone.py --mineblock         | ✓ Passed  | 2 s
[16:07:42] :	 [Step 1/1]  [0m [0;34mwallet_txn_doublespend.py               | ✓ Passed  | 2 s
[16:07:42] :	 [Step 1/1]  [0m [0;34mwallet_txn_doublespend.py --mineblock   | ✓ Passed  | 2 s
[16:07:42] :	 [Step 1/1]  [0m [0;34mwallet_zapwallettxes.py                 | ✓ Passed  | 2 s
[16:07:42] :	 [Step 1/1]  [0m [1m
[16:07:42] :	 [Step 1/1] ALL                                     | ✓ Passed  | 482 s (accumulated) 
[16:07:42] :	 [Step 1/1]  [0mRuntime: 269 s
[16:07:42] :	 [Step 1/1] 
[16:07:42] :	 [Step 1/1] [226/446] cd /home/teamcity/buildAgent/work/c4a5708f2bae7929/contrib/devtools/chainparams && /usr/bin/python3 ./test_make_chainparams.py
[16:07:42] :	 [Step 1/1] .....
[16:07:42] :	 [Step 1/1] ----------------------------------------------------------------------
[16:07:42] :	 [Step 1/1] Ran 5 tests in 0.002s
[16:07:42] :	 [Step 1/1] 
[16:07:42] :	 [Step 1/1] OK
[16:07:42] :	 [Step 1/1] [248/446] bitcoin: testing util_tests
[16:07:42] :	 [Step 1/1] FAILED: src/test/CMakeFiles/check-bitcoin-util_tests 
[16:07:42] :	 [Step 1/1] cd /home/teamcity/buildAgent/work/c4a5708f2bae7929/build/src/test && /home/teamcity/buildAgent/work/c4a5708f2bae7929/build/src/test/run-util_tests.sh
[16:07:42] :	 [Step 1/1] Running 37 test cases...
[16:07:42] :	 [Step 1/1] Running 37 test cases...
[16:07:42] :	 [Step 1/1] 
[16:07:42] :	 [Step 1/1] *** No errors detected
[16:07:42] :	 [Step 1/1] error: in "util_tests/test_LockDirectory": check LockDirectory(dirname, lockname, true) == true has failed [false != true]
[16:07:42] :	 [Step 1/1] 
[16:07:42] :	 [Step 1/1] *** 1 failure is detected in the test module "Bitcoin Test Suite"
[16:07:42] :	 [Step 1/1] [252/446] Building CXX object src/qt/test/CMakeFiles/test_bitcoin-qt.dir/addressbooktests.cpp.o
[16:07:42]W:	 [Step 1/1] ++ print_sanitizers_log
[16:07:42] :	 [Step 1/1] ninja: build stopped: subcommand failed.
[16:07:42] :	 [Step 1/1] *** Output of /tmp/sanitizer_logs/*.log.* ***
[16:07:42]W:	 [Step 1/1] ++ for log in "${SAN_LOG_DIR}"/*.log.*
[16:07:42]W:	 [Step 1/1] ++ echo '*** Output of /tmp/sanitizer_logs/*.log.* ***'
[16:07:42]W:	 [Step 1/1] ++ cat '/tmp/sanitizer_logs/*.log.*'
[16:07:42]W:	 [Step 1/1] cat: '/tmp/sanitizer_logs/*.log.*': No such file or directory
[16:07:42]W:	 [Step 1/1] Process exited with code 1
[16:07:42]E:	 [Step 1/1] Process exited with code 1 (Step: Command Line)