[Checkins] [zopefoundation/zdaemon] 3fdf0a: Refactoring

GitHub noreply at github.com
Wed Apr 15 17:07:28 CEST 2015


  Branch: refs/heads/speed-up-tests
  Home:   https://github.com/zopefoundation/zdaemon
  Commit: 3fdf0a23cf2dc64af8408dd7c3949b3e809c39a0
      https://github.com/zopefoundation/zdaemon/commit/3fdf0a23cf2dc64af8408dd7c3949b3e809c39a0
  Author: Marius Gedminas <marius at gedmin.as>
  Date:   2015-04-15 (Wed, 15 Apr 2015)

  Changed paths:
    M src/zdaemon/zdctl.py

  Log Message:
  -----------
  Refactoring

Move help_help because it helps to have _start_cond() next to awhile().


  Commit: 436f4a39d1fffa8f6019faacc48ef9b01019db4c
      https://github.com/zopefoundation/zdaemon/commit/436f4a39d1fffa8f6019faacc48ef9b01019db4c
  Author: Marius Gedminas <marius at gedmin.as>
  Date:   2015-04-15 (Wed, 15 Apr 2015)

  Changed paths:
    M src/zdaemon/zdctl.py

  Log Message:
  -----------
  Increase polling frequency in ZDCmd.awhile() (#12)

This makes the tests somewhat faster (disappointingly: 60s becomes 50s).
More interestingly, it exposes various race conditions in the tests,
when the polling frequency becomes too high (freq=1000 often makes 3
tests fail, while also reducing the test run time to 30s).

I originally had a bug where I was accidentally busy-waiting instead of
sleeping in every iteration.  That made tests very fast (15s) but made
one of them (dont_hang_when_program_doesnt_start) consistently fail.

I think the right fix is to do away with polling and instead introduce a
blocking version of get_status() that would wait (with a timeout) for
some change.


Compare: https://github.com/zopefoundation/zdaemon/compare/3fdf0a23cf2d^...436f4a39d1ff


More information about the checkins mailing list