# HG changeset patch # User Oleg Oshmyan # Date 1313530321 -10800 # Node ID fa81289ee4078feb68a37dea39bd8399b0c0dd7a # Parent 1de2ea435d9303816c998d92b6794531050dc06a force_zero_exitcode is now a problem-specific configuration variable diff -r 1de2ea435d93 -r fa81289ee407 upreckon/config.py --- a/upreckon/config.py Tue Aug 16 23:05:03 2011 +0300 +++ b/upreckon/config.py Wed Aug 17 00:32:01 2011 +0300 @@ -38,9 +38,9 @@ 'tester': None, 'maxexitcode': 0, 'inname': '', - 'ansname': ''} -defaults_global = {'problems': None, - 'force_zero_exitcode': True} + 'ansname': '', + 'force_zero_exitcode': True} +defaults_global = {'problems': None} defaults_noerase = {'inname': '%.in', 'outname': '%.out', 'ansname': '%.ans'} diff -r 1de2ea435d93 -r fa81289ee407 upreckon/testcases.py --- a/upreckon/testcases.py Tue Aug 16 23:05:03 2011 +0300 +++ b/upreckon/testcases.py Wed Aug 17 00:32:01 2011 +0300 @@ -268,7 +268,7 @@ with tempfile.TemporaryFile('w+b') if options.erase and (not case.validator or callable(case.validator)) else open(case.problem.config.outname, 'w+b') as outfile: with open(inputdatafname) as infile: call(case.problem.config.path, case=case, stdin=infile, stdout=outfile, stderr=devnull) - if config.globalconf.force_zero_exitcode and case.process.returncode or case.process.returncode < 0: + if case.problem.config.force_zero_exitcode and case.process.returncode or case.process.returncode < 0: raise NonZeroExitCode(case.process.returncode) case.has_called_back = True callback() @@ -277,7 +277,7 @@ else: case.infile.copy(case.problem.config.inname) call(case.problem.config.path, case=case, stdin=devnull, stdout=devnull, stderr=devnull) - if config.globalconf.force_zero_exitcode and case.process.returncode or case.process.returncode < 0: + if case.problem.config.force_zero_exitcode and case.process.returncode or case.process.returncode < 0: raise NonZeroExitCode(case.process.returncode) case.has_called_back = True callback()