Fix up kernbench - needs to pickle what it did in the setup phase.
git-svn-id: http://test.kernel.org/svn/autotest/trunk@125 592f7852-d20e-0410-864c-8624ca9c26a4
diff --git a/tests/kernbench/kernbench.py b/tests/kernbench/kernbench.py
index 7c9e243..178d185 100755
--- a/tests/kernbench/kernbench.py
+++ b/tests/kernbench/kernbench.py
@@ -1,23 +1,27 @@
-import test
+import test, pickle
from autotest_utils import *
class kernbench(test.test):
version = 1
- def setup(self, kernelver = '/usr/local/src/linux-2.6.14.tar.bz2',
- config = os.environ['AUTODIR'] + "/tests/kernbench/config"):
-
- self.top_dir = self.job.tmpdir+'/kernbench'
- self.kernel = self.job.kernel(self.top_dir, kernelver)
- self.kernel.config(config)
+ def setup(self):
+ tarball = '/usr/local/src/linux-2.6.14.tar.bz2'
+ config = self.bindir + "/config"
+ kernel = self.job.kernel(self.srcdir, tarball)
+ kernel.config(config)
+ # have to save this off, as we might use it in another run
+ kernel.pickle_dump(self.srcdir + '/.pickle')
def execute(self, iterations = 1, threads = 2 * count_cpus()):
+ kernel = pickle.load(open(self.srcdir + '/.pickle', 'r'))
print "kernbench x %d: %d threads" % (iterations, threads)
- self.kernel.build_timed(threads) # warmup run
+ kernel.build_timed(threads) # warmup run
for i in range(1, iterations+1):
- self.kernel.build_timed(threads, '../log/time.%d' % i)
+ logfile = self.resultsdir+'/time.%d' % i
+ kernel.build_timed(threads, logfile)
- os.chdir(top_dir + '/log')
+ kernel.clean() # Don't leave litter lying around
+ os.chdir(self.resultsdir)
system("grep elapsed time.* > time")