Changes in tests/pybin/tools.py [202ad72:0c13238]
- File:
-
- 1 edited
-
tests/pybin/tools.py (modified) (5 diffs)
Legend:
- Unmodified
- Added
- Removed
-
tests/pybin/tools.py
r202ad72 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 … … 79 81 def diff( lhs, rhs ): 80 82 # diff the output of the files 81 diff_cmd = ("diff --ignore-all-space --text " 82 "--ignore-blank-lines " 83 diff_cmd = ("diff --text " 84 # "--ignore-all-space " 85 # "--ignore-blank-lines " 83 86 "--old-group-format='\t\tmissing lines :\n" 84 87 "%%<' \\\n" … … 130 133 131 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 132 140 ################################################################################ 133 141 # file handling 134 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 135 152 136 153 # helper function to replace patterns in a file … … 229 246 signal.signal(signal.SIGINT, signal.SIG_IGN) 230 247 248 249 # enable core dumps for all the test children 250 resource.setrlimit(resource.RLIMIT_CORE, (resource.RLIM_INFINITY, resource.RLIM_INFINITY)) 251 231 252 ################################################################################ 232 253 # misc … … 246 267 if column: 247 268 cmd = "%s 2> /dev/null" % column 248 print(cmd)249 269 proc = Popen(cmd, stdin=PIPE, stderr=None, shell=True) 250 proc.communicate(input=text )270 proc.communicate(input=text + "\n") 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.