Build test/* as part of make check #15260

issue Sjors opened this issue on January 25, 2019
  1. Sjors commented at 11:21 AM on January 25, 2019: member

    Currently make spends a significant amount of time on test/test_*_tests.o, even on a modern iMac this is annoyingly slow.

    This causes me to often build with --disable-tests, and then run ./configure again when I do want to run the unit test suite. So I don't run the unit test suite less often than I should (the functional test suite doesn't have this issue).

    It would be better if the tests are compiled as part of make check.

  2. fanquake added the label Build system on Jan 25, 2019
  3. fanquake added the label Tests on Jan 25, 2019
  4. sdaftuar commented at 2:23 PM on January 25, 2019: member

    I think the tests are compiled as part of make check -- I assume you mean that it'd be better if the tests were not compiled except as part of make check, to speed up regular compilation?

  5. Sjors commented at 6:37 PM on January 25, 2019: member

    Indeed, not compiling during make, only during make check.

  6. MarcoFalke added the label good first issue on Jan 25, 2019
  7. MarcoFalke added the label Up for grabs on Jan 25, 2019
  8. MarcoFalke removed the label Up for grabs on Jan 25, 2019
  9. fanquake commented at 3:32 AM on January 26, 2019: member

    @Sjors Can you post the specs of the machine/s you're using, and some compilation times?

  10. promag commented at 6:40 PM on January 28, 2019: member

    FWIW you can skip those by specifying the target, for instance, make src/bitcoind.

  11. sipa commented at 6:43 PM on January 28, 2019: member

    I think it's pretty unconventional to only build the test at make check time.

  12. promag commented at 6:44 PM on January 28, 2019: member

    BTW, from https://www.gnu.org/prep/standards/html_node/Standard-Targets.html, all should be the default target.

  13. MarcoFalke added the label Brainstorming on Jan 28, 2019
  14. MarcoFalke removed the label good first issue on Jan 28, 2019
  15. MarcoFalke commented at 7:33 PM on January 28, 2019: member

    FWIW you can skip those by specifying the target, for instance, make src/bitcoind.

    Note that some targets (gut tests, fuzz binary, ...?) can not be build this way. I'd be happy if someone changed that.

  16. Sjors commented at 3:53 PM on January 29, 2019: member

    I guess using make src/bitcoind isn't too bad, and it's also a good way to avoid building QT (I currently just have two separate folders).

    But that won't build bitcoin-cli would it? Though that only matters when working on the RPC.

    Maybe make daemon could do both files?

  17. promag commented at 4:01 PM on January 29, 2019: member

    You can make multiple targets, for instance make -j src/bitcoind src/bitcoin-cli src/qt/bitcoin-qt.

  18. MarcoFalke commented at 4:03 PM on January 29, 2019: member

    TIL

  19. Sjors commented at 2:29 PM on February 19, 2019: member

    I'm fairly contend with the multi target approach @promag suggested.

  20. Sjors closed this on Feb 19, 2019

  21. DrahtBot locked this on Dec 16, 2021

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-04-14 09:15 UTC

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