aboutsummaryrefslogtreecommitdiff
path: root/test/README.md
AgeCommit message (Collapse)Author
2024-01-16doc: move-only lint docs to one placeMarcoFalke
Can be reviewed with --color-moved=dimmed-zebra
2023-05-29lint: stop ignoring LIEF importsfanquake
Type stubs are now available as of 0.13.0. See https://github.com/lief-project/LIEF/issues/650.
2023-02-22docs: add ramdisk guide for running tests on OSXMatthew Zipkin
2022-09-15Fix issues identified by codespell 2.2.1 and update ignored wordsJon Atack
and also fix spelling in test/lint/lint-locale-dependence.py not caught by the spelling linter and fix up a paragraph we are touching here in test/README.md.
2022-07-20doc: update test/README.mdjosibake
take the hardcoded list out of the readme. this way, we only need to update the script as new tags are added
2022-06-07test: rename lint-all.py to all-lint.pyMartin Leitner-Ankerl
That way it is impossible for the script to call itself.
2022-05-06Merge bitcoin/bitcoin#25063: test: previous releases: add v23.0MacroFake
dba123167236a172d2d33861d58aa94a19729671 test: previous releases: add v23.0 (Sjors Provoost) Pull request description: Follows the same pattern as d8b705f1caeb3b4a6790cb26e4e5584ca791d965 (v22.0) and 8a57a06a5062dd8dfdefca4e404d0ddbd2a3da1d (v0.21.0). Starting from v23.0 there is a separate macOS release for x86_64 and aarch64. ACKs for top commit: prusnak: Approach ACK dba123167236a172d2d33861d58aa94a19729671 Tree-SHA512: 249aeddd5e80e163578581e5c8e9b6579f3694abc3d1fb68dddb7b42d75021ad85266688ec4a365a6631d82a65a19873aff7ba61c0ea59d21f8adbe4b772dc16
2022-05-06test: previous releases: add v23.0Sjors Provoost
Starting from v23.0 there is a separate macOS release for x86_64 and aarch64. Co-authored-by: Pavol Rusnak <pavol@rusnak.io>
2022-05-05test: port 'lint-shell.sh' to pythonwhiteh0rse
2022-04-26Converting `lint-all.sh` to `lint-all.py`.hiago
Converting `lint-all.sh` to `lint-all.py`.
2022-04-18lint: Convert Python linter to PythonFabian Jahr
2022-04-06Merge bitcoin/bitcoin#24766: lint: convert spellchecking lint test to pythonMarcoFalke
4685463301a1c64c1be07725059cc94d69db104b doc: Update lint test docs (Fabian Jahr) 77f98df41f032d6846f8309c0b1f239e9dbc0da3 lint: convert spell check lint test to python (Fabian Jahr) Pull request description: The new python version should produce the exact same output as the bash version but be easier to maintain. ACKs for top commit: MarcoFalke: cr ACK 4685463301a1c64c1be07725059cc94d69db104b Tree-SHA512: 242b802b750b42b299b93d1de4bcf17d92ad0a633d31894145d8590782a1db1041de59a283f133a4f75898d95444eb3c842005a6aa5cb919543625addad596d8
2022-04-06lint: Convert Python dead code linter to PythonFabian Jahr
2022-04-06doc: Update lint test docsFabian Jahr
2022-04-05Merge bitcoin/bitcoin#24236: Remove utxo db upgrade codelaanwj
fa9112aac07dc371bfda437d40eb1b841f36f392 Remove utxo db upgrade code (MarcoFalke) Pull request description: It is not possible to upgrade Bitcoin Core pre-segwit (pre-0.13.1) to a recent version without a full IBD from scratch after commit 19a56d1519fb493c3e1bd5cad55360b6b80fa52b (released in version 22.0). Any Bitcoin Core version with the new database format after commit 1088b02f0ccd7358d2b7076bb9e122d59d502d02 (released in version 0.15), can upgrade to any version that is supported as of today. This leaves the versions 0.13.1-0.14.x. Even though those versions are unsupported, some users with an existing datadir may want to upgrade to a recent version. However, it seems reasonable to simply ask them to `-reindex` to run a full IBD from scratch. This allows us to remove the utxo db upgrade code. ACKs for top commit: Sjors: re-ACK fa9112aac07dc371bfda437d40eb1b841f36f392 laanwj: Code review ACK fa9112aac07dc371bfda437d40eb1b841f36f392 Tree-SHA512: 4243bb35df9ac4892f9fad30fe486d338745952bcff4160bcb0937c772d57b13b800647da14695e21e3655e85ee0d95fa3dc7789ee309d59ad84f422297fecb8
2022-03-29doc: Speed up functional test runs using ramdiskwillcl-ark
Using a ramdisk for the functional tests can give worthwhile speed-ups for developers and reviewers. Add notes to test/README.md on how to setup, use and erase a ramdisk on Linux.
2022-03-10Remove utxo db upgrade codeMarcoFalke
2021-12-16test: previous releases: add v22.0Sjors Provoost
2021-12-16test: previous releases: add v0.21.0Sjors Provoost
2021-10-16lint: install pyzmq (22.3.0) into linter environmentjosibake
mypy stubs were introduced in 21.0.1
2021-10-16doc: remove pointlessly duplicated linter version / install infofanquake
2021-09-09doc: Set PYTHONUTF8=1 for functional tests on WindowsHennadii Stepanov
2021-09-02test: Rename bitcoin-util-test.py to util/test_runner.pyMarcoFalke
To normalize the name of all three test runners (fuzz, functional, util).
2021-09-02test: Update test README and lint scriptMarcoFalke
2021-07-14Merge bitcoin/bitcoin#20354: test: Add feature_taproot.py --previous_releaseMarcoFalke
fa80e10d94dbf86da84fc761b09fb631155a5b25 test: Add feature_taproot.py --previous_release (MarcoFalke) 85ccffa26686c6c9adbd18bdde37fc1747281bab test: move releases download incantation to README (Sjors Provoost) 29d6b1da2a862bfbb14e7821979c97416c5400e8 test: previous releases: add v0.20.1 (Sjors Provoost) Pull request description: Disabling the new consensus code at runtime is fine, but potentially fragile and incomplete. Fix that by giving the option to run with a version that has been compiled without any taproot code. ACKs for top commit: Sjors: tACK fa80e10 NelsonGaldeman: tACK fa80e10d94dbf86da84fc761b09fb631155a5b25 Tree-SHA512: 1a1feef823f08c05268759645a8974e1b2d39a024258f5e6acecbe25097aae3fa9302c27262978b40f1aa8e7b525b60c0047199010f2a5d6017dd6434b4066f0
2021-05-10Merge bitcoin/bitcoin#21749: test: Bump shellcheck versionW. J. van der Laan
08f3dbb1b0cd5ca01d87e488a2fa905adf7df057 test: Bump shellcheck version (Hennadii Stepanov) Pull request description: The changelog for v0.7.2 is available [here](https://github.com/koalaman/shellcheck/blob/v0.7.2/CHANGELOG.md). Only [SC2268](https://github.com/koalaman/shellcheck/wiki/SC2268) requires to update our code. ACKs for top commit: jarolrod: ACK 08f3dbb1b0cd5ca01d87e488a2fa905adf7df057 Tree-SHA512: 4585cd1f4d9def2fbaafe5a2a57761288d432781eb8c6c6d37064727d7ca8fc3f35c552e6a2ffdf0820d753d4bde2c8e43e5f3f57d242f5f57591a9b1b03558d
2021-04-29test: add new python linter to check file names and permissionswindsok
Replaces the existing tests in the test/lint/lint-filenames.sh and test/lint/lint-shebang.sh linter tests, as well as adding some new and increased testing. Summary of tests: - Checks every file in the repository against an allowed regexp to make sure only lowercase or uppercase alphanumerics (a-zA-Z0-9), underscores (_), hyphens (-), at (@) and dots (.) are used in repository filenames. - Checks only source files (*.cpp, *.h, *.py, *.sh) against a stricter allowed regexp to make sure only lowercase alphanumerics (a-z0-9), underscores (_), hyphens (-) and dots (.) are used in source code filenames. Additionally there is an exception regexp for directories or files which are excepted from matching this regexp (This should replicate the existing test/lint/lint-filenames.sh test) - Checks all files in the repository match an allowed executable or non-executable file permission octal. Additionally checks that for executable files, the file contains a shebang line. - Checks that for executable .py and .sh files, the shebang line used matches an allowable list of shebangs (This should replicate the existing test/lint/lint-shebang.sh test) - Checks every file that contains a shebang line to ensure it has an executable permission Fixes #21729
2021-04-22test: Bump shellcheck versionHennadii Stepanov
2021-02-25test: move releases download incantation to READMESjors Provoost
2021-01-02test: bump codespell linter version to 2.0.0Sebastian Falbesoner
2020-06-22test: Bump linter versionsDuncan Dean
Updates Python linters, spellchecking, and ShellCheck versions. The PR links are updated for the dependency versions in test/README.md. ShellCheck SC2230 removed to align with with new behaviour in v0.7.1. Fixes #19346.
2020-06-05doc: Add mypy to test dependenciesHennadii Stepanov
2020-05-18docs: Add notes on how to diasble rpc timeout in functional tests while ↵codeShark149
attatching gdb.
2020-03-10test: Explain why test logging should be usedMarcoFalke
2019-11-06script: Lint Gitian descriptors with ShellCheckHennadii Stepanov
2019-11-02doc: Add ShellCheck to lint tests dependenciesHennadii Stepanov
2019-10-17doc: Describe log files + consistent paths in test READMEsMartin Erlandsson
2019-09-26doc: Improve test READMEsFabian Jahr
2019-07-15doc: describe how to pass wildcard names to test runnerJon Atack
2019-06-19doc: Remove travis badge from readmeMarcoFalke
2019-02-05Merge #14519: tests: add utility to easily profile node performance with perfMarcoFalke
13782b8ba8 docs: add perf section to developer docs (James O'Beirne) 58180b5fd4 tests: add utility to easily profile node performance with perf (James O'Beirne) Pull request description: Adds a context manager to easily (and selectively) profile node performance during functional test execution using `perf`. While writing some tests, I encountered some odd bitcoind slowness. I wrote up a utility (`TestNode.profile_with_perf`) that generates performance diagnostics for a node by running `perf` during the execution of a particular region of test code. `perf` usage is detailed in the excellent (and sadly unmerged) https://github.com/bitcoin/bitcoin/pull/12649; all due props to @eklitzke. ### Example ```python with node.profile_with_perf("large-msgs"): for i in range(200): node.p2p.send_message(some_large_msg) node.p2p.sync_with_ping() ``` This generates a perf data file in the test node's datadir (`/tmp/testtxmpod0y/node0/node-0-TestName-large-msgs.perf.data`). Running `perf report` generates nice output about where the node spent most of its time while running that part of the test: ```bash $ perf report -i /tmp/testtxmpod0y/node0/node-0-TestName-large-msgs.perf.data --stdio \ | c++filt \ | less # To display the perf.data header info, please use --header/--header-only options. # # # Total Lost Samples: 0 # # Samples: 135 of event 'cycles:pp' # Event count (approx.): 1458205679493582 # # Children Self Command Shared Object Symbol # ........ ........ ............... ................... ........................................................................................................................................................................................................................................................................ # 70.14% 0.00% bitcoin-net bitcoind [.] CNode::ReceiveMsgBytes(char const*, unsigned int, bool&) | ---CNode::ReceiveMsgBytes(char const*, unsigned int, bool&) 70.14% 0.00% bitcoin-net bitcoind [.] CNetMessage::readData(char const*, unsigned int) | ---CNetMessage::readData(char const*, unsigned int) CNode::ReceiveMsgBytes(char const*, unsigned int, bool&) 35.52% 0.00% bitcoin-net bitcoind [.] std::vector<char, zero_after_free_allocator<char> >::_M_fill_insert(__gnu_cxx::__normal_iterator<char*, std::vector<char, zero_after_free_allocator<char> > >, unsigned long, char const&) | ---std::vector<char, zero_after_free_allocator<char> >::_M_fill_insert(__gnu_cxx::__normal_iterator<char*, std::vector<char, zero_after_free_allocator<char> > >, unsigned long, char const&) CNetMessage::readData(char const*, unsigned int) CNode::ReceiveMsgBytes(char const*, unsigned int, bool&) ... ``` Tree-SHA512: 9ac4ceaa88818d5eca00994e8e3c8ad42ae019550d6583972a0a4f7b0c4f61032e3d0c476b4ae58756bc5eb8f8015a19a7fc26c095bd588f31d49a37ed0c6b3e
2019-01-31gdb attaching to process during tests has non-sudo solutionGregory Sanders
2019-01-22tests: add utility to easily profile node performance with perfJames O'Beirne
Introduces `TestNode.profile_with_perf()` context manager which samples node execution to produce profiling data. Also introduces a test framework flag, `--perf`, which will run perf on all nodes for the duration of a given test.
2019-01-09docs: Clarifying testing instructionsbenthecarman
2018-10-20docs: Document lint testsMason Simon
2018-07-24scripted-diff: Remove trailing whitespacesJoão Barbosa
-BEGIN VERIFY SCRIPT- sed --in-place'' --regexp-extended 's/[[:space:]]+$//g' $(git grep -I --files-with-matches --extended-regexp '[[:space:]]+$' -- src test ':!*.svg' ':!src/crypto/sha256_sse4*' ':!src/leveldb' ':!src/qt/locale' ':!src/secp256k1' ':!src/univalue') -END VERIFY SCRIPT-
2018-02-06[tests] Update README after filename changeConor Scott
2018-01-22[trivial][docs] Fix incorrect link in /test/ README.mdfanquake
2017-06-27add gdb attach process to test READMEGregory Sanders
2017-06-27[tests] Update functional tests documentationJohn Newbery