+ @skipIfNotAlive
+ def t_xterm(self, host, user):
+
+ ec = ExperimentController(exp_id="test-xterm")
+
+ node = ec.register_resource("linux::Node")
+ ec.set(node, "hostname", host)
+ ec.set(node, "username", user)
+ ec.set(node, "cleanExperiment", True)
+ ec.set(node, "cleanProcesses", True)
+
+ app = ec.register_resource("linux::Application")
+ ec.set(app, "command", "xterm")
+ ec.set(app, "depends", "xterm")
+ ec.set(app, "forwardX11", True)
+
+ ec.register_connection(app, node)
+
+ ec.deploy()
+
+ ec.wait_finished([app])
+
+ self.assertTrue(ec.state(app) == ResourceState.STOPPED)
+
+ ec.shutdown()
+
+ @skipIfNotAlive
+ def t_copy_files(self, host, user):
+ # create some temp files and directories to copy
+ dirpath = tempfile.mkdtemp()
+ f = tempfile.NamedTemporaryFile(dir=dirpath, delete=False)
+ f.close()
+
+ f1 = tempfile.NamedTemporaryFile(delete=False)
+ f1.close()
+ f1.name
+
+ ec = ExperimentController(exp_id="test-copyfile")
+
+ node = ec.register_resource("linux::Node")
+ ec.set(node, "hostname", host)
+ ec.set(node, "username", user)
+ ec.set(node, "cleanExperiment", True)
+ ec.set(node, "cleanProcesses", True)
+
+ app = ec.register_resource("linux::Application")
+ ec.set(app, "command", "ls ${SRC}")
+ ec.set(app, "sources", "%s;%s" % (dirpath, f1.name))
+ ec.register_connection(app, node)
+
+ ec.deploy()
+
+ ec.wait_finished([app])
+
+ stdout = ec.trace(app, "stdout")
+
+ self.assertTrue(stdout.find(os.path.basename(dirpath)) > -1)
+ self.assertTrue(stdout.find(os.path.basename(f1.name)) > -1)
+
+ ec.shutdown()
+
+ os.remove(f1.name)
+ shutil.rmtree(dirpath)
+