comparison config.py @ 82:06356af50bf9

Finished testcases reorganization and CPU time limit implementation We now have: * Win32-specific code in the win32 module (including bug fixes), * UNIX-specific and generic code in the unix module, * a much cleaner testcases module, * wait4-based resource limits working on Python 3 (this is a bug fix), * no warning/error reported on non-Win32 when -x is not passed but standard input does not come from a terminal, * the maxtime configuration variable replaced with two new variables named maxcputime and maxwalltime, * CPU time reported if it can be determined unless an error occurs sooner than it is determined (e. g. if the wall-clock time limit is exceeded), * memory limits enforced even if Upreckon's forking already breaks them, * CPU time limits and private virtual memory limits honoured on Win32, * CPU time limits honoured on UNIX(-like) platforms supporting wait4 or getrusage, * address space limits honoured on UNIX(-like) platforms supporting setrlimit with RLIMIT_AS/RLIMIT_VMEM, * resident set size limits honoured on UNIX(-like) platforms supporting wait4.
author Oleg Oshmyan <chortos@inbox.lv>
date Wed, 23 Feb 2011 23:35:27 +0000
parents ee8a99dcaaed
children 37c4ad87583c
comparison
equal deleted inserted replaced
81:24752db487c5 82:06356af50bf9
24 24
25 __all__ = 'load_problem', 'load_global', 'globalconf' 25 __all__ = 'load_problem', 'load_global', 'globalconf'
26 26
27 defaults_problem = {'kind': 'batch', 27 defaults_problem = {'kind': 'batch',
28 'usegroups': False, 28 'usegroups': False,
29 'maxtime': None, 29 'maxcputime': None,
30 'maxwalltime': None,
30 'maxmemory': None, 31 'maxmemory': None,
31 'dummies': {}, 32 'dummies': {},
32 'testsexcluded': (), 33 'testsexcluded': (),
33 'padtests': 0, 34 'padtests': 0,
34 'paddummies': 0, 35 'paddummies': 0,
153 newmap[k] = oldmap[key] 154 newmap[k] = oldmap[key]
154 except TypeError: 155 except TypeError:
155 newmap[key] = oldmap[key] 156 newmap[key] = oldmap[key]
156 setattr(module, name, newmap) 157 setattr(module, name, newmap)
157 if options.no_maxtime: 158 if options.no_maxtime:
158 module.maxtime = 0 159 module.maxcputime = module.maxwalltime = 0
159 sys.dont_write_bytecode = dwb 160 sys.dont_write_bytecode = dwb
160 for name in patterns: 161 for name in patterns:
161 if hasattr(module, name): 162 if hasattr(module, name):
162 setattr(module, name, getattr(module, name).replace('%', problem_name)) 163 setattr(module, name, getattr(module, name).replace('%', problem_name))
163 return module 164 return module