Add hooks to job.parallel to split out job._record_prefix state into subtask-local persistent state. This should keep parallel tests from smashing eachothers status log indentation.
Signed-off-by: John Admanski <[email protected]> --- autotest/client/bin/job.py 2010-01-29 13:39:51.000000000 -0800 +++ autotest/client/bin/job.py 2010-01-29 13:39:51.000000000 -0800 @@ -765,7 +765,14 @@ for i, task in enumerate(tasklist): assert isinstance(task, (tuple, list)) self._log_filename = old_log_filename + (".%d" % i) - task_func = lambda: task[0](*task[1:]) + def task_func(): + # stub out _record_prefix with a process-local one + base_record_prefix = self._record_prefix + proc_local = self._job_state.property_factory( + '_state', '_record_prefix.%d' % os.getpid(), + base_record_prefix, namespace='client') + self.__class__._record_prefix = proc_local + task[0](*task[1:]) pids.append(parallel.fork_start(self.resultdir, task_func)) old_log_path = os.path.join(self.resultdir, old_log_filename) _______________________________________________ Autotest mailing list [email protected] http://test.kernel.org/cgi-bin/mailman/listinfo/autotest
