cleanup slice-fs-* steps, nicer output, and shows contents when it's wrong
[tests.git] / system / TestSlice.py
index 4b40bf0..f5049d3 100644 (file)
@@ -235,21 +235,15 @@ class TestSlice:
         # use constant admin key
         local_key = "keys/key_admin.rsa"
         node_infos = self.test_plc.all_node_infos()
-        return [ CompleterTaskNodeSsh (nodename, qemuname, local_key, expected=expected,
-                                       command="ls -d /vservers/%s"%self.name()) \
-                 for (nodename,qemuname) in node_infos ]
-        
-        overall=True
-        for nodename in self.slice_spec['nodenames']:
-            node_spec=self.test_site.locate_node(nodename)
-            test_node=TestNode(self.test_plc,self.test_site,node_spec)
-            test_node_ssh=test_node.create_test_ssh()
-            command="ls /vservers/%s"%self.name()
-            full_command = test_node_ssh.actual_command(command)
-            retcod=utils.system(full_command,silent=True)
-            # we expect the fs to be present, retcod should be 0
-            if expected:        fine=(retcod==0)
-            else:               fine=(retcod!=0)
-            if not fine: overall=False
-        return overall
-
+        rootfs="/vservers/%s"%self.name()
+        if expected:
+            failure_message = "Could not stat %s"%rootfs
+        else:
+            failure_message = "Sliver rootfs still present in %s"%rootfs
+        class CompleterTaskRootfs (CompleterTaskNodeSsh):
+            def __init__ (self, nodename, qemuname):
+                CompleterTaskNodeSsh.__init__(self,nodename, qemuname, local_key, expected=expected,
+                                              message=failure_message, command="ls -d %s"%rootfs)
+            def failure_epilogue (self):
+                utils.system(self.test_ssh.actual_command("ls -l %s; du -hs %s"%(rootfs,rootfs),dry_run=self.dry_run))
+        return [ CompleterTaskRootfs (nodename, qemuname) for (nodename,qemuname) in node_infos ]