cln/tests
Christian Decker 5c5f8cd0b4 dev: Add LLVM source-based code coverage support
Add support for LLVM source-based code coverage instrumentation, enabling
developers and CI to generate coverage reports for the Core Lightning codebase.

Build System:
- Add coverage-clang-collect and coverage-clang-report Makefile targets
- Fix missing endif for PYTEST_TESTS conditional
- Respect CARGO_TARGET_DIR environment variable for Rust builds

Coverage Scripts (contrib/coverage/):
- collect-coverage.sh: Merges .profraw files with validation and batching
- generate-coverage-report.sh: Generates HTML reports using llvm-cov

CI Workflow:
- coverage.yaml: Daily workflow for building, testing, and publishing reports

Usage:
  ./configure --enable-coverage CC=clang
  make -j$(nproc)
  CLN_COVERAGE_DIR=/tmp/cln-coverage make pytest
  make coverage-clang

Changelog-Changed: Added LLVM source-based code coverage support with CI integration
2026-08-07 14:52:50 +09:30
..
data doc: generate all examples with newchain 2026-07-13 18:15:06 -07:00
fuzz wire/splice: rename messages and TLV fields per updated BOLTs 2026-06-19 09:38:06 +09:30
plugins tests: drop obsolete x-prefix in compacter-slow.sh 2026-08-06 09:21:54 +02:00
vectors
__init__.py feat: add pytest config 2025-08-11 11:06:22 +09:30
autogenerate-rpc-examples.py tests: fix flaky listchannels doc example by waiting for l3 to disable its l4 channel 2026-07-20 13:27:36 +02:00
benchmark.py pay: deprecate pay and paystatus. 2026-05-11 13:51:52 +09:30
conftest.py feat: Enhance JUnit XML reporting with environment variables and add import to conftest.py 2026-02-02 11:41:09 +01:00
fixtures.py dev: Add LLVM source-based code coverage support 2026-08-07 14:52:50 +09:30
pytest.ini feat: add pytest config 2025-08-11 11:06:22 +09:30
rkls_github_canned_server.py fix: replace deprecated flask.escape with markupsafe.escape 2025-08-11 11:06:22 +09:30
test_askrene.py askrene: test explain: fix flake 2026-08-04 18:51:43 -03:00
test_bookkeeper.py tests: fixing flake8 + fixed fees in spliceout 2026-07-15 16:12:11 +02:00
test_cln_lsps.py msggen: new rust types for sat and sat_or_all 2026-07-17 10:16:18 +02:00
test_cln_rs.py cln-plugin: include the full error chain when given a context 2026-07-06 19:25:22 +02:00
test_clnrest.py clnrest: add clnrest-register-path method for dynamic paths 2026-01-19 12:55:57 +10:30
test_closing.py tests: fix flaky test_simple_close_dust_output_omitted mempool race 2026-07-21 10:45:43 +02:00
test_coinmoves.py pytest: changed old_hsmsecret to default to false. 2026-01-27 09:32:49 +10:30
test_connection.py tests: query our_outputs in test_connection.py 2026-07-28 09:30:11 +10:00
test_currencyrate.py currencyrate: propagate http errors to currencyrate rpc if a source is provided 2026-06-10 14:26:41 +02:00
test_db.py tests: add our_tables backfill upgrade test 2026-07-28 09:30:11 +10:00
test_downgrade.py add a test for downgrading askrene datastore 2026-08-04 18:51:43 -03:00
test_gossip.py connectd/tests: fix test_announce_and_connect_via_dns on macOS 2026-07-03 09:35:30 -03:00
test_invoices.py lightningd: internal cleanups since all non-command JSON IDs are strings. 2026-08-04 18:51:43 -03:00
test_misc.py libplugins: JSON ids are always strings. 2026-08-04 18:51:43 -03:00
test_mkfunding.py pytest: add tests for devtools/mkfunding 2023-01-09 14:50:30 -06:00
test_onion.py
test_opening.py lightningd: don't try to re-xmit funding tx for already-confirmed channels. 2026-06-22 12:04:19 +09:30
test_p2tr_change_dust.py bitcoin/tx.c: use 330 sat dust limit for P2TR/P2WPKH change outputs Fixes #8395 2026-05-08 21:08:41 +09:30
test_pay.py fetchinvoice: handle weird labels in recurrence_label parameter. 2026-08-04 18:51:43 -03:00
test_plugin.py lightningd: internal cleanups since all non-command JSON IDs are strings. 2026-08-04 18:51:43 -03:00
test_reckless.py tests: fix flaky reckless tests by waiting for the canned github server 2026-07-17 18:07:54 +02:00
test_renepay.py renepay: fix CLTV value for the first hop 2026-07-18 13:09:45 +02:00
test_restart.py splice: Remove experiemental splicing feature 2026-04-09 11:04:42 +09:30
test_runes.py pytest: changed old_hsmsecret to default to false. 2026-01-27 09:32:49 +10:30
test_splice.py splice: Make feerate opening + feerate_offset 2026-05-11 15:54:37 +09:30
test_splicing.py Revert "Bolt quote updates and improvements" 2026-06-18 13:22:14 +09:30
test_splicing_disconnect.py splice: Make feerate opening + feerate_offset 2026-05-11 15:54:37 +09:30
test_splicing_insane.py splice: Make feerate opening + feerate_offset 2026-05-11 15:54:37 +09:30
test_wallet.py lightningd: internal cleanups since all non-command JSON IDs are strings. 2026-08-04 18:51:43 -03:00
test_xpay.py xpay: tests should expect the new error messages 2026-08-04 18:51:43 -03:00
utils.py splice: Remove experiemental splicing feature 2026-04-09 11:04:42 +09:30
valgrind-suppressions.txt