diff --git a/reframe/frontend/executors/__init__.py b/reframe/frontend/executors/__init__.py index 19631c2a58..957ea58689 100644 --- a/reframe/frontend/executors/__init__.py +++ b/reframe/frontend/executors/__init__.py @@ -386,8 +386,9 @@ def finalize(self): self._current_stage = 'finalize' self._notify_listeners('on_task_success') - self._perflogger.log_performance(logging.INFO, self, - multiline=self._perflog_compat) + if self.check.is_performance_check(): + self._perflogger.log_performance(logging.INFO, self, + multiline=self._perflog_compat) @logging.time_function def cleanup(self, *args, **kwargs): @@ -397,8 +398,9 @@ def fail(self, exc_info=None): self._failed_stage = self._current_stage self._exc_info = exc_info or sys.exc_info() self._notify_listeners('on_task_failure') - self._perflogger.log_performance(logging.INFO, self, - multiline=self._perflog_compat) + if self.check.is_performance_check(): + self._perflogger.log_performance(logging.INFO, self, + multiline=self._perflog_compat) def skip(self, exc_info=None): self._skipped = True diff --git a/unittests/test_policies.py b/unittests/test_policies.py index cbaf0f4da8..84fbe62b04 100644 --- a/unittests/test_policies.py +++ b/unittests/test_policies.py @@ -989,6 +989,20 @@ def perf1(self): return _MyTest() +@pytest.fixture +def simple_test(): + class _MySimpleTest(rfm.RunOnlyRegressionTest): + valid_systems = ['*'] + valid_prog_environs = ['*'] + executable = 'echo hello' + + @sanity_function + def validate(self): + return sn.assert_found(r'hello', self.stdout) + + return _MySimpleTest() + + @pytest.fixture def config_perflog(make_config_file): def _config_perflog(fmt, perffmt=None, logging_opts=None): @@ -1178,7 +1192,7 @@ def test_perf_logging_no_perfvars(make_runner, make_exec_ctx, perf_test, def test_perf_logging_multiline(make_runner, make_exec_ctx, perf_test, - config_perflog, tmp_path): + simple_test, config_perflog, tmp_path): make_exec_ctx( config_perflog( fmt=( @@ -1193,7 +1207,7 @@ def test_perf_logging_multiline(make_runner, make_exec_ctx, perf_test, ) logging.configure_logging(rt.runtime().site_config) runner = make_runner() - testcases = executors.generate_testcases([perf_test]) + testcases = executors.generate_testcases([perf_test, simple_test]) runner.runall(testcases) logfile = tmp_path / 'perflogs' / 'generic' / 'default' / '_MyTest.log'