| import sys, os |
| sys.path.insert(0, r"D:\0projects\bountykimi\tmp") |
| from harness import Call, build, check_stream, ART, MARKDIR, g, enc |
|
|
| |
| |
| class Raw: |
| def __init__(self, mod, name): |
| self.mod, self.name = mod, name |
| def emit(self): |
| return g(self.mod, self.name) |
|
|
| import harness |
| _orig_enc = harness.enc |
| def enc2(a): |
| if isinstance(a, Raw): |
| return a.emit() |
| return _orig_enc(a) |
| harness.enc = enc2 |
| Call_mod = harness.Call |
|
|
| cands = { |
| "B10_threadinghttpserver": [Call_mod("http.server", "ThreadingHTTPServer", ("127.0.0.1", 18993), Raw("http.server", "SimpleHTTPRequestHandler"))], |
| "B11_udpserver_bind": [Call_mod("socketserver", "UDPServer", ("127.0.0.1", 18994), Raw("socketserver", "DatagramRequestHandler"))], |
| "B12_forkingmixin_bind": [Call_mod("socketserver", "TCPServer", ("127.0.0.1", 18995), Raw("socketserver", "StreamRequestHandler"))], |
| } |
| for name, steps in cands.items(): |
| path = os.path.join(ART, name + ".pkl") |
| build(steps, path) |
| bad, globs, ga = check_stream(path) |
| print(name, "bad:", bad, "getattr:", ga, "globals:", globs) |
|
|