Changeset View
Changeset View
Standalone View
Standalone View
test/lint/lint-tests.sh
#!/usr/bin/env bash | #!/usr/bin/env bash | ||||
# | # | ||||
# Copyright (c) 2018 The Bitcoin Core developers | # Copyright (c) 2018 The Bitcoin Core developers | ||||
# Copyright (c) 2019 The Bitcoin developers | # Copyright (c) 2019 The Bitcoin developers | ||||
# Distributed under the MIT software license, see the accompanying | # Distributed under the MIT software license, see the accompanying | ||||
# file COPYING or http://www.opensource.org/licenses/mit-license.php. | # file COPYING or http://www.opensource.org/licenses/mit-license.php. | ||||
# | # | ||||
# Check the test suite naming conventions | # Check the test suite naming conventions | ||||
EXIT_CODE=0 | |||||
TOPDIR=${TOPDIR:-$(git rev-parse --show-toplevel)} | TOPDIR=${TOPDIR:-$(git rev-parse --show-toplevel)} | ||||
NAMING_INCONSISTENCIES=$(git grep -E '^BOOST_FIXTURE_TEST_SUITE\(' -- \ | NAMING_INCONSISTENCIES=$(git grep -E '^BOOST_FIXTURE_TEST_SUITE\(' -- \ | ||||
"${TOPDIR}/src/test/**.cpp" \ | "${1}" | grep -vE '/(.*?)\.cpp:BOOST_FIXTURE_TEST_SUITE\(\1, .*\)$') | ||||
"${TOPDIR}/src/rpc/test/**.cpp" \ | |||||
"${TOPDIR}/src/wallet/test/**.cpp" | \ | |||||
grep -vE '/(.*?)\.cpp:BOOST_FIXTURE_TEST_SUITE\(\1, .*\)$') | |||||
if [[ ${NAMING_INCONSISTENCIES} != "" ]]; then | if [[ ${NAMING_INCONSISTENCIES} != "" ]]; then | ||||
echo "The test suite in file src/test/foo_tests.cpp should be named" | echo "The test suite in file src/test/foo_tests.cpp should be named" | ||||
echo "\"foo_tests\". Please make sure the following test suites follow" | echo "\"foo_tests\". Please make sure the following test suites follow" | ||||
echo "that convention:" | echo "that convention:" | ||||
echo | echo | ||||
echo "${NAMING_INCONSISTENCIES}" | echo "${NAMING_INCONSISTENCIES}" | ||||
EXIT_CODE=1 | |||||
fi | fi | ||||
TEST_SUITE_NAME_COLLISIONS=$(git grep -E '^BOOST_FIXTURE_TEST_SUITE\(' -- \ | TEST_SUITE_NAME_COLLISIONS=$(git grep -E '^BOOST_FIXTURE_TEST_SUITE\(' -- \ | ||||
"${TOPDIR}/src/test/**.cpp" \ | "${TOPDIR}/src/test/**.cpp" \ | ||||
"${TOPDIR}/src/rpc/test/**.cpp" \ | "${TOPDIR}/src/rpc/test/**.cpp" \ | ||||
"${TOPDIR}/src/wallet/test/**.cpp" | cut -f2 -d'(' | cut -f1 -d, | \ | "${TOPDIR}/src/wallet/test/**.cpp" | cut -f2 -d'(' | cut -f1 -d, | \ | ||||
sort | uniq -d) | sort | uniq -d) | ||||
if [[ ${TEST_SUITE_NAME_COLLISIONS} != "" ]]; then | if [[ ${TEST_SUITE_NAME_COLLISIONS} != "" ]]; then | ||||
echo "Test suite names must be unique. The following test suite names" | echo "Test suite names must be unique. The following test suite names" | ||||
echo "appear to be used more than once:" | echo "appear to be used more than once:" | ||||
echo | echo | ||||
echo "${TEST_SUITE_NAME_COLLISIONS}" | echo "${TEST_SUITE_NAME_COLLISIONS}" | ||||
EXIT_CODE=1 | |||||
fi | fi | ||||
exit ${EXIT_CODE} | exit 0 |