示例#1
0
    def check_and_prepare(self, experiment_dir: str,
                          target_config: TargetConfiguration,
                          instr_config: InstrumentConfig) -> str:
        cur_ep_dir = self.get_extrap_dir_name(
            target_config, instr_config.get_instrumentation_iteration())
        if not u.is_valid_file_name(cur_ep_dir):
            log.get_logger().log(
                'ExtrapProfileSink::check_and_prepare: Generated directory name no good. Abort\n'
                + cur_ep_dir,
                level='error')
        else:
            if u.check_provided_directory(cur_ep_dir):
                new_dir_name = cur_ep_dir + '_' + u.generate_random_string()
                log.get_logger().log(
                    'ExtrapProfileSink::check_and_prepare: Moving old experiment directory to: '
                    + new_dir_name,
                    level='info')
                u.rename(cur_ep_dir, new_dir_name)

            u.create_directory(cur_ep_dir)
            cubex_name = experiment_dir + '/' + target_config.get_flavor(
            ) + '-' + target_config.get_target() + '.cubex'
            log.get_logger().log(cubex_name)

            if not u.is_file(cubex_name):
                log.get_logger().log(
                    'ExtrapProfileSink::check_and_prepare: Returned experiment cube name is no file: '
                    + cubex_name)
            else:
                return cubex_name

        raise ProfileSinkException(
            'ExtrapProfileSink: Could not create target directory or Cube dir bad.'
        )
示例#2
0
    def set_filter_file(self, file_name: str) -> None:
        L.get_logger().log(
            'ScorepMeasurementSystem::set_filter_file: File for runtime filtering = '
            + file_name)
        if not U.is_valid_file_name(file_name):
            raise MeasurementSystemException('Score-P filter file not valid.')

        self.cur_filter_file = file_name
        U.set_env('SCOREP_FILTERING_FILE', self.cur_filter_file)
示例#3
0
    def set_exp_dir(self, exp_dir: str, flavor: str,
                    iterationNumber: int) -> None:
        effective_dir = U.get_cube_file_path(exp_dir, flavor, iterationNumber)
        if not U.is_valid_file_name(effective_dir):
            raise MeasurementSystemException(
                'Score-p experiment directory invalid.')

        self.cur_exp_directory = effective_dir
        U.set_env('SCOREP_EXPERIMENT_DIRECTORY', self.cur_exp_directory)
        return
示例#4
0
 def test_is_valid_file_long(self):
   file_name = '/work/scratch/j_lehr/temp1-a/_asd-tes-12-_2-/asd/nul'
   res = u.is_valid_file_name(file_name)
   self.assertTrue(res)
示例#5
0
 def test_is_valid_file_false(self):
   file_name = '/work\\scratch/j_lehr/temp1-%a'
   res = u.is_valid_file_name(file_name)
   self.assertFalse(res)
示例#6
0
 def test_is_valid_file_cube_pattern(self):
   file_name = '/work/scratch/j_lehr/_preparation_/hpcg-1-test_run-1'
   res = u.is_valid_file_name(file_name)
   self.assertTrue(res)
示例#7
0
 def test_is_valid_file(self):
   file_name = '/work/scratch/j_lehr/temp1-a'
   res = u.is_valid_file_name(file_name)
   self.assertTrue(res)
示例#8
0
 def test_is_valid_file_whitespace(self):
   file_name = '/work+tch/j_leh r/temp1-a'
   res = u.is_valid_file_name(file_name)
   self.assertFalse(res)
示例#9
0
 def test_is_valid_file_dot(self):
   file_name = '/work+tch/j.lehr/temp1-a'
   res = u.is_valid_file_name(file_name)
   self.assertFalse(res)
示例#10
0
 def test_is_valid_file_plus(self):
     file_name = '/work+tch/j_lehr/temp1-a'
     res = U.is_valid_file_name(file_name)
     self.assertFalse(res)