X-Git-Url: https://git.distorted.org.uk/~mdw/disorder/blobdiff_plain/2b2a5fed939a267d9ab95ce900a15bf11e108edf..1e97629da2ea6c1ae328912ba82d4595eb08b700:/tests/play.py diff --git a/tests/play.py b/tests/play.py index ce5cbb1..35cc7a3 100755 --- a/tests/play.py +++ b/tests/play.py @@ -1,4 +1,4 @@ -#! /usr/bin/env python +#! /usr/bin/env python -u # # This file is part of DisOrder. # Copyright (C) 2007, 2008 Richard Kettlewell @@ -24,6 +24,7 @@ def test(): """Play some tracks""" dtest.start_daemon() dtest.create_user() + dtest.rescan() # ensure all files are scanned c = disorder.client() c.random_disable() assert c.random_enabled() == False @@ -44,11 +45,15 @@ def test(): assert c.enabled() == True p = c.playing() r = c.recent() + limit = 60 while not((p is not None and p['id'] == i) - or (len(filter(lambda t: t['track'] == track and 'submitter' in t, r)) > 0)): + or (len(filter(lambda t: t['track'] == track + and 'submitter' in t, r)) > 0)) and limit > 0: time.sleep(1) p = c.playing() r = c.recent() + limit -= 1 + assert limit > 0, "check track did complete in a reasonable time" print " checking track turned up in recent list" while (p is not None and p['id'] == i): time.sleep(1) @@ -75,9 +80,12 @@ def test(): c.scratch(i) print " waiting for track to finish" p = c.playing() - while (p is not None and p['id'] == i): + limit = 60 + while (p is not None and p['id'] == i) and limit > 0: time.sleep(1) p = c.playing() + limit -= 1 + assert limit > 0, "check track finishes in a reasonable period" print " checking scratched track turned up in recent list" r = c.recent() ts = filter(lambda t: t['id'] == i, r)