From 9dd6d1003cf92c0e4e7f23414565314691aa5516 Mon Sep 17 00:00:00 2001 From: Christophe Besson Date: Thu, 15 Oct 2026 14:37:45 +0200 Subject: test(node): the event-loop disk guard watches os.stat again test_a_scan_asks_the_disk_nothing_from_the_event_loop patched Path.stat, and since the indexer learned Windows' long paths it calls os.stat(long_path(p)) and os.scandir instead: the guard saw no call at all, and asserting that the calls ran on the indexer's thread failed on an empty set. It watches os.stat and os.scandir now (Path.stat goes through os.stat too), counting what the root holds and not the root, whose availability check runs on the roots' I/O thread. Nothing runs on the loop; a stat added there makes it fail again. The node CLI's parser names itself: under `python -m pytest`, Python 3.14 named the program after the module, so test_cli_golden saw "python -m pytest" in the help. The installed meshbay-node was not affected. Co-Authored-By: Claude Opus 5.5 --- packages/meshbay-node/src/meshbay_node/cli/parser.py | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) (limited to 'packages/meshbay-node/src/meshbay_node/cli/parser.py') diff --git a/packages/meshbay-node/src/meshbay_node/cli/parser.py b/packages/meshbay-node/src/meshbay_node/cli/parser.py index 2a593b6..1477b8b 100644 --- a/packages/meshbay-node/src/meshbay_node/cli/parser.py +++ b/packages/meshbay-node/src/meshbay_node/cli/parser.py @@ -6,7 +6,9 @@ from pathlib import Path def build_parser() -> argparse.ArgumentParser: - parser = argparse.ArgumentParser(description="MeshBay Node daemon") + # The name, not sys.argv[0]: Python 3.14 names a program run with `-m` after + # the module ("python -m ..."), which is how the help went wrong under pytest. + parser = argparse.ArgumentParser(prog="meshbay-node", description="MeshBay Node daemon") parser.add_argument("command", nargs="?", choices=["init", "reset", "status", "gek-init", "gek", "operator", "member", "group", "root", -- cgit v1.2.3