test(issue-28): make the host-dependent tests portable; POSIX ps in the process scanners
The 33 failures on the Linux / Python 3.14 host (#28) were environment dependencies, not regressions; each test is worth keeping, so fix the dependency instead of deleting the test: - test_workspace_scope: `source` under `shell=True` ran in dash; run the command string under bash. - conftest autouse: MAM_ENV_FILE points at an absent file for every test, so a workspace .mam.env with a reachable broker no longer breaks the "broker unavailable" tests (T1-4). - help-capture guard: compare normalized help text (whitespace collapsed, "optional arguments"/"options" unified) so argparse re-wrapping across Python versions is not drift. - deploy freshness D-11..D-19 and D-22..D-30: skip with a reason when the nats-docker submodule is not initialized. - lib_py.agents.base.conversation_in_use and heartbeat._process_table: `ps -eo pid=,ppid=,args=` (POSIX) instead of the BSD `-axo ... command=` form, the most likely cause of the 12 purge failures on Linux (the holder scan returned nothing); to be confirmed on that host. Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01VCgu9Fa9iT7TbJUSzdq4Ff
This commit is contained in:
1 parent
46ea4cc1e4
commit
7a94ba2c3e
6 files changed
+48
-4
No files matched your search
@@ -25,7 +25,9 @@ class TestWorkspaceScope(unittest.TestCase):
|
||||
lib_sh = os.path.join(repo_root, ".agents", "skills", "lib.sh")
|
||||
|
||||
cmd = f"source {lib_sh} && env -u HERDR_SESSION_NAME -u HERDR_SERVER_NAME bash -c 'source {lib_sh} && resolve_herdr_session \"test-session\" \"{self.ws_dir}\"'"
|
||||
res = subprocess.run(cmd, shell=True, capture_output=True, text=True)
|
||||
# `source` is a bash builtin; on hosts where /bin/sh is dash `shell=True`
|
||||
# fails with "source: not found" (Issue #28), so run the string under bash.
|
||||
res = subprocess.run(["bash", "-c", cmd], capture_output=True, text=True)
|
||||
self.assertEqual(res.returncode, 0, f"Command failed: {res.stderr}")
|
||||
parent = os.path.basename(os.path.dirname(os.path.abspath(self.ws_dir))).lower().replace('_', '-')
|
||||
work = os.path.basename(os.path.abspath(self.ws_dir)).lower().replace('_', '-')
|
||||
|
||||
Reference in new issue
Block a user