Changes in tests/pybin/tools.py [5ea5b28:0c13238]
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
tests/pybin/tools.py
r5ea5b28 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 … … 247 267 if column: 248 268 cmd = "%s 2> /dev/null" % column 249 print(cmd)250 269 proc = Popen(cmd, stdin=PIPE, stderr=None, shell=True) 251 proc.communicate(input=text )270 proc.communicate(input=text + "\n") 252 271 else: 253 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.