Skip to content

test(self-update): ccc-self-update.test.sh fails 13/24 when run on live nodes (env-dependent fixtures) #324

Description

@jinon86

Symptom

scripts/validate-harness.sh reports HARNESS VALIDATION: FAIL on live nodes because scripts/ccc-self-update.test.sh fails 13/24 there (observed on dungae during the 2026-07-08 fleet update to 97ec82a; same failure was seen on 2026-07-07 — persistent, not a regression from a specific PR).

Failing checks (dungae, 2026-07-08)

FAIL: up-to-date exits 0
FAIL: update exits 0
FAIL: repo fast-forwarded
FAIL: setup.sh ran
grep: /tmp/tmp.XXXX/systemctl.calls: No such file or directory
FAIL: only allowlisted services restarted
FAIL: audit record written
FAIL: owner notification queued
FAIL: restart failure exits non-zero
FAIL: failure notification queued
FAIL: setup failure exits non-zero and rolls back
FAIL: rollback audit recorded
FAIL: dirty tree aborts
error: pathspec 'file.txt' did not match any file(s) known to git
FAIL: non-main branch aborts

Suspected cause

Test fixtures assume an environment shape the live nodes don't provide (systemctl stub file never created; git fixture repo setup fails at pathspec 'file.txt' — likely git add/commit fixture broken under current git defaults, cascading into every downstream assertion).

Impact

  • validate-harness.sh is red on every live node → real regressions can hide behind the known-red state (alarm fatigue).
  • CI presumably green (different env), so the suite only breaks where operators actually run it.

Suggested fix

Make the fixture setup self-contained (create the temp git repo with explicit git init -b main + committed file; always create the systemctl stub call-log), or skip-with-notice when prerequisites are missing so validate-harness reflects real harness health.

Found during fleet harness update (LOG follow-up); filed per fix-forward policy.

🤖 Generated with Claude Code

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Fields

    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions