Merge #12719: tests: Add note about test suite naming convention in developer-notes.md
db983beba6
tests: Add lint-tests.sh which checks the test suite naming convention (practicalswift)5fd864fe8a
tests: Rename test suits not following the test suite naming convention (practicalswift)7b4a296a71
tests: Add note about test suite naming convention (practicalswift) Pull request description: Changes: * Add note about test suite naming convention * Fix exceptions * Add regression test Rationale: * Consistent naming of test suites makes programmatic test running of specific tests/subsets of tests easier * Explicit is better than implicit Before this commit: ``` $ contrib/devtools/lint-tests.sh The test suite in file src/test/foo_tests.cpp should be named "foo_tests". Please make sure the following test suites follow that convention: src/test/blockchain_tests.cpp:BOOST_FIXTURE_TEST_SUITE(blockchain_difficulty_tests, BasicTestingSetup) src/test/prevector_tests.cpp:BOOST_FIXTURE_TEST_SUITE(PrevectorTests, TestingSetup) src/wallet/test/coinselector_tests.cpp:BOOST_FIXTURE_TEST_SUITE(coin_selection_tests, WalletTestingSetup) src/wallet/test/crypto_tests.cpp:BOOST_FIXTURE_TEST_SUITE(wallet_crypto, BasicTestingSetup) $ ``` After this commit: ``` $ contrib/devtools/lint-tests.sh $ ``` Tree-SHA512: 7258ab9a6b9b8fc1939efadc619e2f2f02cfce8034c7f2e5dc5ecc769aa12e17f6fb8e363817feaf15c026c5b958b2574525b8d2d3f6be69658679bf8ceea9e9
This commit is contained in:
commit
9beded5860
7 changed files with 27 additions and 6 deletions
19
contrib/devtools/lint-tests.sh
Executable file
19
contrib/devtools/lint-tests.sh
Executable file
|
@ -0,0 +1,19 @@
|
|||
#!/bin/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 the test suite naming convention
|
||||
|
||||
NAMING_INCONSISTENCIES=$(git grep -E '^BOOST_FIXTURE_TEST_SUITE\(' -- \
|
||||
"src/test/**.cpp" "src/wallet/test/**.cpp" | \
|
||||
grep -vE '/(.*?)\.cpp:BOOST_FIXTURE_TEST_SUITE\(\1, .*\)$')
|
||||
if [[ ${NAMING_INCONSISTENCIES} != "" ]]; then
|
||||
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 "that convention:"
|
||||
echo
|
||||
echo "${NAMING_INCONSISTENCIES}"
|
||||
exit 1
|
||||
fi
|
|
@ -71,6 +71,8 @@ code.
|
|||
- Constant names are all uppercase, and use `_` to separate words.
|
||||
- Class names, function names and method names are UpperCamelCase
|
||||
(PascalCase). Do not prefix class names with `C`.
|
||||
- Test suite naming convention: The Boost test suite in file
|
||||
`src/test/foo_tests.cpp` should be named `foo_tests`.
|
||||
|
||||
- **Miscellaneous**
|
||||
- `++i` is preferred over `i++`.
|
||||
|
|
|
@ -54,7 +54,7 @@ void TestDifficulty(uint32_t nbits, double expected_difficulty)
|
|||
RejectDifficultyMismatch(difficulty, expected_difficulty);
|
||||
}
|
||||
|
||||
BOOST_FIXTURE_TEST_SUITE(blockchain_difficulty_tests, BasicTestingSetup)
|
||||
BOOST_FIXTURE_TEST_SUITE(blockchain_tests, BasicTestingSetup)
|
||||
|
||||
BOOST_AUTO_TEST_CASE(get_difficulty_for_very_low_target)
|
||||
{
|
||||
|
|
|
@ -13,7 +13,7 @@
|
|||
|
||||
#include <boost/test/unit_test.hpp>
|
||||
|
||||
BOOST_FIXTURE_TEST_SUITE(PrevectorTests, TestingSetup)
|
||||
BOOST_FIXTURE_TEST_SUITE(prevector_tests, TestingSetup)
|
||||
|
||||
template<unsigned int N, typename T>
|
||||
class prevector_tester {
|
||||
|
|
|
@ -67,7 +67,7 @@ public:
|
|||
|
||||
typedef std::vector<unsigned char, secure_allocator<unsigned char> > CKeyingMaterial;
|
||||
|
||||
namespace wallet_crypto
|
||||
namespace crypto_tests
|
||||
{
|
||||
class TestCrypter;
|
||||
}
|
||||
|
@ -75,7 +75,7 @@ namespace wallet_crypto
|
|||
/** Encryption/decryption context with key information */
|
||||
class CCrypter
|
||||
{
|
||||
friend class wallet_crypto::TestCrypter; // for test access to chKey/chIV
|
||||
friend class crypto_tests::TestCrypter; // for test access to chKey/chIV
|
||||
private:
|
||||
std::vector<unsigned char, secure_allocator<unsigned char>> vchKey;
|
||||
std::vector<unsigned char, secure_allocator<unsigned char>> vchIV;
|
||||
|
|
|
@ -14,7 +14,7 @@
|
|||
#include <boost/test/unit_test.hpp>
|
||||
#include <random>
|
||||
|
||||
BOOST_FIXTURE_TEST_SUITE(coin_selection_tests, WalletTestingSetup)
|
||||
BOOST_FIXTURE_TEST_SUITE(coinselector_tests, WalletTestingSetup)
|
||||
|
||||
// how many times to run all the tests to have a chance to catch errors that only show up with particular random shuffles
|
||||
#define RUN_TESTS 100
|
||||
|
|
|
@ -10,7 +10,7 @@
|
|||
|
||||
#include <boost/test/unit_test.hpp>
|
||||
|
||||
BOOST_FIXTURE_TEST_SUITE(wallet_crypto, BasicTestingSetup)
|
||||
BOOST_FIXTURE_TEST_SUITE(crypto_tests, BasicTestingSetup)
|
||||
|
||||
class TestCrypter
|
||||
{
|
||||
|
|
Loading…
Reference in a new issue