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)
Beispiel #2
0
    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)
Beispiel #3
0
 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')
Beispiel #5
0
    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()
Beispiel #6
0
    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'
Beispiel #7
0
 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')
Beispiel #8
0
    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()
Beispiel #10
0
    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()
Beispiel #11
0
 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 + '"')
Beispiel #12
0
    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)
Beispiel #13
0
    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'))
Beispiel #14
0
    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='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')
Beispiel #16
0
    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()))
Beispiel #18
0
    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()
Beispiel #19
0
    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')
Beispiel #20
0
    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'
Beispiel #21
0
    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')
Beispiel #22
0
 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')
Beispiel #24
0
    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()
Beispiel #25
0
    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='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')
Beispiel #27
0
    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")
Beispiel #28
0
 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)
Beispiel #29
0
    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')
Beispiel #30
0
    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()
Beispiel #31
0
 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()
Beispiel #32
0
    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()
Beispiel #33
0
    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')
Beispiel #34
0
    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')
Beispiel #35
0
    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()
Beispiel #36
0
    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='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'))
Beispiel #38
0
 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()
Beispiel #39
0
    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')
Beispiel #40
0
    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')
Beispiel #41
0
    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()
Beispiel #42
0
    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')
Beispiel #44
0
    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')
Beispiel #45
0
 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()
Beispiel #46
0
    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, 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, 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))
Beispiel #49
0
    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()
Beispiel #50
0
    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')
Beispiel #51
0
    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')
Beispiel #55
0
    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()
Beispiel #56
0
    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)