chiark / gitweb /
sync up with disorder.dev
authorRichard Kettlewell <rjk@greenend.org.uk>
Wed, 21 Nov 2007 11:18:34 +0000 (11:18 +0000)
committerRichard Kettlewell <rjk@greenend.org.uk>
Wed, 21 Nov 2007 11:18:34 +0000 (11:18 +0000)
1  2 
tests/dbversion.py
tests/dtest.py
tests/files.py

index e5b5c4845b8fe26d36ec13ea3200787d25535c05,0000000000000000000000000000000000000000..9849bf3d17ad222ad8a596aa67dbaf57886104ba
mode 100644,000000..100644
--- /dev/null
@@@ -1,53 -1,0 +1,53 @@@
-     dtest.run(test)
 +#! /usr/bin/env python
 +#
 +# This file is part of DisOrder.
 +# Copyright (C) 2007 Richard Kettlewell
 +#
 +# This program is free software; you can redistribute it and/or modify
 +# it under the terms of the GNU General Public License as published by
 +# the Free Software Foundation; either version 2 of the License, or
 +# (at your option) any later version.
 +#
 +# This program is distributed in the hope that it will be useful, but
 +# WITHOUT ANY WARRANTY; without even the implied warranty of
 +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
 +# General Public License for more details.
 +#
 +# You should have received a copy of the GNU General Public License
 +# along with this program; if not, write to the Free Software
 +# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307
 +# USA
 +#
 +import dtest,time,disorder,sys,re
 +
 +def test():
 +    """Database version tests"""
 +    # Start up with dbversion 1
 +    config = "%s/config" % dtest.testroot
 +    configsave = "%s.save" % config
 +    dtest.copyfile(config, configsave)
 +    open(config, "a").write("dbversion 1\n")
 +    dtest.start_daemon()
 +    time.sleep(2)
 +    dtest.stop_daemon()
 +    # Revert to default configuration
 +    dtest.copyfile(configsave, config)
 +    dtest.start_daemon()
 +    time.sleep(2)
 +    c = disorder.client()
 +    try:
 +        v = c.version()
 +        print "unexpected success"
 +        ok = False
 +    except disorder.communicationError, e:
 +        if re.search("connection refused", str(e)):
 +            print "unexpected error: %s" % e
 +            ok = False
 +        else:
 +            ok = True
 +    dtest.stop_daemon()
 +    if not ok:
 +        sys.exit(1)
 +
 +if __name__ == '__main__':
++    dtest.run()
diff --cc tests/dtest.py
index b5cc9c9f16dd0674ae652362a367241c926d9aef,38c72196f0438a57bc7f5779de2f4f2e53a8ff63..26fca75fe9dc803754affdd134579485271f0e86
@@@ -139,10 -99,7 +139,7 @@@ def stdtracks()
      maketrack("misc/blahblahblah.ogg")
      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)
diff --cc tests/files.py
index 2f636ec860cb86b33bcd440ab847ddf8bd125968,0000000000000000000000000000000000000000..89375a66a50def6bb729be8fbdd96e95233baf7f
mode 100755,000000..100755
--- /dev/null
@@@ -1,56 -1,0 +1,56 @@@
-     dtest.run(test)
 +#! /usr/bin/env python
 +#
 +# This file is part of DisOrder.
 +# Copyright (C) 2007 Richard Kettlewell
 +#
 +# This program is free software; you can redistribute it and/or modify
 +# it under the terms of the GNU General Public License as published by
 +# the Free Software Foundation; either version 2 of the License, or
 +# (at your option) any later version.
 +#
 +# This program is distributed in the hope that it will be useful, but
 +# WITHOUT ANY WARRANTY; without even the implied warranty of
 +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
 +# General Public License for more details.
 +#
 +# You should have received a copy of the GNU General Public License
 +# along with this program; if not, write to the Free Software
 +# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307
 +# USA
 +#
 +import dtest,time,disorder,sys
 +
 +def test():
 +    """Check that the file listing comes out right"""
 +    dtest.start_daemon()
 +    time.sleep(5)                       # give rescan a chance
 +    c = disorder.client()
 +    failures = 0
 +    for d in dtest.dirs_by_dir:
 +        xdirs = dtest.dirs_by_dir[d]
 +        dirs = c.directories(d)
 +        xdirs.sort()
 +        dirs.sort()
 +        if dirs != xdirs:
 +            print
 +            print "directory: %s" % d
 +            print "expected:  %s" % xdirs
 +            print "got:       %s" % dirs
 +            failures += 1
 +    for d in dtest.files_by_dir:
 +        xfiles = dtest.files_by_dir[d]
 +        files = c.files(d)
 +        xfiles.sort()
 +        files.sort()
 +        if files != xfiles:
 +            print
 +            print "directory: %s" % d
 +            print "expected:  %s" % xfiles
 +            print "got:       %s" % files
 +            failures += 1
 +    if failures:
 +        print
 +        sys.exit(1)
 +
 +if __name__ == '__main__':
++    dtest.run()