mirror of
https://gitlab.torproject.org/tpo/core/tor.git
synced 2024-11-11 21:53:48 +01:00
56 lines
1.2 KiB
Python
Executable File
56 lines
1.2 KiB
Python
Executable File
# Copyright 2013-2018, The Tor Project, Inc
|
|
# See LICENSE for licensing information
|
|
|
|
"""
|
|
bt_test.py
|
|
|
|
This file tests the output from test-bt-cl to make sure it's as expected.
|
|
|
|
Example usage:
|
|
|
|
$ ./src/test/test-bt-cl crash | ./src/test/bt_test.py
|
|
OK
|
|
$ ./src/test/test-bt-cl assert | ./src/test/bt_test.py
|
|
OK
|
|
|
|
"""
|
|
|
|
from __future__ import print_function
|
|
import sys
|
|
|
|
|
|
def matches(lines, funcs):
|
|
if len(lines) < len(funcs):
|
|
return False
|
|
try:
|
|
for l, f in zip(lines, funcs):
|
|
l.index(f)
|
|
except ValueError:
|
|
return False
|
|
else:
|
|
return True
|
|
|
|
FUNCNAMES = "crash oh_what a_tangled_web we_weave main".split()
|
|
|
|
LINES = sys.stdin.readlines()
|
|
|
|
for I in range(len(LINES)):
|
|
if matches(LINES[I:], FUNCNAMES):
|
|
print("OK")
|
|
sys.exit(0)
|
|
|
|
print("BAD")
|
|
|
|
for l in LINES:
|
|
print("{}".format(l), end="")
|
|
|
|
if (sys.platform.startswith('freebsd') or sys.platform.startswith('netbsd') or
|
|
sys.platform.startswith('openbsd') or sys.platform.startswith('darwin')):
|
|
# See bug #17808 if you know how to fix backtraces on BSD-derived systems
|
|
print("Test failed; but {} is known to have backtrace problems."
|
|
.format(sys.platform))
|
|
print("Treating as 'SKIP'.")
|
|
sys.exit(77)
|
|
|
|
sys.exit(1)
|