chiark / gitweb /
tidy up upgrade/recovery flags a bit
[disorder] / tests / dbversion.py
old mode 100644 (file)
new mode 100755 (executable)
index 9849bf3..37e3b46
@@ -18,7 +18,7 @@
 # Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307
 # USA
 #
-import dtest,time,disorder,sys,re
+import dtest,time,disorder,sys,re,subprocess
 
 def test():
     """Database version tests"""
@@ -31,6 +31,7 @@ def test():
     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)
@@ -48,6 +49,17 @@ def test():
     dtest.stop_daemon()
     if not ok:
         sys.exit(1)
+    # Try running the upgrade tool
+    print "Attempting an upgrade..."
+    rc = subprocess.call(["disorder-dbupgrade",
+                          "--config", "%s/config" % dtest.testroot])
+    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()