diff --git a/contrib/teamcity/build-configurations.yml b/contrib/teamcity/build-configurations.yml --- a/contrib/teamcity/build-configurations.yml +++ b/contrib/teamcity/build-configurations.yml @@ -409,3 +409,7 @@ - gitian_builds env: OS_NAME: win + + lint-circular-dependencies: + runOnDiff: true + script: test/lint/lint-circular-dependencies.sh diff --git a/test/lint/lint-circular-dependencies.sh b/test/lint/lint-circular-dependencies.sh --- a/test/lint/lint-circular-dependencies.sh +++ b/test/lint/lint-circular-dependencies.sh @@ -8,6 +8,10 @@ export LC_ALL=C +set -euo pipefail + +: "${TOPLEVEL:=$(git rev-parse --show-toplevel)}" + EXPECTED_CIRCULAR_DEPENDENCIES=( "index/txindex -> validation -> index/txindex" "qt/addresstablemodel -> qt/walletmodel -> qt/addresstablemodel" @@ -42,6 +46,8 @@ CIRCULAR_DEPENDENCIES=() +pushd "${TOPLEVEL}" + IFS=$'\n' for CIRC in $(cd src && ../contrib/devtools/circular-dependencies.py {*,*/*,*/*/*}.{h,cpp} | sed -e 's/^Circular dependency: //'); do CIRCULAR_DEPENDENCIES+=("$CIRC") @@ -76,4 +82,6 @@ fi done +popd + exit ${EXIT_CODE}