[haizea-commit] r568 - trunk/tests
haizea-commit at mailman.cs.uchicago.edu
haizea-commit at mailman.cs.uchicago.edu
Fri Feb 13 17:49:56 CST 2009
Author: borja
Date: 2009-02-13 17:49:49 -0600 (Fri, 13 Feb 2009)
New Revision: 568
Added:
trunk/tests/test_xmlrpc.py
Modified:
trunk/tests/base_config_simulator.conf
trunk/tests/common.py
Log:
Added XMLRPC tests
Modified: trunk/tests/base_config_simulator.conf
===================================================================
--- trunk/tests/base_config_simulator.conf 2009-02-13 00:04:37 UTC (rev 567)
+++ trunk/tests/base_config_simulator.conf 2009-02-13 23:49:49 UTC (rev 568)
@@ -16,7 +16,7 @@
[scheduling]
shutdown-time: 0
suspendresume-exclusion: local
-#wakeup-interval: 60
+wakeup-interval: 3
backfilling: aggressive
# backfilling-reservations: 4
enactment-overhead: 2
Modified: trunk/tests/common.py
===================================================================
--- trunk/tests/common.py 2009-02-13 00:04:37 UTC (rev 567)
+++ trunk/tests/common.py 2009-02-13 23:49:49 UTC (rev 568)
@@ -1,5 +1,6 @@
import ConfigParser
import os
+import threading
import shutil
from haizea.resourcemanager.configfile import HaizeaConfig
@@ -78,4 +79,17 @@
rm = ResourceManager(HaizeaConfig(self.config))
rm.start()
os.remove("one.db")
+
+class BaseXMLRPCTest(BaseTest):
+ def __init__(self):
+ self.haizea_thread = None
+
+ def start(self):
+ self.rm = ResourceManager(HaizeaConfig(self.config))
+ self.haizea_thread = threading.Thread(target=self.rm.start)
+ self.haizea_thread.start()
+
+ def stop(self):
+ self.rm.stop()
+ self.haizea_thread.join()
\ No newline at end of file
Added: trunk/tests/test_xmlrpc.py
===================================================================
--- trunk/tests/test_xmlrpc.py (rev 0)
+++ trunk/tests/test_xmlrpc.py 2009-02-13 23:49:49 UTC (rev 568)
@@ -0,0 +1,72 @@
+from common import BaseXMLRPCTest
+from mx.DateTime import TimeDelta
+import haizea.cli.rpc_commands as rpc
+import time
+
+class TestXMLRPC(BaseXMLRPCTest):
+ def __init__(self):
+ self.config = self.load_configfile("base_config_simulator.conf")
+ self.config.set("simulation", "clock", "real")
+ self.config.set("scheduling", "backfilling", "off")
+ self.config.set("scheduling", "non-schedulable-interval", "2")
+
+ def test_getters(self):
+ self.start()
+ cmd = rpc.haizea_list_hosts(["-D"])
+ cmd.run()
+ cmd = rpc.haizea_list_leases(["-D"])
+ cmd.run()
+ cmd = rpc.haizea_show_queue(["-D"])
+ cmd.run()
+ self.stop()
+
+ def test_ar(self):
+ self.start()
+ cmd = rpc.haizea_request_lease(["-D", "-t", "+00:01:00", "-d", "00:10:00", "-n", "1", "--non-preemptible",
+ "-c", "1", "-m", "512", "-i", "foobar.img", "-z", "600"])
+ cmd.run()
+ time.sleep(5)
+ cmd = rpc.haizea_list_leases(["-D"])
+ cmd.run()
+ cmd = rpc.haizea_cancel_lease(["-D", "-l", "1"])
+ cmd.run()
+ cmd = rpc.haizea_list_leases(["-D"])
+ cmd.run()
+ self.stop()
+
+ def test_be(self):
+ self.start()
+ cmd = rpc.haizea_request_lease(["-D", "-t", "best_effort", "-d", "00:10:00", "-n", "4", "--non-preemptible",
+ "-c", "1", "-m", "512", "-i", "foobar.img", "-z", "600"])
+ cmd.run()
+ cmd = rpc.haizea_request_lease(["-D", "-t", "best_effort", "-d", "00:10:00", "-n", "4", "--non-preemptible",
+ "-c", "1", "-m", "512", "-i", "foobar.img", "-z", "600"])
+ cmd.run()
+ time.sleep(7)
+ cmd = rpc.haizea_list_leases(["-D"])
+ cmd.run()
+ # Cancel the queued request
+ cmd = rpc.haizea_cancel_lease(["-D", "-l", "3"])
+ cmd.run()
+ cmd = rpc.haizea_list_leases(["-D"])
+ cmd.run()
+ # Cancel the running request
+ cmd = rpc.haizea_cancel_lease(["-D", "-l", "2"])
+ cmd.run()
+ cmd = rpc.haizea_list_leases(["-D"])
+ cmd.run()
+ self.stop()
+
+ def test_im(self):
+ self.start()
+ cmd = rpc.haizea_request_lease(["-D", "-t", "now", "-d", "00:10:00", "-n", "1", "--non-preemptible",
+ "-c", "1", "-m", "512", "-i", "foobar.img", "-z", "600"])
+ cmd.run()
+ time.sleep(5)
+ cmd = rpc.haizea_list_leases(["-D"])
+ cmd.run()
+ cmd = rpc.haizea_cancel_lease(["-D", "-l", "4"])
+ cmd.run()
+ cmd = rpc.haizea_list_leases(["-D"])
+ cmd.run()
+ self.stop()
More information about the Haizea-commit
mailing list