X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=system%2FTestNode.py;h=35db0fd68731c6761d22d0b9c739453a18c5e826;hb=4d1e9c36b4a05066d00628ed2a9e9d6d391d149a;hp=c9d31f804c20a8dc89dd8a8c6d5f1fbae9a2fd2e;hpb=5a379ef605994daadb3464298b6f04bfbc6c463f;p=tests.git diff --git a/system/TestNode.py b/system/TestNode.py index c9d31f8..35db0fd 100644 --- a/system/TestNode.py +++ b/system/TestNode.py @@ -7,6 +7,24 @@ import utils from TestUser import TestUser from TestBoxQemu import TestBoxQemu 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): + self.hostname=hostname + self.qemuname=qemuname + self.boot_state=boot_state + self.local_key=local_key + self.command=command if command is not None else "hostname;uname -a" + self.expected=expected + self.dry_run = dry_run + def run (self, silent): + command = TestSsh (self.hostname,key=self.local_key).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) class TestNode: @@ -227,7 +245,7 @@ class TestNode: utils.header("TestNode.qemu_start : %s model %s taken as real node"%(self.name(),model)) return True - def timestamp_qemu (self): + def qemu_timestamp (self): "all nodes: start the qemu instance (also runs qemu-bridge-init start)" test_box = self.test_box() test_box.run_in_buildname("mkdir -p %s"%self.nodedir(), dry_run=self.dry_run())