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")