コード例 #1
0
    def initialize(self, hugetlbfs_dir=None, pages_requested=20):
        self.hugetlbfs_dir = None

        # check if basic utilities are present
        self.job.require_gcc()
        utils.check_kernel_ver("2.6.16")
        os_dep.library('libpthread.a')

        # Check huge page number
        pages_available = 0
        if os.path.exists('/proc/sys/vm/nr_hugepages'):
            utils.write_one_line('/proc/sys/vm/nr_hugepages',
                                 str(pages_requested))
            nr_hugepages = utils.read_one_line('/proc/sys/vm/nr_hugepages')
            pages_available = int(nr_hugepages)
        else:
            raise error.TestNAError('Kernel does not support hugepages')

        if pages_available < pages_requested:
            raise error.TestError('%d pages available, < %d pages requested' %
                                  (pages_available, pages_requested))

        # Check if hugetlbfs has been mounted
        if not utils.file_contains_pattern('/proc/mounts', 'hugetlbfs'):
            if not hugetlbfs_dir:
                hugetlbfs_dir = os.path.join(self.tmpdir, 'hugetlbfs')
                os.makedirs(hugetlbfs_dir)
            utils.system('mount -t hugetlbfs none %s' % hugetlbfs_dir)
            self.hugetlbfs_dir = hugetlbfs_dir
コード例 #2
0
ファイル: libhugetlbfs.py プロジェクト: LaneWolf/autotest
    def initialize(self, dir = None, pages_requested = 20):
        self.dir = None

        self.job.require_gcc()

        utils.check_kernel_ver("2.6.16")

        # Check huge page number
        pages_available = 0
        if os.path.exists('/proc/sys/vm/nr_hugepages'):
            utils.write_one_line('/proc/sys/vm/nr_hugepages',
                                          str(pages_requested))
            nr_hugepages = utils.read_one_line('/proc/sys/vm/nr_hugepages')
            pages_available = int(nr_hugepages)
        else:
            raise error.TestNAError('Kernel does not support hugepages')

        if pages_available < pages_requested:
            raise error.TestError('%d huge pages available, < %d pages requested' % (pages_available, pages_requested))

        # Check if hugetlbfs has been mounted
        if not utils.file_contains_pattern('/proc/mounts', 'hugetlbfs'):
            if not dir:
                dir = os.path.join(self.tmpdir, 'hugetlbfs')
                os.makedirs(dir)
            utils.system('mount -t hugetlbfs none %s' % dir)
            self.dir = dir
コード例 #3
0
    def initialize(self, hugetlbfs_dir=None, pages_requested=20):
        self.install_required_pkgs()

        self.hugetlbfs_dir = None

        # check if basic utilities are present
        self.job.require_gcc()
        utils.check_kernel_ver("2.6.16")
        os_dep.library('libpthread.a')

        # Check huge page number
        pages_available = 0
        if os.path.exists('/proc/sys/vm/nr_hugepages'):
            utils.write_one_line('/proc/sys/vm/nr_hugepages',
                                 str(pages_requested))
            nr_hugepages = utils.read_one_line('/proc/sys/vm/nr_hugepages')
            pages_available = int(nr_hugepages)
        else:
            raise error.TestNAError('Kernel does not support hugepages')

        if pages_available < pages_requested:
            raise error.TestError('%d pages available, < %d pages requested'
                                  % (pages_available, pages_requested))

        # Check if hugetlbfs has been mounted
        if not utils.file_contains_pattern('/proc/mounts', 'hugetlbfs'):
            if not hugetlbfs_dir:
                hugetlbfs_dir = os.path.join(self.tmpdir, 'hugetlbfs')
                os.makedirs(hugetlbfs_dir)
            utils.system('mount -t hugetlbfs none %s' % hugetlbfs_dir)
            self.hugetlbfs_dir = hugetlbfs_dir
コード例 #4
0
 def test_output_option(self):
     """
     This method will verify the whether output file is
     created or not using '-o' option
     Ex:/usr/bin/time -o time_out.txt <cmd>
     """
     cmd_invoked = "sleep %s" % self.seconds
     self.output_file = '%s/time-output-%s' % (
         self.tmpdir, time.strftime('%Y-%m-%d-%H.%M.%S'))
     cmd = "%s -v -o %s %s" % (self.time_exe, self.output_file, cmd_invoked)
     utils.system(cmd)
     if os.path.exists(self.output_file) and \
        utils.file_contains_pattern(self.output_file, cmd_invoked):
         logging.info("Output file is created successfully using -o option")
     else:
         self.nfail += 1
         raise error.TestError(
             "Failed to create output file using -o option")
コード例 #5
0
 def test_append_option(self):
     """
     This method will verify the --append option of time utility
     Ex:/usr/bin/time -v -a -o time_out.txt <cmd>
     """
     cmd_invoked = "pwd"
     cmd = "%s -v -a -o %s %s" % (self.time_exe,
                                  self.output_file, cmd_invoked)
     utils.system(cmd)
     if os.path.exists(self.output_file) and \
        utils.file_contains_pattern(self.output_file, cmd_invoked):
         logging.info(
             "Output is appended to the output file successfully" +
             " using -a option of time utility")
     else:
         self.nfail += 1
         raise error.TestError(
             "Failed to append the output to a file using -a option")