RFC: Build feature set shouldn't affect the total unit test list #35741

issue hebasto opened this issue on July 17, 2026
  1. hebasto commented at 2:07 PM on July 17, 2026: member

    Currently, the build system includes source files with unit tests depending on the actual build feature set, including options such as ENABLE_WALLET, ENABLE_IPC and BUILD_GUI_TESTS.

    This leads to confusion when test results from different builds are aggregated together, for example, in https://my.cdash.org/index.php?project=bitcoin-core. It raises questions about why the total number of tests differs across builds.

    The functional tests take a better approach by simply disabling tests for unavailable features.

    I believe the unit tests should adopt the same approach.

    In light of the ongoing modernization of the test framework (https://github.com/bitcoin/bitcoin/pull/33483 and #35713), I wonder whether those efforts are compatible with this idea.

  2. hebasto added the label Tests on Jul 17, 2026
  3. hebasto commented at 2:08 PM on July 17, 2026: member

    Related: #31576.

  4. maflcko added the label Build system on Jul 17, 2026
  5. maflcko commented at 2:09 PM on August 6, 2026: member

    I think it would be tedious to (let's say) compile a empty dummy test suite for every wallet test suite, even when the wallet is disabled. I think it is normal and expected for tests to not be counted when not compiled?

  6. purpleKarrot commented at 4:46 PM on August 6, 2026: contributor

    This leads to confusion when test results from different builds are aggregated together,

    What build results are aggregated together and why? CDash displays test deltas (-1, +1) based on the previous build with the same build name and site name.

    We should make sure that ENABLE_WALLET, ENABLE_IPC and BUILD_GUI_TESTS should remain consistent. Don't submit test results with different values of ENABLE_WALLET and identical build name. A naming convention for build names that encodes those settings helps. You seem to already do that with build names like "Alpine, depends, no GUI".

  7. hebasto commented at 5:14 PM on August 6, 2026: member

    This leads to confusion when test results from different builds are aggregated together,

    What build results are aggregated together and why? CDash displays test deltas (-1, +1) based on the previous build with the same build name and site name.

    We should make sure that ENABLE_WALLET, ENABLE_IPC and BUILD_GUI_TESTS should remain consistent. Don't submit test results with different values of ENABLE_WALLET and identical build name. A naming convention for build names that encodes those settings helps. You seem to already do that with build names like "Alpine, depends, no GUI".

    That's exactly right. However, because some features are platform-dependent, it's much more convenient to see exactly which tests are disabled for a specific environment when switching platforms locally to build and test.


github-metadata-mirror

This is a metadata mirror of the GitHub repository bitcoin/bitcoin. This site is not affiliated with GitHub. Content is generated from a GitHub metadata backup.
generated: 2026-08-10 21:51 UTC

This site is hosted by @0xB10C
More mirrored repositories can be found on mirror.b10c.me