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.' )
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)
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
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)
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)
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)
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)
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)
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)
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)