This patch adds a harness for CK's interactivity benchmark. NOTE: interbench-0.30.tar.bz2 not included in the patch http://www.kernel.org/pub/linux/kernel/people/ck/apps/interbench/interbench-0.30.tar.bz2 --- tests/interbench/control | 1 + tests/interbench/interbench-0.30.tar.bz2 | Bin tests/interbench/interbench.py | 28 ++++++++++++++++++++++++++++ 3 files changed, 29 insertions(+), 0 deletions(-) diff --git a/tests/interbench/control b/tests/interbench/control new file mode 100644 index 0000000..1b77dfd --- /dev/null +++ b/tests/interbench/control @@ -0,0 +1 @@ +job.runtest(None, 'interbench') diff --git a/tests/interbench/interbench-0.30.tar.bz2 b/tests/interbench/interbench-0.30.tar.bz2 new file mode 100644 index 0000000..275d99b Binary files /dev/null and b/tests/interbench/interbench-0.30.tar.bz2 differ diff --git a/tests/interbench/interbench.py b/tests/interbench/interbench.py new file mode 100755 index 0000000..db7c28b --- /dev/null +++ b/tests/interbench/interbench.py @@ -0,0 +1,28 @@ +import test +from autotest_utils import * + +class interbench(test.test): + version = 1 + + # http://www.kernel.org/pub/linux/kernel/people/ck/apps/interbench/interbench-0.30.tar.bz2 + def setup(self, tarball = 'interbench-0.30.tar.bz2'): + tarball = unmap_url(self.bindir, tarball, self.tmpdir) + extract_tarball_to_dir(tarball, self.srcdir) + os.chdir(self.srcdir) + + system('make') + + def execute(self, iterations = 1, args = ''): + os.chdir(self.resultsdir) + for i in range(1, iterations+1): + system(self.srcdir + '/interbench -m \'run #%s\'' % i \ + + args) + + # Do a profiling run if necessary + profilers = self.job.profilers + if profilers.present(): + profilers.start(self) + system(self.srcdir + './interbench \'profile run\'' \ + + args) + profilers.stop(self) + profilers.report(self)