Page MenuHomePhabricator

[backport#15457] Check std::system for -[alert|block|wallet]notify
ClosedPublic

Authored by majcosta on Fri, Jul 24, 14:52.

Details

Summary

f874e14cd3c84cd412bd3fb42b3ee1706ca6a267 [build]: check std::system for -[alert|block|wallet]notify (Sjors Provoost)
cc3ad56ff2bc2583fe68c4a9e0b41072a47c0b07 [build] MSVC: set HAVE_SYSTEM for desktop apps (Sjors Provoost)
c1c91bb78d7267f01ee3a3c156c218b46a92cd39 [build] detect std::system or ::wsystem (Sjors Provoost)

Pull request description:

Platforms such as iOs and Universal Windows Platform do not support launching a process through system().

https://github.com/bitcoin/bitcoin/pull/15457/files


Backport of Core PR15457

Test Plan
ninja check

don't have a windows machine atm to test this on

Diff Detail

Repository
rABC Bitcoin ABC
Lint
Automatic diff as part of commit; lint not applicable.
Unit
Automatic diff as part of commit; unit tests not applicable.

Event Timeline

majcosta created this revision.Fri, Jul 24, 14:52
Herald added a reviewer: Restricted Project. · View Herald TranscriptFri, Jul 24, 14:52
majcosta requested review of this revision.Fri, Jul 24, 14:52

Snippet of first build failure:

interface_rest.py                       | ○ Skipped | 0 s
mempool_accept.py                       | ○ Skipped | 0 s
mempool_limit.py                        | ○ Skipped | 0 s
mempool_packages.py                     | ○ Skipped | 0 s
mempool_persist.py                      | ○ Skipped | 0 s
mempool_reorg.py                        | ○ Skipped | 0 s
mempool_resurrect.py                    | ○ Skipped | 0 s
mempool_spend_coinbase.py               | ○ Skipped | 0 s
mining_prioritisetransaction.py         | ○ Skipped | 0 s
p2p_compactblocks.py                    | ○ Skipped | 0 s
p2p_feefilter.py                        | ○ Skipped | 0 s
p2p_leak_tx.py                          | ○ Skipped | 0 s
rpc_createmultisig.py                   | ○ Skipped | 0 s
rpc_estimatefee.py                      | ○ Skipped | 0 s
rpc_psbt.py                             | ○ Skipped | 0 s
rpc_scantxoutset.py                     | ○ Skipped | 0 s
rpc_signmessage.py                      | ○ Skipped | 0 s
rpc_signrawtransaction.py               | ○ Skipped | 0 s
rpc_txoutproof.py                       | ○ Skipped | 0 s
tool_wallet.py                          | ○ Skipped | 0 s
wallet_abandonconflict.py               | ○ Skipped | 0 s
wallet_address_types.py                 | ○ Skipped | 0 s
wallet_avoidreuse.py                    | ○ Skipped | 0 s
wallet_backup.py                        | ○ Skipped | 0 s
wallet_balance.py                       | ○ Skipped | 0 s
wallet_basic.py                         | ○ Skipped | 0 s
wallet_create_tx.py                     | ○ Skipped | 0 s
wallet_createwallet.py                  | ○ Skipped | 0 s
wallet_createwallet.py --usecli         | ○ Skipped | 0 s
wallet_dump.py                          | ○ Skipped | 0 s
wallet_encryption.py                    | ○ Skipped | 0 s
wallet_groups.py                        | ○ Skipped | 0 s
wallet_hd.py                            | ○ Skipped | 0 s
wallet_import_rescan.py                 | ○ Skipped | 0 s
wallet_import_with_label.py             | ○ Skipped | 0 s
wallet_importmulti.py                   | ○ Skipped | 0 s
wallet_importprunedfunds.py             | ○ Skipped | 0 s
wallet_keypool.py                       | ○ Skipped | 0 s
wallet_keypool_topup.py                 | ○ Skipped | 0 s
wallet_labels.py                        | ○ Skipped | 0 s
wallet_listreceivedby.py                | ○ Skipped | 0 s
wallet_listsinceblock.py                | ○ Skipped | 0 s
wallet_listtransactions.py              | ○ Skipped | 0 s
wallet_multiwallet.py                   | ○ Skipped | 0 s
wallet_multiwallet.py --usecli          | ○ Skipped | 0 s
wallet_resendwallettransactions.py      | ○ Skipped | 0 s
wallet_txn_clone.py                     | ○ Skipped | 0 s
wallet_txn_clone.py --mineblock         | ○ Skipped | 0 s
wallet_txn_doublespend.py               | ○ Skipped | 0 s
wallet_txn_doublespend.py --mineblock   | ○ Skipped | 0 s
wallet_zapwallettxes.py                 | ○ Skipped | 0 s
feature_notifications.py                | ✖ Failed  | 0 s

ALL                                     | ✖ Failed  | 284 s (accumulated) 
Runtime: 63 s

FAILED: test/CMakeFiles/check-functional 
cd /work/abc-ci-builds/build-without-wallet/test && /usr/bin/cmake -E env /usr/bin/python3.7 ./functional/test_runner.py
ninja: build stopped: subcommand failed.
Build build-without-wallet failed with exit code 1

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

majcosta planned changes to this revision.Fri, Jul 24, 15:09

Snippet of first build failure:

rpc_getblockfilter.py                   | ✓ Passed  | 1 s
rpc_getblockstats.py                    | ✓ Passed  | 1 s
rpc_getchaintips.py                     | ✓ Passed  | 1 s
rpc_help.py                             | ✓ Passed  | 1 s
rpc_invalidateblock.py                  | ✓ Passed  | 6 s
rpc_misc.py                             | ✓ Passed  | 1 s
rpc_named_arguments.py                  | ✓ Passed  | 1 s
rpc_net.py                              | ✓ Passed  | 1 s
rpc_preciousblock.py                    | ✓ Passed  | 1 s
rpc_psbt.py                             | ✓ Passed  | 31 s
rpc_scantxoutset.py                     | ✓ Passed  | 5 s
rpc_setban.py                           | ✓ Passed  | 2 s
rpc_signmessage.py                      | ✓ Passed  | 1 s
rpc_signrawtransaction.py               | ✓ Passed  | 1 s
rpc_txoutproof.py                       | ✓ Passed  | 1 s
rpc_uptime.py                           | ✓ Passed  | 1 s
rpc_users.py                            | ✓ Passed  | 2 s
rpc_whitelist.py                        | ✓ Passed  | 1 s
tool_wallet.py                          | ✓ Passed  | 3 s
wallet_abandonconflict.py               | ✓ Passed  | 7 s
wallet_address_types.py                 | ✓ Passed  | 13 s
wallet_avoidreuse.py                    | ✓ Passed  | 2 s
wallet_backup.py                        | ✓ Passed  | 44 s
wallet_balance.py                       | ✓ Passed  | 14 s
wallet_basic.py                         | ✓ Passed  | 25 s
wallet_create_tx.py                     | ✓ Passed  | 10 s
wallet_createwallet.py                  | ✓ Passed  | 3 s
wallet_createwallet.py --usecli         | ✓ Passed  | 3 s
wallet_disable.py                       | ✓ Passed  | 0 s
wallet_dump.py                          | ✓ Passed  | 2 s
wallet_encryption.py                    | ✓ Passed  | 6 s
wallet_groups.py                        | ✓ Passed  | 11 s
wallet_hd.py                            | ✓ Passed  | 5 s
wallet_import_rescan.py                 | ✓ Passed  | 5 s
wallet_import_with_label.py             | ✓ Passed  | 1 s
wallet_importmulti.py                   | ✓ Passed  | 3 s
wallet_importprunedfunds.py             | ✓ Passed  | 2 s
wallet_keypool.py                       | ✓ Passed  | 3 s
wallet_keypool_topup.py                 | ✓ Passed  | 3 s
wallet_labels.py                        | ✓ Passed  | 2 s
wallet_listreceivedby.py                | ✓ Passed  | 16 s
wallet_listsinceblock.py                | ✓ Passed  | 6 s
wallet_listtransactions.py              | ✓ Passed  | 14 s
wallet_multiwallet.py                   | ✓ Passed  | 13 s
wallet_multiwallet.py --usecli          | ✓ Passed  | 17 s
wallet_resendwallettransactions.py      | ✓ Passed  | 20 s
wallet_txn_clone.py                     | ✓ Passed  | 2 s
wallet_txn_clone.py --mineblock         | ✓ Passed  | 3 s
wallet_txn_doublespend.py               | ✓ Passed  | 2 s
wallet_txn_doublespend.py --mineblock   | ✓ Passed  | 3 s
wallet_zapwallettxes.py                 | ✓ Passed  | 3 s
feature_notifications.py                | ✖ Failed  | 0 s

ALL                                     | ✖ Failed  | 763 s (accumulated) 
Runtime: 153 s

FAILED: test/CMakeFiles/check-functional 
cd /work/abc-ci-builds/build-diff/test && /usr/bin/cmake -E env /usr/bin/python3.7 ./functional/test_runner.py
ninja: build stopped: subcommand failed.
Build build-diff failed with exit code 1

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

Wthout including this into the cmake build, you are going to have a bad time :)

teamcity edited the summary of this revision. (Show Details)Mon, Jul 27, 22:04

[Bot Message]
One or more PR numbers were detected in the summary.
Links to those PRs have been inserted into the summary for reference.

majcosta updated this revision to Diff 22705.Mon, Aug 3, 14:38

add missing cmake build changes

deadalnix requested changes to this revision.Mon, Aug 3, 15:13
deadalnix added inline comments.
src/CMakeLists.txt
250 ↗(On Diff #22705)

There is a config CMakeFile where this is more appropriate.

This revision now requires changes to proceed.Mon, Aug 3, 15:13
majcosta updated this revision to Diff 22712.Mon, Aug 3, 16:15

moved build system changes to config cmakelists.txt file and changed it to use the bitcoin-config.h generated header

deadalnix accepted this revision.Mon, Aug 3, 20:09
This revision is now accepted and ready to land.Mon, Aug 3, 20:09