zeek/auxil/broker/tests/python/zeek_common.py
Patrick Kelley 8fd444092b initial
2025-05-07 15:35:15 -04:00

25 lines
779 B
Python

import os
import subprocess
import tempfile
def run_zeek_path():
base = os.path.realpath(__file__)
for d in (os.path.join(os.path.dirname(base), "../../build"), os.getcwd()):
run_zeek_script = os.path.abspath(os.path.join(d, "tests/python/run-zeek"))
if os.path.exists(run_zeek_script):
return run_zeek_script
return "zeek" # Hope for the best ...
def run_zeek(script, port):
try:
with tempfile.NamedTemporaryFile(mode="w", suffix=".zeek", delete=False) as tmp:
print(script.replace("__PORT__", str(port)), file=tmp)
tmp.close()
subprocess.check_call([run_zeek_path(), "-b", "-B", "broker", tmp.name])
return True
except subprocess.CalledProcessError:
return False