X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~mdw/git/disorder/blobdiff_plain/7ebd22d96eab9fbc3d6180ea6697c7a86ad08657..fc9c24e3ebb095d05e2d140526289c622d6e5504:/tests/dtest.py diff --git a/tests/dtest.py b/tests/dtest.py index 11b6e8b..38c7219 100644 --- a/tests/dtest.py +++ b/tests/dtest.py @@ -70,7 +70,7 @@ def maketrack(s): """maketrack(S) Make track with relative path S exist""" - trackpath = "%s/tracks/%s" % (testroot, s) + trackpath = "%s/%s" % (tracks, s) trackdir = os.path.dirname(trackpath) if not os.path.exists(trackdir): os.makedirs(trackdir) @@ -82,18 +82,16 @@ def stdtracks(): maketrack("Joe Bloggs/First Album/03:Third track.ogg") maketrack("Joe Bloggs/First Album/04:Fourth track.ogg") maketrack("Joe Bloggs/First Album/05:Fifth track.ogg") - maketrack("Joe Bloggs/First Album/05:Fifth track.ogg") maketrack("Joe Bloggs/Second Album/01:First track.ogg") maketrack("Joe Bloggs/Second Album/02:Second track.ogg") maketrack("Joe Bloggs/Second Album/03:Third track.ogg") maketrack("Joe Bloggs/Second Album/04:Fourth track.ogg") maketrack("Joe Bloggs/Second Album/05:Fifth track.ogg") - maketrack("Joe Bloggs/Second Album/05:Fifth track.ogg") - maketrack("Joe Bloggs/First Album/01:First track.ogg") - maketrack("Joe Bloggs/First Album/02:Second track.ogg") - maketrack("Joe Bloggs/First Album/03:Third track.ogg") - maketrack("Joe Bloggs/First Album/04:Fourth track.ogg") - maketrack("Joe Bloggs/First Album/05:Fifth track.ogg") + maketrack("Joe Bloggs/Third Album/01:First track.ogg") + maketrack("Joe Bloggs/Third Album/02:Second track.ogg") + maketrack("Joe Bloggs/Third Album/03:Third track.ogg") + maketrack("Joe Bloggs/Third Album/04:Fourth track.ogg") + maketrack("Joe Bloggs/Third Album/05:Fifth track.ogg") maketrack("Fred Smith/Boring/01:Dull.ogg") maketrack("Fred Smith/Boring/02:Tedious.ogg") maketrack("Fred Smith/Boring/03:Drum Solo.ogg") @@ -102,14 +100,41 @@ def stdtracks(): maketrack("Various/Greatest Hits/01:Jim Whatever - Spong.ogg") maketrack("Various/Greatest Hits/02:Joe Bloggs - Yadda.ogg") -def notracks(): - pass +def common_setup(): + remove_dir(testroot) + os.mkdir(testroot) + open("%s/config" % testroot, "w").write( + """player *.ogg shell 'echo "$TRACK" >> %s/played.log' +home %s +collection fs UTF-8 %s/tracks +scratch %s/scratch.ogg +gap 0 +stopword 01 02 03 04 05 06 07 08 09 10 +stopword 1 2 3 4 5 6 7 8 9 +stopword 11 12 13 14 15 16 17 18 19 20 +stopword 21 22 23 24 25 26 27 28 29 30 +stopword the a an and to too in on of we i am as im for is +username fred +password fredpass +allow fred fredpass +plugins %s/plugins +player *.mp3 execraw disorder-decode +player *.ogg execraw disorder-decode +player *.wav execraw disorder-decode +player *.flac execraw disorder-decode +tracklength *.mp3 disorder-tracklength +tracklength *.ogg disorder-tracklength +tracklength *.wav disorder-tracklength +tracklength *.flac disorder-tracklength +""" % (testroot, testroot, testroot, testroot, top_builddir)) + copyfile("%s/sounds/scratch.ogg" % top_srcdir, + "%s/scratch.ogg" % testroot) def start_daemon(): """start_daemon() Start the daemon.""" - global daemon + global daemon, errs assert daemon == None print " starting daemon" daemon = subprocess.Popen(["disorderd", @@ -141,6 +166,7 @@ def run(module=None, report=True): will be imported) or a module object.""" global tests tests += 1 + # Locate the test module if module is None: # We're running a test stand-alone import __main__ @@ -151,10 +177,16 @@ def run(module=None, report=True): if type(module) == str: module = __import__(module) name = module.__name__ + # Open the error log global errs errs = open("%s.log" % name, "w") - setup = stdtracks - setup() + # Ensure that disorder.py uses the test installation + disorder._configfile = "%s/config" % testroot + disorder._userconf = False + # Make config file etc + common_setup() + # Create some standard tracks + stdtracks() try: try: module.test() @@ -190,31 +222,4 @@ tests = 0 failures = 0 daemon = None testroot = "%s/tests/testroot" % top_builddir -remove_dir(testroot) -os.mkdir(testroot) -open("%s/config" % testroot, "w").write( -"""player *.ogg shell 'echo "$TRACK" >> %s/played.log' -home %s -collection fs ASCII %s/tracks -scratch %s/scratch.ogg -gap 0 -stopword 01 02 03 04 05 06 07 08 09 10 -stopword 1 2 3 4 5 6 7 8 9 -stopword 11 12 13 14 15 16 17 18 19 20 -stopword 21 22 23 24 25 26 27 28 29 30 -stopword the a an and to too in on of we i am as im for is -username fred -password fredpass -allow fred fredpass -plugins %s/plugins -player *.mp3 execraw disorder-decode -player *.ogg execraw disorder-decode -player *.wav execraw disorder-decode -player *.flac execraw disorder-decode -tracklength *.mp3 disorder-tracklength -tracklength *.ogg disorder-tracklength -tracklength *.wav disorder-tracklength -tracklength *.flac disorder-tracklength -""" % (testroot, testroot, testroot, testroot, top_builddir)) -copyfile("%s/sounds/scratch.ogg" % top_srcdir, - "%s/scratch.ogg" % testroot) +tracks = "%s/tracks" % testroot