hermes-agent/scripts
Jeff Watts 298ef06458 fix(tests): Windows-aware path-list split and UTF-8 progress output in parallel runner
Two Windows bugs in scripts/run_tests_parallel.py:

- --files/--paths/HERMES_TEST_PATHS were split on ':', which shreds
  absolute Windows paths at the drive letter ('C:\repo\tests' ->
  ['C', '\repo\tests']): the drive letter became a phantom discovery
  root and the rooted remainder only resolved by WindowsPath
  re-anchoring it onto repo_root's drive. New _split_pathspec() keeps
  drive-letter colons glued to their path and accepts ';' (os.pathsep)
  on Windows, while ':'-joined lists (CI generate job) keep working.

- With piped stdout (CI, subprocess capture) Windows encodes the
  runner's output as the ANSI code page, so printing the per-file
  progress glyphs raised UnicodeEncodeError inside the executor
  done-callback and every progress line was silently lost -- which is
  also why test_bare_value_flag_keeps_its_value failed on win32 (no
  '1[check]' line, and the summary says '1 tests passed', which does not
  contain '1 passed'). The runner now reconfigures its own
  stdout/stderr to UTF-8 on Windows, and the tests decode the captured
  output as UTF-8.

Adds regression tests: os.pathsep-joined absolute roots (all
platforms) and no-phantom-drive-root (win32).

Fixes #57149
2026-08-08 12:33:19 -07:00
..
ci
…
lib
…
observability
…
sandbox
…
tests
…
toolperf_abeval
…
whatsapp-bridge
…
LIVETEST_README.md
…
add_contributor.py
…
analyze_livetest.py
…
audit_pr_attribution.py
…
benchmark_browser_eval.py
…
build_model_catalog.py
…
build_skills_index.py
…
capture-cage-terminal.sh
…
check-windows-footguns.py feat(lint): close the fdopen + chained-call gaps in the encoding footgun gate 2026-08-08 12:32:23 -07:00
check_subprocess_stdin.py
…
contributor_audit.py
…
dev-sandbox.sh
…
discord-voice-doctor.py
…
docker_config_migrate.py
…
docker_rebootstrap_nous_session.py
…
generate_conformance_vectors.py
…
hermes-gateway
…
install.cmd
…
install.ps1
…
install.sh
…
install_psutil_android.py
…
iso-certify.py
…
keystroke_diagnostic.py
…
kill_modal.sh
…
lint_diff.py
…
micro_compaction_report.py
…
profile-tui.py
…
release.py chore: map kweiner contributor email 2026-08-08 14:06:30 +05:30
run_tests.sh
…
run_tests_parallel.py fix(tests): Windows-aware path-list split and UTF-8 progress output in parallel runner 2026-08-08 12:33:19 -07:00
sample_and_compress.py
…
smoke_nemo_relay_shared_metrics.py
…
tool_search_livetest.py
…
tool_search_livetest2.py
…
tool_search_livetest_ue.py
…
tool_search_livetest_ue_disc.py
…
tool_search_livetest_ue_hard.py
…