Changeset 0c13238 for tests/pybin/tools.py
- Timestamp:
- Jan 23, 2019, 3:02:43 PM (6 years ago)
- Branches:
- ADT, aaron-thesis, arm-eh, ast-experimental, cleanup-dtors, enum, forall-pointer-decay, jacob/cs343-translation, jenkins-sandbox, master, new-ast, new-ast-unique-expr, no_list, persistent-indexer, pthread-emulation, qualifiedEnum
- Children:
- 1d832f4
- Parents:
- c018b85
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
tests/pybin/tools.py
rc018b85 r0c13238 3 3 import __main__ 4 4 import argparse 5 import fileinput 5 6 import multiprocessing 6 7 import os 7 8 import re 9 import resource 8 10 import signal 9 11 import stat 10 12 import sys 11 import fileinput13 import time 12 14 13 15 from pybin import settings … … 131 133 132 134 return None 135 136 def run(exe, output, input): 137 ret, _ = sh("timeout %d %s > %s 2>&1" % (settings.timeout.single, exe, output), input = input) 138 return ret 139 133 140 ################################################################################ 134 141 # file handling 135 142 ################################################################################ 143 # move a file 144 def mv(source, dest): 145 ret, _ = sh("mv %s %s" % (source, dest)) 146 return ret 147 148 # cat one file into the other 149 def cat(source, dest): 150 ret, _ = sh("cat %s > %s" % (source, dest)) 151 return ret 136 152 137 153 # helper function to replace patterns in a file … … 230 246 signal.signal(signal.SIGINT, signal.SIG_IGN) 231 247 248 249 # enable core dumps for all the test children 250 resource.setrlimit(resource.RLIMIT_CORE, (resource.RLIM_INFINITY, resource.RLIM_INFINITY)) 251 232 252 ################################################################################ 233 253 # misc … … 251 271 else: 252 272 print(text) 273 274 275 def coreInfo(path): 276 cmd = os.path.join(settings.SRCDIR, "pybin/print-core.gdb") 277 if not os.path.isfile(cmd): 278 return 1, "ERR Printing format for core dumps not found" 279 280 dname = os.path.dirname(path) 281 core = os.path.join(dname, "core" ) 282 if not os.path.isfile(path): 283 return 1, "ERR Executable path is wrong" 284 285 if not os.path.isfile(core): 286 return 1, "ERR No core dump" 287 288 return sh("gdb -n %s %s -batch -x %s" % (path, core, cmd), print2stdout=False) 289 290 class Timed: 291 def __enter__(self): 292 self.start = time.time() 293 return self 294 295 def __exit__(self, *args): 296 self.end = time.time() 297 self.duration = self.end - self.start
Note: See TracChangeset
for help on using the changeset viewer.