Author: tmckay
Date: 2012-02-13 16:26:26 +0000 (Mon, 13 Feb 2012)
New Revision: 5217
Added:
trunk/cumin/bin/test/
trunk/cumin/bin/test/cumin-admin-test
trunk/cumin/bin/test/cumin-bench
trunk/cumin/bin/test/cumin-command-test
trunk/cumin/bin/test/cumin-data-test
trunk/cumin/bin/test/cumin-smoke-test
trunk/cumin/bin/test/cumin-test
trunk/cumin/bin/test/cumin-web-test
Removed:
trunk/cumin/bin/cumin-admin-test
trunk/cumin/bin/cumin-bench
trunk/cumin/bin/cumin-command-test
trunk/cumin/bin/cumin-data-test
trunk/cumin/bin/cumin-smoke-test
trunk/cumin/bin/cumin-test
trunk/cumin/bin/cumin-web-test
Log:
Move test programs into subdirectory to facility removing them from install.
BZ767232
Deleted: trunk/cumin/bin/cumin-admin-test
===================================================================
--- trunk/cumin/bin/cumin-admin-test 2012-02-10 18:52:28 UTC (rev 5216)
+++ trunk/cumin/bin/cumin-admin-test 2012-02-13 16:26:26 UTC (rev 5217)
@@ -1,14 +0,0 @@
-#!/bin/bash -e
-
-id="test_${RANDOM}"
-opts="--debug"
-
-cumin-command-test <<EOF
-cumin-admin $opts --help
-cumin-admin $opts add-user "$id" changeme
-cumin-admin $opts add-assignment "$id" admin
-cumin-admin $opts list-users
-cumin-admin $opts list-roles
-cumin-admin $opts remove-assignment "$id" admin
-cumin-admin $opts remove-user "$id"
-EOF
Deleted: trunk/cumin/bin/cumin-bench
===================================================================
--- trunk/cumin/bin/cumin-bench 2012-02-10 18:52:28 UTC (rev 5216)
+++ trunk/cumin/bin/cumin-bench 2012-02-13 16:26:26 UTC (rev 5217)
@@ -1,116 +0,0 @@
-#!/usr/bin/python
-
-import sys
-
-from wooly.bench import BenchmarkHarness
-
-from cumin import Cumin
-from cumin.config import *
-
-def do_main():
- setup_initial_logging()
-
- parser = CuminOptionParser()
-
- # Add additional parameters
- # We need --profile here to keep optparse from crashing in
- # a profile case
- parser.add_option("--profile", action="store_true")
- parser.add_option("--host", type=str)
- parser.add_option("--port", type=int)
- parser.add_option("--section", default="web")
-
- # Get options
- opts, args = parser.parse_args()
-
- # --section controls which section is read from the config file
- # If a section other than "web" is specified, require it to exist
- config = CuminWebConfig(opts.section, strict_section = opts.section !=
"web")
-
- # There might be other sections returned from config.parse() but
- # currently we don't care about them...
- values = getattr(config.parse(), opts.section)
-
- # Use the config values as defaults for unspecified options
- apply_defaults(values, opts)
-
- setup_operational_logging(opts,
- values.log_max_mb,
- values.log_max_archives)
-
- broker_uris = [x.strip() for x in opts.brokers.split(",")]
-
- cumin = Cumin(config.get_home(), broker_uris,
- opts.database, opts.host, opts.port)
-
- cumin.debug = True
- cumin.user = values.user
- cumin.update_interval = values.update_interval
-
- cumin.check()
- cumin.init()
-
- cumin.session.start()
-
- harness = BenchmarkHarness(cumin)
- harness.continue_on_error = True
- harness.check_output = False
- harness.print_output = False
-
- try:
- harness.run(1000)
- finally:
- cumin.stop()
-
-def main():
- if "--profile" in sys.argv:
- from profile import Profile
- from pstats import Stats
-
- prof = Profile()
-
- print "Calibrating"
-
- biases = list()
-
- for i in range(5):
- bias = prof.calibrate(100000)
- biases.append(bias)
- print i, bias
-
- prof.bias = sum(biases) / float(5)
-
- print "Using bias %f" % prof.bias
-
- try:
- statement = "do_main()"
- prof.run(statement)
-
- raise KeyboardInterrupt()
- except KeyboardInterrupt:
- file = "/tmp/cumin-test-stats"
-
- prof.dump_stats(file)
-
- stats = Stats(file)
-
- stats.sort_stats("cumulative").print_stats(15)
- stats.sort_stats("time").print_stats(15)
-
- stats.print_callees("wooly/__init__.*\\(marshal_url_vars\\)")
- stats.print_callees("wooly/__init__.*\\(path\\)")
- stats.print_callees("wooly/__init__.*\\(get\\)")
- stats.print_callees("wooly/__init__.*\\(render\\)")
-
- stats.strip_dirs()
- else:
- do_main()
-
-if __name__ == "__main__":
- try:
- main()
- except KeyboardInterrupt:
- pass
-
- #from parsley import threadingex
- #threadingex.print_threads()
Deleted: trunk/cumin/bin/cumin-command-test
===================================================================
--- trunk/cumin/bin/cumin-command-test 2012-02-10 18:52:28 UTC (rev 5216)
+++ trunk/cumin/bin/cumin-command-test 2012-02-13 16:26:26 UTC (rev 5217)
@@ -1,31 +0,0 @@
-#!/bin/bash -e
-
-code=0
-tmpdir=$(mktemp -d)
-
-trap "rm -rf ${tmpdir}" EXIT
-
-while read command; do
- notice="Testing '$command' "
-
- echo -n "$notice"
-
- len=$((76 - ${#notice}))
-
- for ((i = 0; i < $len; i += 1)); do
- echo -n "."
- done
-
- if $command &> "${tmpdir}/output"; then
- echo " OK"
- else
- echo
- echo "Command failed:"
-
- cat "${tmpdir}/output"
-
- code=1
- fi
-done
-
-exit "$code"
\ No newline at end of file
Deleted: trunk/cumin/bin/cumin-data-test
===================================================================
--- trunk/cumin/bin/cumin-data-test 2012-02-10 18:52:28 UTC (rev 5216)
+++ trunk/cumin/bin/cumin-data-test 2012-02-13 16:26:26 UTC (rev 5217)
@@ -1,8 +0,0 @@
-#!/bin/bash -e
-
-opts="--debug --init-only"
-
-cumin-command-test <<EOF
-cumin-data $opts --help
-cumin-data $opts
-EOF
Deleted: trunk/cumin/bin/cumin-smoke-test
===================================================================
--- trunk/cumin/bin/cumin-smoke-test 2012-02-10 18:52:28 UTC (rev 5216)
+++ trunk/cumin/bin/cumin-smoke-test 2012-02-13 16:26:26 UTC (rev 5217)
@@ -1,140 +0,0 @@
-#!/usr/bin/python
-
-import os
-import sys
-
-from threading import Event
-
-home = os.environ.get("CUMIN_HOME",
os.path.normpath("/usr/share/cumin"))
-sys.path.append(os.path.join(home, "python"))
-
-from cumin import *
-from cumin.config import *
-from cumin.util import *
-
-def main():
- setup_initial_logging()
-
- parser = CuminOptionParser()
-
- # Add additional parameters for web
- parser.add_option("--host")
- parser.add_option("--port", type=int)
- parser.add_option("--section", default="web")
-
- # Get options
- opts, args = parser.parse_args()
-
- # --section controls which section is read from the config file
- # If a section other than "web" is specified, require it to exist
- config = CuminWebConfig(opts.section, strict_section = opts.section !=
"web")
-
- # There might be other sections returned from config.parse() but
- # currently we don't care about them...
- values = getattr(config.parse(), opts.section)
-
- # Use the config values as defaults for unspecified options
- apply_defaults(values, opts)
-
- setup_operational_logging(opts,
- values.log_max_mb,
- values.log_max_archives)
-
- broker_uris = [x.strip() for x in opts.brokers.split(",")]
-
- cumin = Cumin(config.get_home(), broker_uris, opts.database,
- opts.host, opts.port)
-
- cumin.user = values.user
-
- cumin.check()
- cumin.init()
-
- if opts.init_only:
- return
-
- cumin.start()
-
- sleep(2)
-
- try:
- conn = cumin.database.get_connection()
- cursor = conn.cursor()
-
- def invoke_test(test):
- print "[%s]" % name[6:]
-
- try:
- test(cumin, cursor)
- except:
- print_exc()
-
- print "FAILES!"
-
- try:
- chosen = sys.argv[1]
- except IndexError:
- chosen = None
-
- attrs = globals()
-
- if chosen:
- name = "_test_%s" % chosen
-
- assert name in attrs
-
- invoke_test(attrs[name])
- else:
- for name in [x for x in attrs if x.startswith("_test")]:
- invoke_test(attrs[name])
- finally:
- cumin.stop()
-
-def _test_submit(cumin, cursor):
- cls = cumin.model.com_redhat_grid.Scheduler
- obj = cls.get_object(cursor)
-
- assert obj
-
- print "Submitting to", obj.Name,
-
- ad = {"Cmd": "/bin/sleep",
- "Args": "5m",
- "JobUniverse": 5,
- "Requirements": "TRUE",
- "Iwd": "/tmp",
- "Owner": "gridmonkey",
- "!!descriptors": {"Requirements":
"com.redhat.grid.Expression"}}
-
- completed = Event()
-
- def completion(x, y):
- print "-> [%s, %s]" % (x, y)
-
- completed.set()
-
- cumin.session.call_method(completion, obj, "SubmitJob", (ad,))
-
- completed.wait(30)
-
-def _test_job_summaries(cumin, cursor):
- cls = cumin.model.com_redhat_grid.Submission
- obj = cls.get_object(cursor)
-
- print "Getting job summaries for", obj,
-
- assert obj
-
- summs = cumin.model.get_submission_job_summaries(obj)
-
- assert summs is not None
-
- print "-> [%i job summaries]" % len(summs)
-
- #pprint(summs)
-
-if __name__ == "__main__":
- try:
- main()
- except KeyboardInterrupt:
- pass
Deleted: trunk/cumin/bin/cumin-test
===================================================================
--- trunk/cumin/bin/cumin-test 2012-02-10 18:52:28 UTC (rev 5216)
+++ trunk/cumin/bin/cumin-test 2012-02-13 16:26:26 UTC (rev 5217)
@@ -1,27 +0,0 @@
-#!/usr/bin/python
-
-import os
-import sys
-
-home = os.environ.get("CUMIN_HOME",
os.path.normpath("/usr/share/cumin"))
-sys.path.append(os.path.join(home, "python"))
-
-from cumin.config import *
-
-def main():
- setup_initial_logging()
-
- config = CuminConfig()
- values = config.parse()
-
- parser = CuminOptionParser(values.test)
-
- opts, args = parser.parse_args()
-
- setup_operational_logging(opts)
-
-if __name__ == "__main__":
- try:
- main()
- except KeyboardInterrupt:
- pass
Deleted: trunk/cumin/bin/cumin-web-test
===================================================================
--- trunk/cumin/bin/cumin-web-test 2012-02-10 18:52:28 UTC (rev 5216)
+++ trunk/cumin/bin/cumin-web-test 2012-02-13 16:26:26 UTC (rev 5217)
@@ -1,9 +0,0 @@
-#!/bin/bash -e
-
-opts="--debug --init-only"
-
-cumin-command-test <<EOF
-cumin-web $opts --help
-cumin-web $opts --host
example.com
-cumin-web $opts --port 27654
-EOF
Copied: trunk/cumin/bin/test/cumin-admin-test (from rev 5216,
trunk/cumin/bin/cumin-admin-test)
===================================================================
--- trunk/cumin/bin/test/cumin-admin-test (rev 0)
+++ trunk/cumin/bin/test/cumin-admin-test 2012-02-13 16:26:26 UTC (rev 5217)
@@ -0,0 +1,14 @@
+#!/bin/bash -e
+
+id="test_${RANDOM}"
+opts="--debug"
+
+cumin-command-test <<EOF
+cumin-admin $opts --help
+cumin-admin $opts add-user "$id" changeme
+cumin-admin $opts add-assignment "$id" admin
+cumin-admin $opts list-users
+cumin-admin $opts list-roles
+cumin-admin $opts remove-assignment "$id" admin
+cumin-admin $opts remove-user "$id"
+EOF
Copied: trunk/cumin/bin/test/cumin-bench (from rev 5216, trunk/cumin/bin/cumin-bench)
===================================================================
--- trunk/cumin/bin/test/cumin-bench (rev 0)
+++ trunk/cumin/bin/test/cumin-bench 2012-02-13 16:26:26 UTC (rev 5217)
@@ -0,0 +1,116 @@
+#!/usr/bin/python
+
+import sys
+
+from wooly.bench import BenchmarkHarness
+
+from cumin import Cumin
+from cumin.config import *
+
+def do_main():
+ setup_initial_logging()
+
+ parser = CuminOptionParser()
+
+ # Add additional parameters
+ # We need --profile here to keep optparse from crashing in
+ # a profile case
+ parser.add_option("--profile", action="store_true")
+ parser.add_option("--host", type=str)
+ parser.add_option("--port", type=int)
+ parser.add_option("--section", default="web")
+
+ # Get options
+ opts, args = parser.parse_args()
+
+ # --section controls which section is read from the config file
+ # If a section other than "web" is specified, require it to exist
+ config = CuminWebConfig(opts.section, strict_section = opts.section !=
"web")
+
+ # There might be other sections returned from config.parse() but
+ # currently we don't care about them...
+ values = getattr(config.parse(), opts.section)
+
+ # Use the config values as defaults for unspecified options
+ apply_defaults(values, opts)
+
+ setup_operational_logging(opts,
+ values.log_max_mb,
+ values.log_max_archives)
+
+ broker_uris = [x.strip() for x in opts.brokers.split(",")]
+
+ cumin = Cumin(config.get_home(), broker_uris,
+ opts.database, opts.host, opts.port)
+
+ cumin.debug = True
+ cumin.user = values.user
+ cumin.update_interval = values.update_interval
+
+ cumin.check()
+ cumin.init()
+
+ cumin.session.start()
+
+ harness = BenchmarkHarness(cumin)
+ harness.continue_on_error = True
+ harness.check_output = False
+ harness.print_output = False
+
+ try:
+ harness.run(1000)
+ finally:
+ cumin.stop()
+
+def main():
+ if "--profile" in sys.argv:
+ from profile import Profile
+ from pstats import Stats
+
+ prof = Profile()
+
+ print "Calibrating"
+
+ biases = list()
+
+ for i in range(5):
+ bias = prof.calibrate(100000)
+ biases.append(bias)
+ print i, bias
+
+ prof.bias = sum(biases) / float(5)
+
+ print "Using bias %f" % prof.bias
+
+ try:
+ statement = "do_main()"
+ prof.run(statement)
+
+ raise KeyboardInterrupt()
+ except KeyboardInterrupt:
+ file = "/tmp/cumin-test-stats"
+
+ prof.dump_stats(file)
+
+ stats = Stats(file)
+
+ stats.sort_stats("cumulative").print_stats(15)
+ stats.sort_stats("time").print_stats(15)
+
+ stats.print_callees("wooly/__init__.*\\(marshal_url_vars\\)")
+ stats.print_callees("wooly/__init__.*\\(path\\)")
+ stats.print_callees("wooly/__init__.*\\(get\\)")
+ stats.print_callees("wooly/__init__.*\\(render\\)")
+
+ stats.strip_dirs()
+ else:
+ do_main()
+
+if __name__ == "__main__":
+ try:
+ main()
+ except KeyboardInterrupt:
+ pass
+
+ #from parsley import threadingex
+ #threadingex.print_threads()
Copied: trunk/cumin/bin/test/cumin-command-test (from rev 5216,
trunk/cumin/bin/cumin-command-test)
===================================================================
--- trunk/cumin/bin/test/cumin-command-test (rev 0)
+++ trunk/cumin/bin/test/cumin-command-test 2012-02-13 16:26:26 UTC (rev 5217)
@@ -0,0 +1,31 @@
+#!/bin/bash -e
+
+code=0
+tmpdir=$(mktemp -d)
+
+trap "rm -rf ${tmpdir}" EXIT
+
+while read command; do
+ notice="Testing '$command' "
+
+ echo -n "$notice"
+
+ len=$((76 - ${#notice}))
+
+ for ((i = 0; i < $len; i += 1)); do
+ echo -n "."
+ done
+
+ if $command &> "${tmpdir}/output"; then
+ echo " OK"
+ else
+ echo
+ echo "Command failed:"
+
+ cat "${tmpdir}/output"
+
+ code=1
+ fi
+done
+
+exit "$code"
\ No newline at end of file
Copied: trunk/cumin/bin/test/cumin-data-test (from rev 5216,
trunk/cumin/bin/cumin-data-test)
===================================================================
--- trunk/cumin/bin/test/cumin-data-test (rev 0)
+++ trunk/cumin/bin/test/cumin-data-test 2012-02-13 16:26:26 UTC (rev 5217)
@@ -0,0 +1,8 @@
+#!/bin/bash -e
+
+opts="--debug --init-only"
+
+cumin-command-test <<EOF
+cumin-data $opts --help
+cumin-data $opts
+EOF
Copied: trunk/cumin/bin/test/cumin-smoke-test (from rev 5216,
trunk/cumin/bin/cumin-smoke-test)
===================================================================
--- trunk/cumin/bin/test/cumin-smoke-test (rev 0)
+++ trunk/cumin/bin/test/cumin-smoke-test 2012-02-13 16:26:26 UTC (rev 5217)
@@ -0,0 +1,140 @@
+#!/usr/bin/python
+
+import os
+import sys
+
+from threading import Event
+
+home = os.environ.get("CUMIN_HOME",
os.path.normpath("/usr/share/cumin"))
+sys.path.append(os.path.join(home, "python"))
+
+from cumin import *
+from cumin.config import *
+from cumin.util import *
+
+def main():
+ setup_initial_logging()
+
+ parser = CuminOptionParser()
+
+ # Add additional parameters for web
+ parser.add_option("--host")
+ parser.add_option("--port", type=int)
+ parser.add_option("--section", default="web")
+
+ # Get options
+ opts, args = parser.parse_args()
+
+ # --section controls which section is read from the config file
+ # If a section other than "web" is specified, require it to exist
+ config = CuminWebConfig(opts.section, strict_section = opts.section !=
"web")
+
+ # There might be other sections returned from config.parse() but
+ # currently we don't care about them...
+ values = getattr(config.parse(), opts.section)
+
+ # Use the config values as defaults for unspecified options
+ apply_defaults(values, opts)
+
+ setup_operational_logging(opts,
+ values.log_max_mb,
+ values.log_max_archives)
+
+ broker_uris = [x.strip() for x in opts.brokers.split(",")]
+
+ cumin = Cumin(config.get_home(), broker_uris, opts.database,
+ opts.host, opts.port)
+
+ cumin.user = values.user
+
+ cumin.check()
+ cumin.init()
+
+ if opts.init_only:
+ return
+
+ cumin.start()
+
+ sleep(2)
+
+ try:
+ conn = cumin.database.get_connection()
+ cursor = conn.cursor()
+
+ def invoke_test(test):
+ print "[%s]" % name[6:]
+
+ try:
+ test(cumin, cursor)
+ except:
+ print_exc()
+
+ print "FAILES!"
+
+ try:
+ chosen = sys.argv[1]
+ except IndexError:
+ chosen = None
+
+ attrs = globals()
+
+ if chosen:
+ name = "_test_%s" % chosen
+
+ assert name in attrs
+
+ invoke_test(attrs[name])
+ else:
+ for name in [x for x in attrs if x.startswith("_test")]:
+ invoke_test(attrs[name])
+ finally:
+ cumin.stop()
+
+def _test_submit(cumin, cursor):
+ cls = cumin.model.com_redhat_grid.Scheduler
+ obj = cls.get_object(cursor)
+
+ assert obj
+
+ print "Submitting to", obj.Name,
+
+ ad = {"Cmd": "/bin/sleep",
+ "Args": "5m",
+ "JobUniverse": 5,
+ "Requirements": "TRUE",
+ "Iwd": "/tmp",
+ "Owner": "gridmonkey",
+ "!!descriptors": {"Requirements":
"com.redhat.grid.Expression"}}
+
+ completed = Event()
+
+ def completion(x, y):
+ print "-> [%s, %s]" % (x, y)
+
+ completed.set()
+
+ cumin.session.call_method(completion, obj, "SubmitJob", (ad,))
+
+ completed.wait(30)
+
+def _test_job_summaries(cumin, cursor):
+ cls = cumin.model.com_redhat_grid.Submission
+ obj = cls.get_object(cursor)
+
+ print "Getting job summaries for", obj,
+
+ assert obj
+
+ summs = cumin.model.get_submission_job_summaries(obj)
+
+ assert summs is not None
+
+ print "-> [%i job summaries]" % len(summs)
+
+ #pprint(summs)
+
+if __name__ == "__main__":
+ try:
+ main()
+ except KeyboardInterrupt:
+ pass
Copied: trunk/cumin/bin/test/cumin-test (from rev 5216, trunk/cumin/bin/cumin-test)
===================================================================
--- trunk/cumin/bin/test/cumin-test (rev 0)
+++ trunk/cumin/bin/test/cumin-test 2012-02-13 16:26:26 UTC (rev 5217)
@@ -0,0 +1,27 @@
+#!/usr/bin/python
+
+import os
+import sys
+
+home = os.environ.get("CUMIN_HOME",
os.path.normpath("/usr/share/cumin"))
+sys.path.append(os.path.join(home, "python"))
+
+from cumin.config import *
+
+def main():
+ setup_initial_logging()
+
+ config = CuminConfig()
+ values = config.parse()
+
+ parser = CuminOptionParser(values.test)
+
+ opts, args = parser.parse_args()
+
+ setup_operational_logging(opts)
+
+if __name__ == "__main__":
+ try:
+ main()
+ except KeyboardInterrupt:
+ pass
Copied: trunk/cumin/bin/test/cumin-web-test (from rev 5216,
trunk/cumin/bin/cumin-web-test)
===================================================================
--- trunk/cumin/bin/test/cumin-web-test (rev 0)
+++ trunk/cumin/bin/test/cumin-web-test 2012-02-13 16:26:26 UTC (rev 5217)
@@ -0,0 +1,9 @@
+#!/bin/bash -e
+
+opts="--debug --init-only"
+
+cumin-command-test <<EOF
+cumin-web $opts --help
+cumin-web $opts --host
example.com
+cumin-web $opts --port 27654
+EOF