def setup(self, local=False, tarball_systemtap='systemtap-1.8.tar.gz', tarball_elfutils='elfutils-0.155.tar.bz2'): depdir = os.path.join(self.autodir, 'deps/systemtap') tarball_systemtap = utils.unmap_url(depdir, tarball_systemtap, self.tmpdir) tarball_elfutils = utils.unmap_url(depdir, tarball_elfutils, self.tmpdir) srcdir = os.path.join(depdir, 'src') utils.extract_tarball_to_dir(tarball_systemtap, srcdir) elfdir = os.path.join(srcdir, 'elfutils') utils.extract_tarball_to_dir(tarball_elfutils, elfdir) self.job.setup_dep(['dejagnu']) if local == False: self.job.setup_dep(['systemtap']) # Try grabbing the systemtap tarball out of the deps directory depdir = os.path.join(self.autodir, 'deps/systemtap') if os.path.exists(os.path.join(depdir, tarball_systemtap)): tarball = utils.unmap_url(depdir, tarball_systemtap, self.tmpdir) else: tarball = utils.unmap_url(self.bindir, tarball_systemtap, self.tmpdir) utils.extract_tarball_to_dir(tarball_systemtap, self.srcdir) testsuite = os.path.join(self.srcdir, 'testsuite') os.chdir(testsuite) utils.configure() utils.make() # Run a simple systemtap script to make sure systemtap and the # kernel debuginfo packages are correctly installed script = "PATH=%s/bin:$PATH stap -c /bin/true -e 'probe syscall.read { exit() }'" % self.systemtap_dir try: utils.system(script) except Exception: raise error.TestError('simple systemtap test failed, kernel debuginfo package may be missing: %s' % script)
def update_config(self, cfg): """ Update the profile.cfg file. :param cfg: Basename of the cfg file, that should be on the test module folder (client/tests/ffsb) or URL of the remote config file. """ utils.unmap_url(self.bindir, cfg, self.bindir) filename = os.path.basename(cfg) profile_src = os.path.join(self.bindir, filename) profile_dst = os.path.join(os.path.dirname(self.srcdir), 'profile.cfg') shutil.copyfile(profile_src, profile_dst)
def setup(self, tarball='NPB3.3.tar.gz'): tarball = utils.unmap_url(self.bindir, tarball, self.tmpdir) utils.extract_tarball_to_dir(tarball, self.srcdir) os.chdir(self.srcdir) # Prepare the makefile and benchmarks to generate. utils.system('patch -p1 < %s/enable-all-tests.patch' % self.bindir) utils.system('cd NPB3.3-OMP && make suite')
def setup(self, tarball='ext3-tools.tar.gz'): self.tarball = utils.unmap_url(self.bindir, tarball, self.tmpdir) utils.extract_tarball_to_dir(self.tarball, self.srcdir) os.chdir(self.srcdir) utils.system('patch -p1 < %s/makefile.patch' % self.bindir) utils.make('bash-shared-mapping usemem')
def setup(self, tarball='ltt-control-0.51-12082008.tar.gz', **dargs): self.tarball = utils.unmap_url(self.bindir, tarball, self.tmpdir) utils.extract_tarball_to_dir(self.tarball, self.srcdir) os.chdir(self.srcdir) utils.configure() utils.make()
def setup(self, tarball = 'lockstat-1.4.11.tar.bz2'): self.tarball = utils.unmap_url(self.bindir, tarball, self.tmpdir) utils.extract_tarball_to_dir(self.tarball, self.srcdir) os.chdir(self.srcdir) utils.make() self.cmd = self.srcdir + '/lockstat'
def setup(self, tarball='tiobench-0.3.3.tar.bz2'): tarball = utils.unmap_url(self.bindir, tarball, self.tmpdir) utils.extract_tarball_to_dir(tarball, self.srcdir) os.chdir(self.srcdir) utils.system('patch -p1 < %s/makefile.patch' % self.bindir) utils.system('patch -p1 < %s/tiotest.patch' % self.bindir) utils.system('make')
def setup(self, tarball='dbt2-0.39.tar.bz2'): tarball = utils.unmap_url(self.bindir, tarball, self.tmpdir) utils.extract_tarball_to_dir(tarball, self.srcdir) profile_src = os.path.join(self.bindir, 'pgpool.conf') profile_dst = os.path.join(os.path.dirname(self.srcdir), 'pgpool.conf') shutil.copyfile(profile_src, profile_dst) self.job.setup_dep(['pgsql', 'pgpool', 'mysql']) # # Extract one copy of the kit for MySQL. # utils.system('cp -pR ' + self.srcdir + ' ' + self.srcdir + '.mysql') os.chdir(self.srcdir + '.mysql') utils.configure('--with-mysql=%s/deps/mysql/mysql' % self.autodir) utils.make() # # Extract one copy of the kit for PostgreSQL. # utils.system('cp -pR ' + self.srcdir + ' ' + self.srcdir + '.pgsql') os.chdir(self.srcdir + '.pgsql') utils.configure('--with-postgresql=%s/deps/pgsql/pgsql' % self.autodir) utils.make() # Create symlinks to autotest's results directory from dbt-2's # preferred results directory to self.resultsdir utils.system('ln -s %s %s' % (self.resultsdir, self.srcdir + '.mysql/scripts/output')) utils.system('ln -s %s %s' % (self.resultsdir, self.srcdir + '.pgsql/scripts/output'))
def setup(self, tarball = 'stress-1.0.4.tar.gz'): tarball = utils.unmap_url(self.bindir, tarball, self.tmpdir) utils.extract_tarball_to_dir(tarball, self.srcdir) os.chdir(self.srcdir) utils.configure() utils.make()
def setup(self, tarball='blktrace.tar.bz2', **dargs): # v1.0.1, pulled from git, 2009/06/10 # commit 1e09f6e9012826fca69fa07222b7bc53c3e629ee self.tarball = utils.unmap_url(self.bindir, tarball, self.tmpdir) utils.extract_tarball_to_dir(self.tarball, self.srcdir) os.chdir(self.srcdir) utils.make('"CFLAGS=' + self.gcc_flags + '"')
def setup(self, tarball='oprofile-0.9.4.tar.bz2', local=None, *args, **dargs): if local is True: return try: self.tarball = utils.unmap_url(self.bindir, tarball, self.tmpdir) utils.extract_tarball_to_dir(self.tarball, self.srcdir) os.chdir(self.srcdir) patch = os.path.join(self.bindir, "oprofile-69455.patch") utils.system('patch -p1 < %s' % patch) utils.configure('--with-kernel-support --prefix=' + self.srcdir) utils.make('-j %d' % utils.count_cpus()) utils.make('install') except Exception: # Build from source failed. # But maybe can still use the local copy local_opcontrol = os.path.exists('/usr/bin/opcontrol') local_opreport = os.path.exists('/usr/bin/opreport') if local is False or not local_opcontrol or not local_opreport: raise error.AutotestError('No oprofile available') else: # if we managed to build, try again to pick binaries self._pick_binaries(True)
def setup(self, tarball='ebizzy-0.3.tar.gz'): tarball = utils.unmap_url(self.bindir, tarball, self.tmpdir) utils.extract_tarball_to_dir(tarball, self.srcdir) os.chdir(self.srcdir) utils.system('[ -x configure ] && ./configure') utils.make()
def setup(self, tarball="dbt2-0.39.tar.bz2"): tarball = utils.unmap_url(self.bindir, tarball, self.tmpdir) utils.extract_tarball_to_dir(tarball, self.srcdir) profile_src = os.path.join(self.bindir, "pgpool.conf") profile_dst = os.path.join(os.path.dirname(self.srcdir), "pgpool.conf") shutil.copyfile(profile_src, profile_dst) self.job.setup_dep(["pgsql", "pgpool", "mysql"]) # # Extract one copy of the kit for MySQL. # utils.system("cp -pR " + self.srcdir + " " + self.srcdir + ".mysql") os.chdir(self.srcdir + ".mysql") utils.configure("--with-mysql=%s/deps/mysql/mysql" % self.autodir) utils.make() # # Extract one copy of the kit for PostgreSQL. # utils.system("cp -pR " + self.srcdir + " " + self.srcdir + ".pgsql") os.chdir(self.srcdir + ".pgsql") utils.configure("--with-postgresql=%s/deps/pgsql/pgsql" % self.autodir) utils.make() # Create symlinks to autotest's results directory from dbt-2's # preferred results directory to self.resultsdir utils.system("ln -s %s %s" % (self.resultsdir, self.srcdir + ".mysql/scripts/output")) utils.system("ln -s %s %s" % (self.resultsdir, self.srcdir + ".pgsql/scripts/output"))
def setup(self, tarball='xfstests.tar.bz2'): ''' Sets up the environment necessary for running xfstests ''' # # Anticipate failures due to missing devel tools, libraries, headers # and xfs commands # os_dep.command('autoconf') os_dep.command('autoheader') os_dep.command('libtool') os_dep.library('libuuid.so.1') os_dep.header('xfs/xfs.h') os_dep.header('attr/xattr.h') os_dep.header('sys/acl.h') os_dep.command('mkfs.xfs') os_dep.command('xfs_db') os_dep.command('xfs_bmap') os_dep.command('xfsdump') self.job.require_gcc() tarball = utils.unmap_url(self.bindir, tarball, self.tmpdir) utils.extract_tarball_to_dir(tarball, self.srcdir) os.chdir(self.srcdir) utils.make() logging.debug("Available tests in srcdir: %s" % ", ".join(self._get_available_tests()))
def setup(self, tarball='spew-1.0.5.tgz'): self.tarball = utils.unmap_url(self.bindir, tarball, self.tmpdir) utils.extract_tarball_to_dir(self.tarball, self.srcdir) os.chdir(self.srcdir) utils.configure() utils.make()
def setup(self, tarball='xm-test.tar.bz2'): tarball = utils.unmap_url(self.bindir, tarball, self.tmpdir) utils.extract_tarball_to_dir(tarball, self.srcdir) os.chdir(self.srcdir) utils.system('./autogen') utils.configure() utils.make('existing')
def setup(self, tarball='sparse-2013-06-26.tar.gz'): tarball = utils.unmap_url(self.bindir, tarball, self.tmpdir) utils.extract_tarball_to_dir(tarball, self.srcdir) os.chdir(self.srcdir) utils.make() self.top_dir = self.job.tmpdir + '/sparse'
def setup(self, tarball='libhugetlbfs-2.20.tar.gz'): # get the sources tarball = utils.unmap_url(self.bindir, tarball, self.tmpdir) utils.extract_tarball_to_dir(tarball, self.srcdir) os.chdir(self.srcdir) # build for the underlying arch only (i.e. only 64 bit on 64 bit etc) utils.make('BUILDTYPE=NATIVEONLY')
def setup(self, tarball='pingpong-0.1.tar.bz2'): """ Compiles pingpong. """ tarball = utils.unmap_url(self.bindir, tarball, self.tmpdir) utils.extract_tarball_to_dir(tarball, self.srcdir) os.chdir(self.srcdir) utils.make()
def setup(self, tarball='connectathon.tar.bz2'): connectathon_tarball = utils.unmap_url(self.bindir, tarball, self.tmpdir) utils.extract_tarball_to_dir(connectathon_tarball, self.srcdir) os.chdir(self.srcdir) utils.system('make clean') utils.system('make')
def setup(self, tarball='ebizzy-0.3.tar.gz'): tarball = utils.unmap_url(self.bindir, tarball, self.tmpdir) utils.extract_tarball_to_dir(tarball, self.srcdir) os.chdir(self.srcdir) utils.system('patch -p1 < %s/ebizzy-configure.patch' % self.bindir) utils.system('[ -x configure ] && ./configure') utils.make()
def setup(self, tarball='bonnie++-1.96.tgz'): tarball = utils.unmap_url(self.bindir, tarball, self.tmpdir) utils.extract_tarball_to_dir(tarball, self.srcdir) os.chdir(self.srcdir) os_dep.command('g++') utils.configure() utils.make()
def setup(self, tarball="util-linux-2.12r.tar.bz2"): self.tarball = utils.unmap_url(self.bindir, tarball, self.tmpdir) utils.extract_tarball_to_dir(self.tarball, self.srcdir) os.chdir(self.srcdir) utils.configure() os.chdir("sys-utils") utils.make("readprofile")
def setup(self, tarball='lmbench-3.0-a9-1.tar.bz2'): '''编译源码,设置程序 ''' tarball = utils.unmap_url(self.bindir, tarball, self.tmpdir) utils.extract_tarball_to_dir(tarball, self.srcdir) os.chdir(self.srcdir) self.compile(make_status=True) os.chdir(self.lptdir)
def setup(self, tarball='util-linux-2.12r.tar.bz2'): self.tarball = utils.unmap_url(self.bindir, tarball, self.tmpdir) utils.extract_tarball_to_dir(self.tarball, self.srcdir) os.chdir(self.srcdir) utils.configure() os.chdir('sys-utils') utils.make('readprofile')
def setup(self, tarball='dbench-3.04.tar.gz'): tarball = utils.unmap_url(self.bindir, tarball, self.tmpdir) utils.extract_tarball_to_dir(tarball, self.srcdir) os.chdir(self.srcdir) utils.system('patch -p1 < ../dbench_startup.patch') utils.configure() utils.make()
def setup(self, tarball = 'isic-0.06.tar.bz2'): tarball = utils.unmap_url(self.bindir, tarball, self.tmpdir) utils.extract_tarball_to_dir(tarball, self.srcdir) os.chdir(self.srcdir) utils.system('patch -p1 < ../build-fixes.patch') utils.system('PREFIX=%s /deps/libnet/libnet/ ./configure' %self.autodir) utils.system('make')
def setup(self, tarball='ext3-tools.tar.gz'): self.tarball = utils.unmap_url(self.bindir, tarball, self.tmpdir) utils.extract_tarball_to_dir(self.tarball, self.srcdir) os.chdir(self.srcdir) utils.system('patch -p1 < %s/fsstress-ltp.patch' % self.bindir) utils.system('patch -p1 < %s/makefile.patch' % self.bindir) utils.make('fsstress')
def setup(self, tarball='pingpong.tar.gz', table=16): self.job.require_gcc() tarball = utils.unmap_url(self.bindir, tarball, self.tmpdir) utils.extract_tarball_to_dir(tarball, self.srcdir) if (table == 16): os.chdir(self.srcdir) utils.system('patch -p0 < %s' % os.path.join(self.bindir, 'Runtest.patch'))
def setup(self, tarball = 'posixtestsuite-1.5.2.tar.gz'): self.posix_tarball = utils.unmap_url(self.bindir, tarball, self.tmpdir) utils.extract_tarball_to_dir(self.posix_tarball, self.srcdir) os.chdir(self.srcdir) # Applying a small patch that introduces some linux specific # linking options utils.system('patch -p1 < ../posix-linux.patch') utils.make()
def setup(self, tarball='unixbench-4.1.0.tar.bz2'): tarball = utils.unmap_url(self.bindir, tarball, self.tmpdir) utils.extract_tarball_to_dir(tarball, self.srcdir) os.chdir(self.srcdir) utils.system('patch -p1 < %s/unixbench.patch' % self.bindir) utils.system('patch -p1 < %s/Makefile.patch' % self.bindir) utils.make() utils.system('rm pgms/select')
def setup(self, tarball='bonnie++-1.03a.tgz'): tarball = utils.unmap_url(self.bindir, tarball, self.tmpdir) utils.extract_tarball_to_dir(tarball, self.srcdir) os.chdir(self.srcdir) os_dep.command('g++') utils.system('patch -p1 < ../bonnie++-1.03a-gcc43.patch') utils.configure() utils.make()
def setup(self, tarball='sparse-2006-04-28.tar.gz'): tarball = utils.unmap_url(self.bindir, tarball, self.tmpdir) utils.extract_tarball_to_dir(tarball, self.srcdir) os.chdir(self.srcdir) utils.make() utils.system('ln check sparse') self.top_dir = self.job.tmpdir + '/sparse'
def setup(self, tarball='netperf-2.6.0.tar.bz2'): self.job.require_gcc() tarball = utils.unmap_url(self.bindir, tarball, self.tmpdir) utils.extract_tarball_to_dir(tarball, self.srcdir) os.chdir(self.srcdir) utils.configure() utils.make() utils.system('sync')
def setup(self, tarball='iperf-2.0.4.tar.gz'): self.job.require_gcc() tarball = utils.unmap_url(self.bindir, tarball, self.tmpdir) utils.extract_tarball_to_dir(tarball, self.srcdir) os.chdir(self.srcdir) utils.configure() utils.make() utils.system('sync')
def setup(self, tarball='bonnie++-1.03e.tar.bz2'): """ Compiles bonnie. """ tarball = utils.unmap_url(self.bindir, tarball, self.tmpdir) utils.extract_tarball_to_dir(tarball, self.srcdir) os.chdir(self.srcdir) utils.configure() utils.make()
def setup(self, tarball='stream-5.9-1.tar.bz2'): """ Compiles stream. """ tarball = utils.unmap_url(self.bindir, tarball, self.tmpdir) utils.extract_tarball_to_dir(tarball, self.srcdir) os.chdir(self.srcdir) utils.make()
def setup(self, source_type, source_location, disk_addr, patches, **kwargs): if source_type == "tar": tarball = utils.unmap_url(self.bindir, source_location, self.tmpdir) self.repodir = os.path.join(self.tmpdir, "scsi_testsuite") utils.extract_tarball_to_dir(tarball, self.repodir) elif source_type == "git": self.repodir = git.get_repo(source_location) else: raise UnknownSourceType(source_type) sm = software_manager.SoftwareManager() for utility in ['/usr/bin/sg_raw', '/usr/bin/lsscsi']: if not os.access(utility, os.X_OK): logging.debug("%s missing - trying to install", utility) pkg = sm.provides(utility) if pkg is None: raise SCSIUtilNotAvailable(utility) else: sm.install(pkg) self.devname = "" if disk_addr[0] == "scsi": addr = (disk_addr[1]["host"], disk_addr[1]["channel"], disk_addr[1]["target"], disk_addr[1]["lun"]) self.devname = utils.system_output( "lsscsi %d %d %d %d | sed -n 's,.*/dev,/dev,p' " % addr) elif disk_addr[0] == "serial": disklist = os.listdir("/dev/disk/by-id/") for diskfile in disklist: if re.match("scsi-.*%s$" % disk_addr[1], diskfile) is not None: self.devname = os.path.join("/dev/disk/by-id", diskfile) break elif disk_addr[0] == "file": if os.access(disk_addr[1], os.F_OK): self.devname = disk_addr[1] if self.devname == "": output = utils.system_output("lsscsi") logging.debug(output) raise error.TestFail("Disk not found, cannot execute tests") try: cf = open(self.scsi_testsuite_config, "w") cf.write("export TEST_DEV=%s" % self.devname) cf.close() except IOError: logging.warning("Can't write configuration file. Using defaults") for patch in patches: utils.system("cd %s; patch -p1 < %s/%s" % (self.repodir, self.bindir, patch))
def setup(self, tarball='netperf-2.4.5.tar.bz2'): self.job.require_gcc() tarball = utils.unmap_url(self.bindir, tarball, self.tmpdir) utils.extract_tarball_to_dir(tarball, self.srcdir) os.chdir(self.srcdir) utils.system('patch -p0 < %s/wait_before_data.patch' % self.bindir) utils.configure() utils.make() utils.system('sync')
def setup(self, tarball='dbench-4.0.0.tar.bz2'): tarball = utils.unmap_url(self.bindir, tarball, self.tmpdir) utils.extract_tarball_to_dir(tarball, self.srcdir) os.chdir(self.srcdir) #utils.system('patch -p1 < %s' % # os.path.join(self.bindir, 'dbench_startup.patch')) utils.system("./autogen.sh") utils.configure() utils.make()
def setup(self, instrument_lib_tarball = 'eventstat.tar.bz2'): instrument_lib_tarball = utils.unmap_url(self.bindir, instrument_lib_tarball, self.tmpdir) utils.extract_tarball_to_dir(instrument_lib_tarball, self.srcdir) # # make the tools # tool = os.path.join(self.srcdir, 'eventstat') os.chdir(self.srcdir) utils.make()
def setup(self, tarball='qemu-iotests.tar.bz2'): """ Uncompresses the tarball and cleans any leftover output files. @param tarball: Relative path to the testsuite tarball. """ tarball = utils.unmap_url(self.bindir, tarball, self.tmpdir) utils.extract_tarball_to_dir(tarball, self.srcdir) os.chdir(self.srcdir) utils.make('clean')
def setup(self, tarball='kvm-unit-tests.tar.bz2'): tarball = utils.unmap_url(self.bindir, tarball, self.tmpdir) utils.extract_tarball_to_dir(tarball, self.srcdir) os.chdir(self.srcdir) utils.configure() utils.make() # patch run_tests.sh to build our tests list utils.system('patch -p1 < %s/run_tests_show.patch' % self.bindir) utils.system('./run_tests.sh -v > tests.txt')
def setup(self, tarball='flail-0.2.0.tar.gz'): """ Compiles flail with the appropriate parameters. :param tarball: Path or URL for the flail tarball. """ tarball = utils.unmap_url(self.bindir, tarball, self.tmpdir) utils.extract_tarball_to_dir(tarball, self.srcdir) os.chdir(self.srcdir) utils.make()
def setup(self, local=False, tarball_systemtap='systemtap-1.8.tar.gz', tarball_elfutils='elfutils-0.155.tar.bz2'): depdir = os.path.join(self.autodir, 'deps/systemtap') tarball_systemtap = utils.unmap_url(depdir, tarball_systemtap, self.tmpdir) tarball_elfutils = utils.unmap_url(depdir, tarball_elfutils, self.tmpdir) srcdir = os.path.join(depdir, 'src') utils.extract_tarball_to_dir(tarball_systemtap, srcdir) elfdir = os.path.join(srcdir, 'elfutils') utils.extract_tarball_to_dir(tarball_elfutils, elfdir) self.job.setup_dep(['dejagnu']) if not local: self.job.setup_dep(['systemtap']) # Try grabbing the systemtap tarball out of the deps directory depdir = os.path.join(self.autodir, 'deps/systemtap') if os.path.exists(os.path.join(depdir, tarball_systemtap)): tarball = utils.unmap_url(depdir, tarball_systemtap, self.tmpdir) else: tarball = utils.unmap_url(self.bindir, tarball_systemtap, self.tmpdir) utils.extract_tarball_to_dir(tarball_systemtap, self.srcdir) testsuite = os.path.join(self.srcdir, 'testsuite') os.chdir(testsuite) utils.configure() utils.make() # Run a simple systemtap script to make sure systemtap and the # kernel debuginfo packages are correctly installed script = "PATH=%s/bin:$PATH stap -c /bin/true -e 'probe syscall.read { exit() }'" % self.systemtap_dir try: utils.system(script) except Exception: raise error.TestError( 'simple systemtap test failed, kernel debuginfo package may be missing: %s' % script)