Severity: Info
Files (13 occurrences):
tests/data/python_ctrlc.xml lines 5, 19
tests/data/python_ctrlc_child.xml lines 6, 24
tests/data/python_ctrlc_child_py.xml lines 6, 23
tests/data/python_date_rotation.xml line 6
tests/data/python_stdout.xml line 5
tests/data/python_stdout_stderr_same_log_file.xml line 6
tests/ctrlc2.py line 30
tests/ctrlc_child.py line 31
tests/stdout-stderr.py line 4 (comment)
tests/stdout.py line 4 (comment)
Description:
The Python-related test fixtures and scripts hardcode the maintainer's personal Python install:
<!-- tests/data/python_ctrlc.xml:5 -->
<ExecutablePath>C:\Users\aelassas\AppData\Local\Programs\Python\Python313\python.exe</ExecutablePath>
# tests/ctrlc2.py:30
subprocess.Popen(
[
r"C:\Users\aelassas\AppData\Local\Programs\Python\Python313\python.exe",
...
]
)
Every contributor who wants to exercise these fixtures has to either:
- Install Python 3.13 into the exact same folder (not guaranteed, especially on different Windows locales where the profile folder name differs), or
- Hand-edit each of the 13 references to their own path before running.
This is a sibling issue to #746 (which covers tests/ConsoleApp/Program.cs) — the ConsoleApp harness was the loud case; these XML/py fixtures are the quiet one.
Suggested fix:
- For the
.py files, drop the comment/hardcoded path and let python.exe be whatever the first entry in PATH points to (common CI convention). sys.executable is the idiomatic way to re-launch the same interpreter.
- For the XML fixtures, replace the literal path with an environment-variable expansion — Servy already supports
%VAR% expansion in ExecutablePath. For example:
<ExecutablePath>%PYTHON_EXE%</ExecutablePath>
Then either document PYTHON_EXE as required to run the fixture suite, or add a tiny pre-test setup that exports PYTHON_EXE = (Get-Command python.exe).Source on Windows / which python3 on others.
A tests/README.md listing the required environment variables (PYTHON_EXE, any future NODEJS_EXE) would close the loop so new contributors don't have to read 13 XML files to figure out what they're missing.
Severity: Info
Files (13 occurrences):
tests/data/python_ctrlc.xmllines 5, 19tests/data/python_ctrlc_child.xmllines 6, 24tests/data/python_ctrlc_child_py.xmllines 6, 23tests/data/python_date_rotation.xmlline 6tests/data/python_stdout.xmlline 5tests/data/python_stdout_stderr_same_log_file.xmlline 6tests/ctrlc2.pyline 30tests/ctrlc_child.pyline 31tests/stdout-stderr.pyline 4 (comment)tests/stdout.pyline 4 (comment)Description:
The Python-related test fixtures and scripts hardcode the maintainer's personal Python install:
Every contributor who wants to exercise these fixtures has to either:
This is a sibling issue to #746 (which covers
tests/ConsoleApp/Program.cs) — the ConsoleApp harness was the loud case; these XML/py fixtures are the quiet one.Suggested fix:
.pyfiles, drop the comment/hardcoded path and letpython.exebe whatever the first entry inPATHpoints to (common CI convention).sys.executableis the idiomatic way to re-launch the same interpreter.%VAR%expansion inExecutablePath. For example:Then either document
PYTHON_EXEas required to run the fixture suite, or add a tiny pre-test setup that exportsPYTHON_EXE = (Get-Command python.exe).Sourceon Windows /which python3on others.A
tests/README.mdlisting the required environment variables (PYTHON_EXE, any futureNODEJS_EXE) would close the loop so new contributors don't have to read 13 XML files to figure out what they're missing.