cleanup slice-fs-* steps, nicer output, and shows contents when it's wrong
[tests.git] / system / TestNode.py
index dcab9dd..28b013a 100644 (file)
@@ -10,7 +10,7 @@ from TestSsh import TestSsh
 from Completer import CompleterTask
 
 class CompleterTaskNodeSsh (CompleterTask):
-    def __init__ (self, hostname, qemuname, local_key, command=None,boot_state="boot", expected=True, dry_run=False):
+    def __init__ (self, hostname, qemuname, local_key, command=None, message=None, boot_state="boot", expected=True, dry_run=False):
         self.hostname=hostname
         self.qemuname=qemuname
         self.boot_state=boot_state
@@ -18,13 +18,15 @@ class CompleterTaskNodeSsh (CompleterTask):
         self.command=command if command is not None else "hostname;uname -a"
         self.expected=expected
         self.dry_run = dry_run
+        self.message = message if message else "cannot reach %s in %s mode"%(self.hostname, self.boot_state)
+        self.test_ssh =  TestSsh (self.hostname,key=self.local_key)
     def run (self, silent):
-        command = TestSsh (self.hostname,key=self.local_key).actual_command(self.command)
+        command = self.test_ssh.actual_command(self.command)
         retcod=utils.system (command, silent=silent, dry_run=self.dry_run)
         if self.expected:       return retcod==0
         else:                   return retcod !=0
     def failure_message (self):
-        return "Cannot reach %s @ %s in %s mode"%(self.hostname, self.qemuname, self.boot_state)
+        return self.message
 
 class TestNode: