# Runner commands. Default to `uv run` for the source-checkout dev flow;
# `clauz3 test` overrides CLAUZ3 so the bundled suite also runs from an
# installed wheel, where `uv` is absent.
clauz3 := env_var_or_default("CLAUZ3", "uv run clauz3")
python := env_var_or_default("PYTHON", "uv run python")

trusted := "../tools/web_search/trusted"
effects := trusted + "/effects.py"
prove := clauz3 + " prove --trusted-root " + trusted + " --import-root .."
# Proves each case in one process: *_pass.py must prove, *_fail.py must not.
prove-cases := python + " -m clauz3._prove_cases --trusted-root " + trusted + " --import-root .."

test: lint cases

lint:
    {{clauz3}} lint {{effects}}

cases:
    {{prove-cases}} cases/*_pass.py cases/*_fail.py
