flow 1.3.0
Kokkos cut-cell IBM incompressible Navier-Stokes solver + pnm pore extraction
Loading...
Searching...
No Matches
test_no_env_knobs Namespace Reference

Functions

 test_no_numerics_env_knobs ()
 

Variables

 ALLOWED = re.compile(r"_DEBUG(_[A-Z0-9_]+)?$|_VERBOSE$|_PROFILE|_TIMEOUT$|^GPU_AWARE_MPI$")
 
 GETENV = re.compile(r'getenv\(\s*"([A-Za-z0-9_]+)"')
 
str SRC = pathlib.Path(__file__).resolve().parents[2] / "src"
 

Detailed Description

QUALITY_PLAN decision D3 guard: no environment variable in `src/` may change a result.

Package E (2026-09-08) turned every numerics-changing / algorithm-selecting `PECLET_FLOW_*` read
into a solver setter or deleted it with the ablation it served. What is still allowed to be read
from the environment is instrumentation only -- `*_DEBUG`, `*_VERBOSE`, `*_PROFILE*`, `*_TIMEOUT`,
`GPU_AWARE_MPI` -- because none of it touches an arithmetic path. This test fails if a new
`getenv` appears in `src/` outside that allow-list, which is the whole point: the next knob has to
be a setter.

Function Documentation

◆ test_no_numerics_env_knobs()

test_no_env_knobs.test_no_numerics_env_knobs ( )

Definition at line 21 of file test_no_env_knobs.py.

References test_no_numerics_env_knobs().

Referenced by test_no_numerics_env_knobs().

Variable Documentation

◆ ALLOWED

test_no_env_knobs.ALLOWED = re.compile(r"_DEBUG(_[A-Z0-9_]+)?$|_VERBOSE$|_PROFILE|_TIMEOUT$|^GPU_AWARE_MPI$")

Definition at line 15 of file test_no_env_knobs.py.

◆ GETENV

test_no_env_knobs.GETENV = re.compile(r'getenv\(\s*"([A-Za-z0-9_]+)"')

Definition at line 16 of file test_no_env_knobs.py.

◆ SRC

str test_no_env_knobs.SRC = pathlib.Path(__file__).resolve().parents[2] / "src"

Definition at line 18 of file test_no_env_knobs.py.