Commit graph

37 commits

Author SHA1 Message Date
merge-script
6852d1d487
Merge bitcoin/bitcoin#30796: test: Use std::span and std::string_view for raw data
faecca9a85 test: Use span for raw data (MarcoFalke)
fac973647d test: Use string_view for json_tests (MarcoFalke)

Pull request description:

  The build system converts raw data into a C++ header file for tests.

  This change modernizes the code to use the convenience wrappers `std::span` and `std::string_view`, so that redundant copies can be avoided.

ACKs for top commit:
  fjahr:
    re-ACK faecca9a85
  TheCharlatan:
    ACK faecca9a85
  stickies-v:
    ACK faecca9a85
  hebasto:
    ACK faecca9a85, I have reviewed the code and the generated headers.

Tree-SHA512: 1f4951c54aff11ba27c41fb70f2821bdb79e06ca0abae734b970bd0d64dda9d8cced824a891fd51b3e9d4e5715ee9eb49ed5d369010a45eca7c3bec9f8641235
2024-09-05 13:46:22 +01:00
MarcoFalke
faecca9a85
test: Use span for raw data
This change allows to drop brittle sizeof calls in favor of the
std::span::size method.

Other improvements include:

* Use of a namespace to mark test and bench data
* Use of the modern std::byte
* Drop of a no longer used std::vector copy and the bench/data module
2024-09-05 10:57:19 +02:00
Hennadii Stepanov
d9fcbfc372
build: Add JOBS variable support to CoverageFuzz.cmake script 2024-09-04 16:03:06 +01:00
Hennadii Stepanov
e7cf4a6f27
build: Add missed -g for "Coverage" build configuration 2024-09-04 16:02:19 +01:00
Hennadii Stepanov
fe2003ab12
build: Add COMMAND_ERROR_IS_FATAL to every process in coverage scrips 2024-09-04 16:02:14 +01:00
MarcoFalke
8888beea8d
scripted-diff: fuzz: Rename fuzz_seed_corpus to fuzz_corpora
-BEGIN VERIFY SCRIPT-
 ren() { sed -i "s:\<$1\>:$2:g" $( git grep -l "$1" ) ; }
 ren fuzz_seed_corpus     fuzz_corpora
 ren FUZZ_SEED_CORPUS_DIR FUZZ_CORPORA_DIR
-END VERIFY SCRIPT-
2024-09-03 20:40:35 +02:00
MarcoFalke
fac973647d
test: Use string_view for json_tests
This avoids a static constructor of the global std::string, and rules
out possibly expensive and implicit copies of the string completely.
2024-09-03 16:06:20 +02:00
Hennadii Stepanov
d209e4f156
doc: Drop mentions of share/genbuild.sh 2024-08-29 12:38:37 +01:00
Hennadii Stepanov
8b6f1c4353
cmake: Add Coverage and CoverageFuzz scripts 2024-08-16 21:19:12 +01:00
Hennadii Stepanov
747adb6ffe
cmake: Add Maintenance module 2024-08-16 21:19:11 +01:00
Hennadii Stepanov
1f60b30df0
cmake: Add APPEND_{CPP,C,CXX,LD}FLAGS cache variables
The content of those variables is appended to the each target after the
flags added by the build system.
2024-08-16 21:19:11 +01:00
Hennadii Stepanov
2b43c45b13
cmake: Add AddWindowsResources module 2024-08-16 21:19:11 +01:00
Hennadii Stepanov
10fcc668a3
cmake: Add WITH_DBUS option 2024-08-16 19:27:42 +01:00
Hennadii Stepanov
5bb5a4bc75
cmake: Add libqrencode optional package support 2024-08-16 19:27:42 +01:00
Hennadii Stepanov
57a6e2ef4a
cmake: Build bitcoin-qt executable 2024-08-16 19:27:42 +01:00
Hennadii Stepanov
a8a2e364ac
cmake: Add Python-based tests 2024-08-16 19:27:41 +01:00
Hennadii Stepanov
801735163a
cmake: Add external signer support 2024-08-16 19:27:41 +01:00
Hennadii Stepanov
353e0c9e96
cmake: Add systemtap-sdt optional package support 2024-08-16 19:27:41 +01:00
Hennadii Stepanov
ae7b39a0e1
cmake: Add libminiupnpc optional package support 2024-08-16 19:27:40 +01:00
Hennadii Stepanov
6480e1dcdb
cmake: Add libnatpmp optional package support 2024-08-16 19:27:40 +01:00
Hennadii Stepanov
d10c5c34c3
cmake: Add wallet functionality 2024-08-16 19:27:40 +01:00
Hennadii Stepanov
959370bd76
cmake: Build test_bitcoin executable 2024-08-16 19:27:39 +01:00
Hennadii Stepanov
a9813df826
cmake: Build bitcoind executable 2024-08-16 19:27:39 +01:00
Hennadii Stepanov
97829ce2d5
cmake: Add FindLibevent module 2024-08-16 19:27:39 +01:00
Hennadii Stepanov
0a9a521a70
cmake: Build bitcoin_crypto library 2024-08-16 19:27:38 +01:00
Hennadii Stepanov
752747fda8
cmake: Generate obj/build.h header 2024-08-16 19:27:38 +01:00
Hennadii Stepanov
1f0a78edf3
cmake: Build minisketch static library 2024-08-16 19:27:38 +01:00
Hennadii Stepanov
12bfbc8154
cmake: Build leveldb static library
Co-authored-by: Cory Fields <cory-nospam-@coryfields.com>
2024-08-16 19:27:38 +01:00
Hennadii Stepanov
51985c5304
cmake: Build crc32c static library 2024-08-16 19:27:37 +01:00
Hennadii Stepanov
dbb7ed14e8
cmake: Add ccache support 2024-08-16 19:27:37 +01:00
Hennadii Stepanov
cedfdf6c72
cmake: Redefine/adjust per-configuration flags 2024-08-16 19:27:37 +01:00
Hennadii Stepanov
f98327931b
cmake: Add TryAppendLinkerFlag module 2024-08-16 19:27:37 +01:00
Hennadii Stepanov
4a0af29697
cmake: Add TryAppendCXXFlags module 2024-08-16 19:27:36 +01:00
Hennadii Stepanov
07069e2bb0
cmake: Add introspection module
Co-authored-by: Cory Fields <cory-nospam-@coryfields.com>
Co-authored-by: Vasil Dimov <vd@FreeBSD.org>
2024-08-16 19:27:36 +01:00
Hennadii Stepanov
27d687fc1f
cmake: Add config/bitcoin-config.h support 2024-08-16 19:27:36 +01:00
Hennadii Stepanov
fe5cdace5f
cmake: Print compiler and linker flags in summary 2024-08-16 19:27:36 +01:00
Hennadii Stepanov
70683884c5
cmake: Introduce interface libraries to encapsulate common flags
Also add a sanity check for non-encapsulated (directory-wide) build
properties.
2024-08-16 19:27:34 +01:00