blob: d8f9063d36630754b13368589308632abbc8edd5 [file] [log] [blame]
mbligh56a91f02006-09-14 17:55:19 +00001import test
2from autotest_utils import *
3
4class netperf2(test.test):
5 version = 1
6
7 # ftp://ftp.netperf.org/netperf/netperf-2.4.1.tar.gz
8 def setup(self, tarball = 'netperf-2.4.1.tar.gz'):
9 tarball = unmap_url(self.bindir, tarball, self.tmpdir)
10 extract_tarball_to_dir(tarball, self.srcdir)
11 os.chdir(self.srcdir)
12
13 system('./configure')
14 system('make')
15
16 def execute(self, script = 'snapshot_script', args = ''):
17 self.server_path = os.path.join(self.srcdir, 'src/netserver')
18 self.client_path = os.path.join(self.srcdir, 'src/netperf')
19
20 os.environ['NETPERF_CMD'] = client_path
21 self.server_start()
22 self.client(script)
23 self.server_stop()
24
25 def server_start(self):
26 # we should record the pid we forked off
27 system(server_path)
28
29 def server_stop(self):
30 # this should really just kill the pid I forked, but ...
31 system('killall netserver')
32
33 def client(self, script, server_host = 'localhost', args = 'CPU'):
34 # run some client stuff
35 stdout_path = os.path.join(self.resultsdir, script + '.stdout')
36 stderr_path = os.path.join(self.resultsdir, script + '.stderr')
37
38 self.job.stdout.tee_redirect(stdout_path)
39 self.job.stderr.tee_redirect(stderr_path)
40 system(os.path.join(self.srcdir, 'doc/examples', script) + args)
41 self.job.stdout.restore()
42 self.job.stderr.restore()