From: Richard Kettlewell Date: Mon, 2 Jun 2008 14:06:30 +0000 (+0100) Subject: Avoid play.py looping indefinitely. X-Git-Tag: 4.0~39 X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~mdw/git/disorder/commitdiff_plain/05438e8999dbc0edc4cc82c3df4cc5efdedb777e?hp=bfa2f233a2fbcdd16205b7018c832575e2f01520;ds=sidebyside Avoid play.py looping indefinitely. --- diff --git a/tests/dtest.py b/tests/dtest.py index 5eac2ea..be45435 100644 --- a/tests/dtest.py +++ b/tests/dtest.py @@ -313,6 +313,7 @@ def run(module=None, report=True): if type(module) == str: module = __import__(module) name = module.__name__ + print "--- %s ---" % name # Open the error log global errs logfile = "%s.log" % name diff --git a/tests/play.py b/tests/play.py index 0013d7e..c298ce5 100755 --- a/tests/play.py +++ b/tests/play.py @@ -18,7 +18,7 @@ # Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 # USA # -import dtest,time,disorder,re +import dtest,time,disorder,re,sys def test(): """Play some tracks""" @@ -66,7 +66,9 @@ def test(): print " testing scratches" retry = False - while True: + scratchlimit = 5 + while scratchlimit > 0: + scratchlimit -= 1 c.disable() print " starting a track" c.play(track) @@ -95,6 +97,10 @@ def test(): continue assert ts[0]['state'] == 'scratched', "checking track scratched" break + if scratchlimit == 0: + # TODO this is really not a great approach! + print " didn't complete in a reasonable time" + sys.exit(77) print " waiting for scratch to complete" p = c.recent() while p is not None: