From: ack@localhost.localdomain Date: Thu, 8 Jun 2006 10:35:27 +0000 (+0100) Subject: Add sched-credit xm tests but don't run them by default yet... X-Git-Tag: archive/raspbian/4.8.0-1+rpi1~1^2~15972^2~35 X-Git-Url: https://dgit.raspbian.org/?a=commitdiff_plain;h=b5e40184be6e5c786b1d79c3747d6cb6afb7ad76;p=xen.git Add sched-credit xm tests but don't run them by default yet... Signed-off-by: Emmanuel Ackaouy --- diff --git a/tools/xm-test/configure.ac b/tools/xm-test/configure.ac index 96ef23a398..291ed1e86e 100644 --- a/tools/xm-test/configure.ac +++ b/tools/xm-test/configure.ac @@ -118,6 +118,7 @@ AC_CONFIG_FILES([ tests/reboot/Makefile tests/restore/Makefile tests/save/Makefile + tests/sched-credit/Makefile tests/sedf/Makefile tests/shutdown/Makefile tests/sysrq/Makefile diff --git a/tools/xm-test/tests/Makefile.am b/tools/xm-test/tests/Makefile.am index cfdd6e4a50..c01cdd244d 100644 --- a/tools/xm-test/tests/Makefile.am +++ b/tools/xm-test/tests/Makefile.am @@ -18,6 +18,7 @@ SUBDIRS = \ network-attach \ pause \ reboot \ + sched-credit \ sedf \ shutdown \ sysrq \ diff --git a/tools/xm-test/tests/sched-credit/01_sched_credit_weight_cap_pos.py b/tools/xm-test/tests/sched-credit/01_sched_credit_weight_cap_pos.py new file mode 100644 index 0000000000..e0b1fe5846 --- /dev/null +++ b/tools/xm-test/tests/sched-credit/01_sched_credit_weight_cap_pos.py @@ -0,0 +1,65 @@ +#!/usr/bin/python +# +# Sched-credit tests modified from SEDF tests +# +from XmTestLib import * + +def get_sched_credit_params(domain): + status, output = traceCommand("xm sched-credit -d %s" %(domain.getName())) + params = output.strip('{}').split(', ') + cap = int(params[0].split(':')[1].strip(' ')) + weight = int(params[1].split(':')[1].strip(' ')) + return (status, (weight, cap)) + +def set_sched_credit_weight(domain, weight): + status, output = traceCommand("xm sched-credit -d %s -w %d" %(domain.getName(), weight)) + return status + +def set_sched_credit_cap(domain, cap): + status, output = traceCommand("xm sched-credit -d %s -c %d" %(domain.getName(), cap)) + return status + + +domain = XmTestDomain() + +try: + domain.start(noConsole=True) +except DomainError, e: + if verbose: + print "Failed to create test domain because:" + print e.extra + FAIL(str(e)) + +# check default param values +(status, params) = get_sched_credit_params(domain) +if status != 0: + FAIL("Getting sched-credit parameters return non-zero rv (%d)", status) + +(weight, cap) = params +if weight != 256: + FAIL("default weight is 256 (got %d)", weight) +if cap != 0: + FAIL("default cap is 0 (got %d)", cap) + +# set new parameters +status = set_sched_credit_weight(domain, 512) +if status != 0: + FAIL("Setting sched-credit weight return non-zero rv (%d)", status) + +status = set_sched_credit_cap(domain, 100) +if status != 0: + FAIL("Setting sched-credit cap return non-zero rv (%d)", status) + +# check new param values +(status, params) = get_sched_credit_params(domain) +if status != 0: + FAIL("Getting sched-credit parameters return non-zero rv (%d)", status) + +(weight, cap) = params +if weight != 512: + FAIL("expected weight of 512 (got %d)", weight) +if cap != 100: + FAIL("expected cap of 100 (got %d)", cap) + +# Stop the domain (nice shutdown) +domain.stop() diff --git a/tools/xm-test/tests/sched-credit/Makefile.am b/tools/xm-test/tests/sched-credit/Makefile.am new file mode 100644 index 0000000000..d37cc64599 --- /dev/null +++ b/tools/xm-test/tests/sched-credit/Makefile.am @@ -0,0 +1,20 @@ +SUBDIRS = + +TESTS = 01_sched_credit_weight_cap_pos.test + +XFAIL_TESTS = + +EXTRA_DIST = $(TESTS) $(XFAIL_TESTS) + +TESTS_ENVIRONMENT=@TENV@ + +%.test: %.py + cp $< $@ + chmod +x $@ + +clean-local: am_config_clean-local + +am_config_clean-local: + rm -f *test + rm -f *log + rm -f *~