+ print " checking scheduled events survive restarts"
+ when = now() + 3
+ c.schedule_add(when, "normal", "play", track)
+ dtest.stop_daemon()
+ print " dumping database"
+ dump = "%s/dumpfile" % dtest.testroot
+ print dtest.command(["disorder-dump", "--config", disorder._configfile,
+ "--dump", dump])
+ print "restoring database"
+ print dtest.command(["disorder-dump", "--config", disorder._configfile,
+ "--undump", dump])
+ dtest.start_daemon()
+ c = disorder.client()
+ p = next_playing(c)
+ print " waiting for track to play"
+ assert p["track"] == track, "checking right track played"
+ assert p["when"] >= when, "checking track played at right time"
+ assert c.schedule_list() == [], "checking schedule is empty"
+ print " checking junk events do not survive restarts"
+ c.schedule_add(now() + 2, "junk", "play", track)
+ s = c.schedule_list()
+ print s
+ dtest.stop_daemon()
+ time.sleep(3)
+ dtest.start_daemon()
+ c = disorder.client()
+ print " checking schedule is empty"
+ s = c.schedule_list()
+ print s
+ assert s == [], "checking schedule is empty"