first draft to clean up TestSsh, but bug not fixed for remote qemu nodes -a sigh
[tests.git] / system / TestBox.py
1 # $Id$
2 # this models a box that hosts qemu nodes
3 # could probably also be used for boxes that host plc instances
4 import os.path
5 import utils
6 from TestSsh import TestSsh
7
8 class TestBox:
9
10     def __init__(self,hostname,buildname,key=None):
11         self.hostname_value=hostname
12         self.buildname=buildname
13         self.key=key
14         self.test_ssh=TestSsh(self.hostname_value,self.buildname,self.key)
15         
16     def hostname (self):
17         return self.hostname_value
18
19     def is_local(self):
20         return self.test_ssh.is_local()
21     
22     def tar_logs(self):
23         if os.path.isdir("nodeslogs"):
24             tar_command="tar cvf nodeslogs.tar nodeslogs/"
25             self.run_in_buildname (tar_command)
26             return True
27         return False
28     
29     def run_in_buildname (self,command):
30         return self.test_ssh.run_in_buildname (command)
31     # should use rsync instead
32     def copy (self,local_file,recursive=False):
33         return self.test_ssh.copy (local_file,recursive)
34
35     def clean_dir (self,dirname):
36         return self.test_ssh.clean_dir(dirname)
37
38     def mkdir (self,direname):
39         return self.test_ssh.mkdir(direname)
40  
41
42     def kill_all_qemus(self):
43         utils.system(self.test_ssh.to_host("killall qemu"))
44