-
Notifications
You must be signed in to change notification settings - Fork 38.7k
Reorganise qa directory #9956
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Reorganise qa directory #9956
Conversation
|
Concept ACK. instead of ? |
|
@jonasschnelli It doesn't contain purely RPC tests anymore (also P2P and REST). @JNewberry Why is runner separate? My #1 complaint about the current structure is that the runner is in a separate directory. |
|
Concept ACK. New structure looks good to me. Agree that there's no need for the runner to be separate. It can go with the other Python code.
Indeed. These are "functional tests" or "integration tests" in contrast to the "unit tests" which are part of the C++ source code. They make use of RPC, but that doesn't define them, ideally they should test every interface. |
Okay. That makes sense. @jnewbery: I think you need to update |
|
Thanks everyone for the feedback. I've made the following changes:
also rebased. |
fb0f1ae to
6906ba2
Compare
|
rebased |
|
Needs .gitignore updated to include Currently failing with: |
|
Needs rebase. |
|
@jnewbery Other than the rebase, is this now ready for review? Travis is happy, at least. |
c2bab0a to
3d42c4e
Compare
|
@theuni thanks for your help on this. I've rebased and squashed, so assuming travis passes, this is now ready for review. The two parts which I'm a little unsure of and I'd especially like reviewers to look at are:
|
|
Needs rebase. |
|
No need to rebase this until the merge is scheduled. Needs review first.
…On Thu, Mar 16, 2017 at 2:33 PM, Jonas Schnelli ***@***.***> wrote:
Needs rebase.
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
<#9956 (comment)>, or mute
the thread
<https://github.com/notifications/unsubscribe-auth/AGGmvyo8dHQFuV1SI6ibAgsXiBQCj7_Iks5rmToygaJpZM4MXbTb>
.
|
test/functional/test_runner.py
Outdated
| ZMQ_SCRIPTS = [ | ||
| # ZMQ test can only be run if bitcoin was built with zmq-enabled. | ||
| # call rpc_tests.py with -nozmq to explicitly exclude these tests. | ||
| # call runner.py with -nozmq to explicitly exclude these tests. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
runner -> test_runner from here down?
configure.ac
Outdated
| AC_CONFIG_FILES([Makefile src/Makefile doc/man/Makefile share/setup.nsi share/qt/Info.plist src/test/buildenv.py]) | ||
| AC_CONFIG_FILES([qa/pull-tester/tests_config.ini],[chmod +x qa/pull-tester/tests_config.ini]) | ||
| AC_CONFIG_FILES([Makefile src/Makefile doc/man/Makefile share/setup.nsi share/qt/Info.plist]) | ||
| AC_CONFIG_FILES([test/functional/config.ini],[chmod +x test/functional/config.ini]) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Do these really need +x?
configure.ac
Outdated
| if test x$use_extended_rpc_tests != xno; then | ||
| AC_SUBST(EXTENDED_RPC_TESTS, -extended) | ||
| if test x$use_extended_functional_tests != xno; then | ||
| AC_SUBST(EXTENDED_FUNCTIONAL_TESTS, -extended) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Please update Makefile.am to match. I'm pretty sure the cov stuff is busted atm, but at least this part won't be busted too.
Actually, it'd make sense to use this in test/functional/config.ini.in directly if you'd prefer to skip to that.
|
Looks good to me other than a few little nits. Passes Travis' out-of-tree-distdir gauntlet. I'd like to move the related stuff to a new Makefile.include, but as a next step. I'm unsure about the bitcoin.spec, but we probably can't assume they're running it from inside our tree? |
|
Could you update the struct on the top instead of only the comments? It still says tests/runner and test/qa. I think "qa" instead of "functional" was just fine, but I guess "functional", or "integration" or "tests" or "py" would be fine as well. Maybe I just prefer qa because it's shorter. Anyway, bikeshedding. About the runner and the config, what about just leaving them in the top level test wallet instead of putting them with the rest of the tests in functional? |
Apologies. Now updated.
I think functional or integration are best because they are strongly differentiated from unit tests. qa is kind of meaningless in this context.
I aim to eventually merge |
|
@theuni's comments addressed, and rebased. Old tip: https://github.com/jnewbery/bitcoin/tree/pr9956.2 / jnewbery@3d42c4e I've built from distdir locally, so hopefully this will pass Travis! Ready for additional review. |
|
Random thought, maybe create a subdirectory for the extended tests? That would make it more clear I think. |
|
I've been testing this, looks good so far 👍 . However, needs another rebase. |
configure.ac
Outdated
| if test x$use_extended_rpc_tests != xno; then | ||
| AC_SUBST(EXTENDED_RPC_TESTS, -extended) | ||
| if test x$use_extended_functional_tests != xno; then | ||
| AC_SUBST(EXTENDED_FUNCTIONAL_TESTS, -extended) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This should be --extended with two dashes?
|
… On Mon, Mar 20, 2017 at 4:35 PM, Michael ***@***.***> wrote:
Merged and ran test/functional/test_runner.py with no arguments:
TEST | PASSED | DURATION
fundrawtransaction.py | True | 192 s
walletbackup.py | True | 311 s
p2p-compactblocks.py | True | 166 s
segwit.py | True | 83 s
wallet-accounts.py | True | 65 s
wallet.py | True | 149 s
wallet-dump.py | True | 50 s
wallet-hd.py | True | 574 s
p2p-segwit.py | True | 116 s
zapwallettxes.py | True | 29 s
listtransactions.py | True | 53 s
p2p-fullblocktest.py | True | 613 s
sendheaders.py | True | 49 s
mempool_limit.py | True | 16 s
merkle_blocks.py | True | 25 s
importmulti.py | True | 40 s
abandonconflict.py | True | 23 s
receivedby.py | True | 31 s
mempool_resurrect_test.py | True | 4 s
bip68-112-113-p2p.py | True | 29 s
reindex.py | True | 19 s
txn_doublespend.py --mineblock | True | 18 s
rawtransactions.py | True | 34 s
mempool_spendcoinbase.py | True | 4 s
txn_clone.py | True | 19 s
mempool_reorg.py | True | 11 s
httpbasics.py | True | 11 s
rest.py | True | 21 s
multi_rpc.py | True | 4 s
signrawtransactions.py | True | 5 s
decodescript.py | True | 4 s
getchaintips.py | True | 43 s
proxy_test.py | True | 15 s
blockchain.py | True | 7 s
disablewallet.py | True | 3 s
p2p-mempool.py | True | 4 s
keypool.py | True | 11 s
invalidblockrequest.py | True | 6 s
prioritise_transaction.py | True | 11 s
nodehandling.py | True | 26 s
invalidtxrequest.py | True | 6 s
signmessages.py | True | 5 s
importprunedfunds.py | True | 13 s
nulldummy.py | True | 6 s
preciousblock.py | True | 16 s
p2p-versionbits-warning.py | True | 19 s
rpcnamedargs.py | True | 4 s
p2p-leaktests.py | True | 10 s
zmq_test.py | True | 19 s
bumpfee.py | True | 41 s
listsinceblock.py | True | 49 s
import-rescan.py | True | 59 s
ALL | True | 3141 s (accumulated)
Runtime: 803 s
Running through the extended tests and passing some options now.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
<#9956 (comment)>, or mute
the thread
<https://github.com/notifications/unsubscribe-auth/AGGmv9KnbHv9dgUbGTXuIvpv86sSmVwPks5rnpyzgaJpZM4MXbTb>
.
|
|
utACK 63d66ba since it works, any cleanups can happen as a next step. |
63d66ba Move src/test/bitcoin-util-test.py to test/util/bitcoin-util-test.py (John Newbery) 5b0bff4 Rename --enable-extended-rpc-tests to --enable-extended-functional-tests (John Newbery) a9bd622 Rename test/pull-tester/rpc-tests.py to test/functional/test_runner.py (John Newbery) c28ee91 Rename rpc-tests directory to functional (John Newbery) 00902c4 Rename qa directory to test (John Newbery) Tree-SHA512: ee7125c0c647d81590177beef2c8852c4ef76fdcf888096d9d4d360562a01d8d3b453345c3040487b2a043935bd1e7e80018f34462d6e02262bedbe23edcc576
63d66ba Move src/test/bitcoin-util-test.py to test/util/bitcoin-util-test.py (John Newbery) 5b0bff4 Rename --enable-extended-rpc-tests to --enable-extended-functional-tests (John Newbery) a9bd622 Rename test/pull-tester/rpc-tests.py to test/functional/test_runner.py (John Newbery) c28ee91 Rename rpc-tests directory to functional (John Newbery) 00902c4 Rename qa directory to test (John Newbery) Tree-SHA512: ee7125c0c647d81590177beef2c8852c4ef76fdcf888096d9d4d360562a01d8d3b453345c3040487b2a043935bd1e7e80018f34462d6e02262bedbe23edcc576 resolve build errors Signed-off-by: Pasta <Pasta@dash.org> update test_runner.py in testintegrations.sh Signed-off-by: Pasta <Pasta@dash.org>
* Merge bitcoin#9956: Reorganise qa directory 63d66ba Move src/test/bitcoin-util-test.py to test/util/bitcoin-util-test.py (John Newbery) 5b0bff4 Rename --enable-extended-rpc-tests to --enable-extended-functional-tests (John Newbery) a9bd622 Rename test/pull-tester/rpc-tests.py to test/functional/test_runner.py (John Newbery) c28ee91 Rename rpc-tests directory to functional (John Newbery) 00902c4 Rename qa directory to test (John Newbery) Tree-SHA512: ee7125c0c647d81590177beef2c8852c4ef76fdcf888096d9d4d360562a01d8d3b453345c3040487b2a043935bd1e7e80018f34462d6e02262bedbe23edcc576 resolve build errors Signed-off-by: Pasta <Pasta@dash.org> update test_runner.py in testintegrations.sh Signed-off-by: Pasta <Pasta@dash.org> * moved dash specific tests Signed-off-by: Pasta <Pasta@dash.org> * dashify README.md Signed-off-by: Pasta <Pasta@dash.org> * removed autoix*.py Signed-off-by: Pasta <Pasta@dash.org> * change back file perms * dedashify Signed-off-by: Pasta <Pasta@dash.org>
Initially proposed by @jonasschnelli here: https://botbot.me/freenode/bitcoin-core-dev/2017-02-16/?msg=81095853&page=5
This re-organises the
qatest directory to meet the following requirements:This PR has the following commits:
The new directory structure is [EDITED]:
The actual structure within the new directories is unchanged to minimize changes.
I've tested this at each commit by rebuilding and running the test cases. Reviewers note that you'll need to ./autogen.sh and ./configure to test this.
Any feedback on names or structure welcomed.