first draft for testing initscripts by name or by body
[tests.git] / system / TestPlc.py
index 601cdb0..5a79bd2 100644 (file)
@@ -104,8 +104,9 @@ class TestPlc:
         'force_gather_logs', 'force_local_post', SEP,
         ]
     other_steps = [ 
+        'free_all',
         'show_boxes', 'local_list','local_rel','local_rel_plc','local_rel_qemu',SEP,
-        'plc_stop', 'vs_start', SEP,
+        'plc_stop', 'vs_start', 'vs_stop', SEP,
         'delete_initscripts', 'delete_nodegroups','delete_all_sites', SEP,
         'delete_sites', 'delete_nodes', 'delete_slices', 'keys_clean', SEP,
         'delete_leases', 'list_leases', SEP,
@@ -172,6 +173,9 @@ class TestPlc:
     def start_guest (self):
       return utils.system(self.test_ssh.actual_command(self.start_guest_in_host()))
     
+    def stop_guest (self):
+      return utils.system(self.test_ssh.actual_command(self.stop_guest_in_host()))
+    
     def run_in_guest (self,command):
         return utils.system(self.actual_command_in_guest(command))
     
@@ -182,10 +186,13 @@ class TestPlc:
     def host_to_guest(self,command):
         return "vserver %s exec %s"%(self.vservername,command)
     
-    #command gets run in the vserver
+    #start/stop the vserver
     def start_guest_in_host(self):
         return "vserver %s start"%(self.vservername)
     
+    def stop_guest_in_host(self):
+        return "vserver %s stop"%(self.vservername)
+    
     # xxx quick n dirty
     def run_in_guest_piped (self,local,remote):
         return utils.system(local+" | "+self.test_ssh.actual_command(self.host_to_guest(remote),keep_stdin=True))
@@ -557,6 +564,7 @@ class TestPlc:
                      'PLC_NET_DNS2',
                      'PLC_RESERVATION_GRANULARITY',
                      'PLC_OMF_ENABLED',
+                     'PLC_OMF_XMPP_SERVER',
                      ]:
             fileconf.write ('e %s\n%s\n'%(var,self.plc_spec[var]))
         fileconf.write('w\n')
@@ -582,6 +590,11 @@ class TestPlc:
         self.start_guest()
         return True
 
+    def vs_stop (self):
+        "stop the PLC vserver"
+        self.stop_guest()
+        return True
+
     # stores the keys from the config for further use
     def keys_store(self):
         "stores test users ssh keys in keys/"
@@ -967,9 +980,9 @@ class TestPlc:
     def do_check_initscripts(self):
         overall = True
         for slice_spec in self.plc_spec['slices']:
-            if not slice_spec.has_key('initscriptname'):
+            if not slice_spec.has_key('initscriptstamp'):
                 continue
-            initscript=slice_spec['initscriptname']
+            stamp=slice_spec['initscriptstamp']
             for nodename in slice_spec['nodenames']:
                 (site,node) = self.locate_node (nodename)
                 # xxx - passing the wrong site - probably harmless
@@ -977,7 +990,7 @@ class TestPlc:
                 test_slice = TestSlice (self,test_site,slice_spec)
                 test_node = TestNode (self,test_site,node)
                 test_sliver = TestSliver (self, test_node, test_slice)
-                if not test_sliver.check_initscript(initscript):
+                if not test_sliver.check_initscript_stamp(stamp):
                     overall = False
         return overall