time.sleep(2)
dtest.stop_daemon()
# Revert to default configuration
+ print "Checking daemon won't start with an old database"
dtest.copyfile(configsave, config)
dtest.start_daemon()
time.sleep(2)
if rc != 0:
print "disorder-dbupgrade: FAILED: exit code %s" % rc
sys.exit(1)
+ print "Testing daemon after upgrade..."
+ dtest.start_daemon()
+ time.sleep(2)
+ assert dtest.check_files() == 0
if __name__ == '__main__':
dtest.run()
else:
os.remove(d)
+def check_files():
+ c = disorder.client()
+ failures = 0
+ for d in dirs_by_dir:
+ xdirs = 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 files_by_dir:
+ xfiles = 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
+ return failures
+
# -----------------------------------------------------------------------------
# Common setup
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)
+ time.sleep(2) # give rescan a chance
+ assert dtest.check_files() == 0
if __name__ == '__main__':
dtest.run()