[tests] Make comp test framework more debuggable #11468

pull jnewbery wants to merge 1 commits into bitcoin:master from jnewbery:comp_test_debuggable changing 1 files +5 −5
  1. jnewbery commented at 2:09 PM on October 9, 2017: member

    We should remove the comparison test framework entirely (see #10603).

    Until we do that, let's make it a bit more debuggable. Currently, if there's an assert in the framework, it's very difficult to track down where we are in the test generator. Make the logging a bit better to help with debugging.

    Before this PR:

    → ./p2p-fullblocktest.py 
    2017-10-09 14:05:11.302000 TestFramework (INFO): Initializing test directory /tmp/user/1000/testzdnax_yr
    2017-10-09 14:05:11.557000 TestFramework.mininode (INFO): Connecting to Bitcoin Node: 127.0.0.1:11975
    2017-10-09 14:05:11.712000 TestFramework.comptool (INFO): Test 1: PASS
    2017-10-09 14:05:11.947000 TestFramework.comptool (INFO): Test 2: PASS
    2017-10-09 14:05:12.057000 TestFramework.comptool (INFO): Test 3: PASS
    2017-10-09 14:05:12.058000 TestFramework (ERROR): Assertion failed
    Traceback (most recent call last):
      File "/home/ubuntu/bitcoin/test/functional/test_framework/test_framework.py", line 117, in main
        self.run_test()
      File "./p2p-fullblocktest.py", line 72, in run_test
        self.test.run()
      File "/home/ubuntu/bitcoin/test/functional/test_framework/comptool.py", line 306, in run
        assert test_number != 4
    AssertionError
    2017-10-09 14:05:12.059000 TestFramework (INFO): Stopping nodes
    2017-10-09 14:05:14.203000 TestFramework (WARNING): Not cleaning up dir /tmp/user/1000/testzdnax_yr
    2017-10-09 14:05:14.204000 TestFramework (ERROR): Test failed. Test logging available at /tmp/user/1000/testzdnax_yr/test_framework.log
    

    With this PR:

    → ./p2p-fullblocktest.py 
    2017-10-09 14:03:54.069000 TestFramework (INFO): Initializing test directory /tmp/user/1000/testuey7t3tf
    2017-10-09 14:03:54.329000 TestFramework.mininode (INFO): Connecting to Bitcoin Node: 127.0.0.1:11783
    2017-10-09 14:03:54.383000 TestFramework.comptool (INFO): Running test 1: ./p2p-fullblocktest.py line 184
    2017-10-09 14:03:54.496000 TestFramework.comptool (INFO): Running test 2: ./p2p-fullblocktest.py line 193
    2017-10-09 14:03:54.758000 TestFramework.comptool (INFO): Running test 3: ./p2p-fullblocktest.py line 205
    2017-10-09 14:03:54.867000 TestFramework.comptool (INFO): Running test 4: ./p2p-fullblocktest.py line 208
    2017-10-09 14:03:54.867000 TestFramework (ERROR): Assertion failed
    Traceback (most recent call last):
      File "/home/ubuntu/bitcoin/test/functional/test_framework/test_framework.py", line 117, in main
        self.run_test()
      File "./p2p-fullblocktest.py", line 72, in run_test
        self.test.run()
      File "/home/ubuntu/bitcoin/test/functional/test_framework/comptool.py", line 309, in run
        assert test_number != 4
    AssertionError
    2017-10-09 14:03:54.868000 TestFramework (INFO): Stopping nodes
    2017-10-09 14:03:56.950000 TestFramework (WARNING): Not cleaning up dir /tmp/user/1000/testuey7t3tf
    2017-10-09 14:03:56.950000 TestFramework (ERROR): Test failed. Test logging available at /tmp/user/1000/testuey7t3tf/test_framework.log
    
  2. [tests] Make comp test framework more debuggable
    Add logging so that each test prints the line number of the yield
    statement that generated the test.
    7481579131
  3. fanquake added the label Tests on Oct 9, 2017
  4. promag commented at 3:54 PM on October 9, 2017: member

    utACK 7481579.

    I like seeing Test X: PASS and I in the same line Test X: FAILED. How about wrapping in try/catch instead?

  5. jnewbery commented at 5:49 PM on October 9, 2017: member

    I like seeing Test X: PASS and I in the same line Test X: FAILED. How about wrapping in try/catch instead?

    I don't think there's need for that. The problem this is solving is not having a way to tell where in the test script execution has reached when there's a failure. I've done that with the smallest change I could.

    We should stop using the comparison test framework entirely for these static tests (see https://botbot.me/freenode/bitcoin-core-dev/2017-06-15/?msg=87309124&page=3) so I don't intend to make bigger changes than is necessary.

  6. promag commented at 10:53 PM on October 9, 2017: member

    Yes, that should be a bigger patch. Just read the IRC log 👍

  7. MarcoFalke commented at 3:07 PM on November 10, 2017: member

    Obvious utACK 7481579. Sorry that I missed this.

  8. MarcoFalke merged this on Nov 10, 2017
  9. MarcoFalke closed this on Nov 10, 2017

  10. MarcoFalke referenced this in commit 76b3349159 on Nov 10, 2017
  11. jnewbery deleted the branch on Nov 10, 2017
  12. PastaPastaPasta referenced this in commit 128ed7f408 on Dec 27, 2019
  13. PastaPastaPasta referenced this in commit 4227b6d585 on Jan 2, 2020
  14. PastaPastaPasta referenced this in commit 12fda46dfd on Jan 4, 2020
  15. PastaPastaPasta referenced this in commit ce5b846a0f on Jan 12, 2020
  16. PastaPastaPasta referenced this in commit 107a86efe7 on Jan 12, 2020
  17. PastaPastaPasta referenced this in commit 2f4948fc71 on Jan 12, 2020
  18. PastaPastaPasta referenced this in commit 2d6af79199 on Jan 12, 2020
  19. PastaPastaPasta referenced this in commit 1fea156fa6 on Jan 12, 2020
  20. PastaPastaPasta referenced this in commit e2185c9914 on Jan 12, 2020
  21. DrahtBot 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-14 18:15 UTC

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