# HG changeset patch # User Oleg Oshmyan # Date 1302274614 -10800 # Node ID dcabc9eb2fde6b5f1a47d7ef0fb8e14c840ddd15 # Parent b92333120c6762d741be7b48063c0dd0b7d82835 Fixed race condition resulting in calling back twice from TestCase.test diff -r b92333120c67 -r dcabc9eb2fde testcases.py --- a/testcases.py Wed Mar 09 16:51:20 2011 +0000 +++ b/testcases.py Fri Apr 08 17:56:54 2011 +0300 @@ -317,8 +317,8 @@ call(case.problem.config.path, case=case, stdin=infile, stdout=outfile, stderr=devnull, universal_newlines=True, bufsize=-1) if config.globalconf.force_zero_exitcode and case.process.returncode or case.process.returncode < 0: raise NonZeroExitCode(case.process.returncode) + case.has_called_back = True callback() - case.has_called_back = True outfile.seek(0) return case.validate(outfile) else: @@ -326,8 +326,8 @@ call(case.problem.config.path, case=case, stdin=devnull, stdout=devnull, stderr=STDOUT) if config.globalconf.force_zero_exitcode and case.process.returncode or case.process.returncode < 0: raise NonZeroExitCode(case.process.returncode) + case.has_called_back = True callback() - case.has_called_back = True with open(case.problem.config.outname, 'rU') as output: return case.validate(output)