equal
deleted
inserted
replaced
302 |
302 |
303 return missing, failed |
303 return missing, failed |
304 |
304 |
305 def showdiff(expected, output, ref, err): |
305 def showdiff(expected, output, ref, err): |
306 print |
306 print |
|
307 servefail = False |
307 for line in difflib.unified_diff(expected, output, ref, err): |
308 for line in difflib.unified_diff(expected, output, ref, err): |
308 sys.stdout.write(line) |
309 sys.stdout.write(line) |
|
310 if not servefail and line.startswith( |
|
311 '+ abort: child process failed to start'): |
|
312 servefail = True |
|
313 return {'servefail': servefail} |
|
314 |
309 |
315 |
310 verbose = False |
316 verbose = False |
311 def vlog(*msg): |
317 def vlog(*msg): |
312 if verbose is not False: |
318 if verbose is not False: |
313 iolock.acquire() |
319 iolock.acquire() |
1029 else: |
1035 else: |
1030 result = skip(missing[-1]) |
1036 result = skip(missing[-1]) |
1031 elif ret == 'timeout': |
1037 elif ret == 'timeout': |
1032 result = fail("timed out", ret) |
1038 result = fail("timed out", ret) |
1033 elif out != refout: |
1039 elif out != refout: |
|
1040 info = {} |
1034 if not options.nodiff: |
1041 if not options.nodiff: |
1035 iolock.acquire() |
1042 iolock.acquire() |
1036 if options.view: |
1043 if options.view: |
1037 os.system("%s %s %s" % (options.view, ref, err)) |
1044 os.system("%s %s %s" % (options.view, ref, err)) |
1038 else: |
1045 else: |
1039 showdiff(refout, out, ref, err) |
1046 info = showdiff(refout, out, ref, err) |
1040 iolock.release() |
1047 iolock.release() |
|
1048 msg = "" |
|
1049 if info.get('servefail'): msg += "serve failed and " |
1041 if ret: |
1050 if ret: |
1042 result = fail("output changed and " + describe(ret), ret) |
1051 msg += "output changed and " + describe(ret) |
1043 else: |
1052 else: |
1044 result = fail("output changed", ret) |
1053 msg += "output changed" |
|
1054 result = fail(msg, ret) |
1045 elif ret: |
1055 elif ret: |
1046 result = fail(describe(ret), ret) |
1056 result = fail(describe(ret), ret) |
1047 else: |
1057 else: |
1048 result = success() |
1058 result = success() |
1049 |
1059 |