[NO MERGE] Travis: Run nightly test suite #7148

pull MarcoFalke wants to merge 10 commits into bitcoin:master from changing 7 files +144 −11
  1. MarcoFalke commented at 6:50 PM on December 1, 2015: member

    Ideally we want to detect fails in the extended suite early (i.e. in the PR which caused the fail). Though, this would double the runtime of the rpc tests in every PR from 5 to 10 minutes (with pruning.py disabled).

    Also, we'd want to collect --coverage data until all rpcs are covered and then fail on uncovered (new) rpcs.

    For now, every 24 hours a fresh nightly build is triggered within this PR.

    Current status:

    • Disable usual rpc tests and make check, otherwise travis will block the build exceeding the 2 hour max CPU time.
    • Disable pruning.py
    • Run extended coverage rpc tests once with CPPFLAGS=-DDEBUG_LOCKORDER
    • Verify subtrees
    • Enable qt4 build
  2. MarcoFalke commented at 6:51 PM on December 1, 2015: member

    Travis vanilla will not support nightly builds, but there are 3rd party apps available if this is a direction to take: https://github.com/travis-ci/travis-ci/issues/582#issuecomment-10366023 https://github.com/travis-ci/travis-ci/issues/582#issuecomment-123484647

  3. jonasschnelli commented at 7:23 AM on December 2, 2015: contributor

    Am i right: every 24h this PR get's updated with the current master (over an external script) and makes this PR act as a nightly build?

  4. jonasschnelli added the label Tests on Dec 2, 2015
  5. MarcoFalke commented at 7:41 AM on December 2, 2015: member

    Yes, pretty much like that right now.

  6. laanwj commented at 10:02 AM on December 3, 2015: member

    Seems like a good idea.

  7. MarcoFalke commented at 5:47 PM on December 9, 2015: member

    Nice, looks like this caught it's first fish. (I should set up an alert or something)

  8. MarcoFalke commented at 5:47 PM on December 9, 2015: member

    https://travis-ci.org/bitcoin/bitcoin/builds/95840859 failed with

    Running 2nd level testscript maxuploadtarget.py ...
    start_node: bitcoind started, calling bitcoin-cli -rpcwait getblockcount
    start_node: calling bitcoin-cli -rpcwait getblockcount returned
    MiniNode: Connecting to Bitcoin Node IP # 127.0.0.1:11523
    MiniNode: Connecting to Bitcoin Node IP # 127.0.0.1:11523
    MiniNode: Connecting to Bitcoin Node IP # 127.0.0.1:11523
    Assertion failed: 68 != 69
      File "/home/travis/build/bitcoin/bitcoin/bitcoin-i686-pc-linux-gnu/qa/rpc-tests/test_framework/test_framework.py", line 135, in main
        self.run_test()
      File "/home/travis/build/bitcoin/bitcoin/bitcoin-i686-pc-linux-gnu/qa/rpc-tests/maxuploadtarget.py", line 203, in run_test
        assert_equal(test_nodes[0].block_receive_map[big_old_block], i+1)
      File "/home/travis/build/bitcoin/bitcoin/bitcoin-i686-pc-linux-gnu/qa/rpc-tests/test_framework/util.py", line 394, in assert_equal
        raise AssertionError("%s != %s"%(str(thing1),str(thing2)))
    Stopping nodes
    Cleaning up
    Failed
    Traceback (most recent call last):
      File "qa/pull-tester/rpc-tests.py", line 255, in <module>
        runtests()
      File "qa/pull-tester/rpc-tests.py", line 174, in runtests
        rpcTestDir + testScriptsExt[i] + flags, shell=True)
      File "/usr/lib/python2.7/subprocess.py", line 511, in check_call
        raise CalledProcessError(retcode, cmd)
    subprocess.CalledProcessError: Command '/home/travis/build/bitcoin/bitcoin/bitcoin-i686-pc-linux-gnu/qa/rpc-tests/maxuploadtarget.py --srcdir /home/travis/build/bitcoin/bitcoin/bitcoin-i686-pc-linux-gnu/src --coveragedir /tmp/coveragexHdFgP ' returned non-zero exit status 1
    
  9. MarcoFalke commented at 9:18 PM on December 14, 2015: member

    @sdaftuar maxuploadtarget failed again. Mind to look at this? (I couldn't reproduce locally)

    Running 2nd level testscript maxuploadtarget.py ...
    start_node: bitcoind started, calling bitcoin-cli -rpcwait getblockcount
    start_node: calling bitcoin-cli -rpcwait getblockcount returned
    MiniNode: Connecting to Bitcoin Node IP # 127.0.0.1:11593
    MiniNode: Connecting to Bitcoin Node IP # 127.0.0.1:11593
    MiniNode: Connecting to Bitcoin Node IP # 127.0.0.1:11593
    Assertion failed: 2 != 3
      File "/home/travis/build/bitcoin/bitcoin/bitcoin-i686-pc-linux-gnu/qa/rpc-tests/test_framework/test_framework.py", line 135, in main
        self.run_test()
      File "/home/travis/build/bitcoin/bitcoin/bitcoin-i686-pc-linux-gnu/qa/rpc-tests/maxuploadtarget.py", line 203, in run_test
        assert_equal(test_nodes[0].block_receive_map[big_old_block], i+1)
      File "/home/travis/build/bitcoin/bitcoin/bitcoin-i686-pc-linux-gnu/qa/rpc-tests/test_framework/util.py", line 394, in assert_equal
        raise AssertionError("%s != %s"%(str(thing1),str(thing2)))
    Stopping nodes
    Cleaning up
    Failed
    Traceback (most recent call last):
      File "qa/pull-tester/rpc-tests.py", line 256, in <module>
        runtests()
      File "qa/pull-tester/rpc-tests.py", line 175, in runtests
        rpcTestDir + testScriptsExt[i] + flags, shell=True)
      File "/usr/lib/python2.7/subprocess.py", line 511, in check_call
        raise CalledProcessError(retcode, cmd)
    subprocess.CalledProcessError: Command '/home/travis/build/bitcoin/bitcoin/bitcoin-i686-pc-linux-gnu/qa/rpc-tests/maxuploadtarget.py --srcdir /home/travis/build/bitcoin/bitcoin/bitcoin-i686-pc-linux-gnu/src --coveragedir /tmp/coveragesoVFH4 ' returned non-zero exit status 1
    
  10. sdaftuar commented at 10:04 PM on December 14, 2015: member

    @MarcoFalke Strange, I don't understand how that error can happen, but one thing I noticed is that there should be a with mininode_lock: guarding the assert_equal(test_nodes[0].block_receive_map[big_old_block]) line. Still, I can't come up with a logical scenario where there's actually a race condition there (but acquiring the lock is the right way to ensure there is no race, since both threads are updating that variable).

    If we can't come up with other ideas, perhaps we can make that fix and see if the problem recurs...

  11. laanwj commented at 8:20 AM on January 7, 2016: member

    @MarcoFalke can you please include #7142 into this?

  12. MarcoFalke renamed this:
    [WIP] Run extended nightly builds in travis
    [WIP] Travis: Run extended nightly builds
    on Mar 3, 2016
  13. MarcoFalke renamed this:
    [WIP] Travis: Run extended nightly builds
    [WIP] Travis: Run extended test suite
    on Apr 2, 2016
  14. sipa commented at 10:32 AM on May 25, 2016: member

    @arowser Have you even looked at this patch yourself? It is not intended to be merged, as it is automatically retriggered every 24h to detect bugs only caught by the extended tests. Please stop pinging every single pull request. Repository maintainers merge when there is sufficient agreement and review done, but they are not the only ones who do reviews. If you want to help merging things, please review yourself.

  15. sipa commented at 1:55 PM on May 25, 2016: member

    @arowser Furthermore, I consider the many comments you've left as spam, and I'll delete them when I encounter them. Please don't do that again, or I'll report it as abuse.

  16. arowser commented at 3:06 AM on May 27, 2016: contributor

    @sipa Sorry to everyone, I just try to create a jenkins build robot in for every pull request to support more build type that not build in travis like PPC/MIPS, but the jenkins robot auto add comments by error configure. I have remove all these comments now, sorry again for these spam comments.

  17. MarcoFalke commented at 10:54 AM on June 13, 2016: member

    Noting failure in feefilter:

      File "/home/travis/build/bitcoin/bitcoin/build/../qa/rpc-tests/p2p-feefilter.py", line 101, in run_test
    
        assert(allInvsMatch(txids, test_node))
    
  18. sdaftuar commented at 4:55 AM on June 17, 2016: member

    @MarcoFalke I figured out the feefilter issue. Looks like sometimes the second-to-last test generates transactions which don't relay within 10 seconds, and then get relayed after the feefilter is updated in the last test.

  19. da2ce7 commented at 8:09 AM on February 20, 2017: none

    @MarcoFalke, what is the status of this pull request? Do you wish to rebase?

  20. laanwj commented at 9:54 AM on February 20, 2017: member

    This pull is not intended to be merged, it just re-pushes (and re-bases) regularly to run Travis w/ full test suite, which is too slow for automatic use.

  21. TheBlueMatt commented at 4:19 PM on February 20, 2017: member

    Maybe the PR title should be updated to indicate this?

    On February 20, 2017 4:54:46 AM EST, "Wladimir J. van der Laan" notifications@github.com wrote:

    This pull is not intended to be merged, it just re-pushes (and re-bases) regularly to run Travis w/ full test suite, which is too slow for automatic use.

    -- You are receiving this because you are subscribed to this thread. Reply to this email directly or view it on GitHub: https://github.com/bitcoin/bitcoin/pull/7148#issuecomment-281034479

  22. MarcoFalke renamed this:
    [WIP] Travis: Run extended test suite
    [NO MERGE] Travis: Run extended test suite
    on Feb 23, 2017
  23. MarcoFalke renamed this:
    [NO MERGE] Travis: Run extended test suite
    [NO MERGE] Travis: Run nightly test suite
    on Feb 23, 2017
  24. jnewbery commented at 3:13 PM on March 23, 2017: member

    Now that Travis supports cron jobs, can this be replaced with something like #10052? I'm happy to help merging them if you think that's useful.

  25. [travis] verify subtrees, bitcoin/master commit
    * Add draft to run a test against an old binary (0.12.1)
    96284f4fef
  26. [qa] Add script to check for datadir compatibility between versions 4118db9d84
  27. [qa] travis: Only run extended rpc tests ab77daafa7
  28. WIP: Don't merge. Trigger nightly build without pruning, rpcbind 4c78762e92
  29. qa travis: --enable-werror c7627e38ea
  30. qa: Stop only nodes that were started when one fails to start f688ddc9e2
  31. Run valgrind e6c86fe225
  32. nightly: Check salvagewallet fd43e8f571
  33. nightly: Only smoke test with valgrind f2cbc68e60
  34. nightly: Compat with 0.14.0 only for now 9dbb58147d
  35. TheBlueMatt commented at 1:56 PM on April 13, 2017: member

    I believe this can be closed now?

  36. laanwj commented at 2:08 PM on April 13, 2017: member

    I think so - @MarcoFalke please reopen if necessary.

  37. laanwj closed this on Apr 13, 2017

  38. jnewbery commented at 2:20 PM on April 13, 2017: member

    This seems to include tests that aren't covered by the travis cron job, namely valgrind, testing salvagewallet and a new compatibility functional test. @MarcoFalke - do you think those should be merged into master to be run by the cron job? If so, I'm happy to help with merging/reviewing.

  39. MarcoFalke commented at 7:20 PM on April 13, 2017: member

    @jnewbery Most of the code here is just a reminder for myself to look further into that topic. Not really ready to be merged or put into our travis yaml, as the diff needs to be adjusted every couple of weeks.

  40. MarcoFalke locked this on Sep 8, 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-13 21:15 UTC

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