diff --git a/test/lint/lint-circular-dependencies.sh b/test/lint/lint-circular-dependencies.sh index 091c444b8..185de4ac6 100755 --- a/test/lint/lint-circular-dependencies.sh +++ b/test/lint/lint-circular-dependencies.sh @@ -1,77 +1,79 @@ #!/usr/bin/env bash # # Copyright (c) 2018 The Bitcoin Core developers # Distributed under the MIT software license, see the accompanying # file COPYING or http://www.opensource.org/licenses/mit-license.php. # # Check for circular dependencies export LC_ALL=C EXPECTED_CIRCULAR_DEPENDENCIES=( "index/txindex -> validation -> index/txindex" "qt/addresstablemodel -> qt/walletmodel -> qt/addresstablemodel" "qt/bantablemodel -> qt/clientmodel -> qt/bantablemodel" "qt/bitcoingui -> qt/utilitydialog -> qt/bitcoingui" "qt/bitcoingui -> qt/walletframe -> qt/bitcoingui" "qt/bitcoingui -> qt/walletview -> qt/bitcoingui" "qt/clientmodel -> qt/peertablemodel -> qt/clientmodel" "qt/paymentserver -> qt/walletmodel -> qt/paymentserver" "qt/recentrequeststablemodel -> qt/walletmodel -> qt/recentrequeststablemodel" "qt/transactiontablemodel -> qt/walletmodel -> qt/transactiontablemodel" "qt/walletmodel -> qt/walletmodeltransaction -> qt/walletmodel" "txmempool -> validation -> txmempool" "wallet/coincontrol -> wallet/wallet -> wallet/coincontrol" "wallet/fees -> wallet/wallet -> wallet/fees" "wallet/rpcwallet -> wallet/wallet -> wallet/rpcwallet" "wallet/wallet -> wallet/walletdb -> wallet/wallet" "avalanche/processor -> validation -> avalanche/processor" "chainparams -> protocol -> chainparams" "chainparamsbase -> util/system -> chainparamsbase" "minerfund -> validation -> minerfund" "script/scriptcache -> validation -> script/scriptcache" "seeder/bitcoin -> seeder/db -> seeder/bitcoin" "chainparams -> protocol -> config -> chainparams" "wallet/scriptpubkeyman -> wallet/wallet -> wallet/scriptpubkeyman" "checkpoints -> validation -> checkpoints" + "pow/aserti32d -> validation -> pow/aserti32d" + "pow/aserti32d -> validation -> pow/pow -> pow/aserti32d" ) EXIT_CODE=0 CIRCULAR_DEPENDENCIES=() IFS=$'\n' for CIRC in $(cd src && ../contrib/devtools/circular-dependencies.py {*,*/*,*/*/*}.{h,cpp} | sed -e 's/^Circular dependency: //'); do CIRCULAR_DEPENDENCIES+=("$CIRC") IS_EXPECTED_CIRC=0 for EXPECTED_CIRC in "${EXPECTED_CIRCULAR_DEPENDENCIES[@]}"; do if [[ "${CIRC}" == "${EXPECTED_CIRC}" ]]; then IS_EXPECTED_CIRC=1 break fi done if [[ ${IS_EXPECTED_CIRC} == 0 ]]; then echo "A new circular dependency in the form of \"${CIRC}\" appears to have been introduced." echo EXIT_CODE=1 fi done for EXPECTED_CIRC in "${EXPECTED_CIRCULAR_DEPENDENCIES[@]}"; do IS_PRESENT_EXPECTED_CIRC=0 for CIRC in "${CIRCULAR_DEPENDENCIES[@]}"; do if [[ "${CIRC}" == "${EXPECTED_CIRC}" ]]; then IS_PRESENT_EXPECTED_CIRC=1 break fi done if [[ ${IS_PRESENT_EXPECTED_CIRC} == 0 ]]; then echo "Good job! The circular dependency \"${EXPECTED_CIRC}\" is no longer present." echo "Please remove it from EXPECTED_CIRCULAR_DEPENDENCIES in $0" echo "to make sure this circular dependency is not accidentally reintroduced." echo EXIT_CODE=1 fi done exit ${EXIT_CODE}