Pulse/scripts/tests
pulse-triage[bot] 564c235e32 fix(update): disarm perform_update RETURN trap after it runs
A RETURN trap is not scoped to the function that installs it. perform_update
left its trap referencing function-local installer_tmp/signature_tmp (and
service_name/service_was_active) installed, so it re-ran when a later function
returned. With those locals gone and 'set -u' active, the updater aborted with
'installer_tmp: unbound variable' immediately after logging 'Auto-update check
completed' — pulse-update.service entered failed state even though the update
had succeeded (reported #2128, affects v6.3.2/v6.4.1).

Disarm the trap with 'trap - RETURN' on its first invocation, and use
${installer_tmp:-}/${signature_tmp:-} so a stray invocation cannot abort the
script. Add a regression test asserting no RETURN trap remains after both the
successful and the prerelease-refusal paths.

Change-source: pulse-maintainer
2026-09-20 17:42:19 +01:00
..
integration
run.sh
test-ci-benchmarks.sh fix(ci): bind benchmark samples to executed binary hashes 2026-09-06 13:32:05 +01:00
test-cloud-public-signup-smoke.sh
test-common-lib.sh
test-hot-dev-auth.sh
test-hot-dev-bg.sh fix(dev): preserve executable launchd wrapper mode 2026-08-27 17:54:10 +01:00
test-hot-dev-runtime.sh fix(deps): split Kubernetes update with discovery-compatible tests 2026-09-09 19:30:02 +01:00
test-install-ps1-parser.sh
test-install-update-resilience.sh Guard auto-update asset staging and migrate stale update units 2026-07-28 11:56:52 +01:00
test-npm-audit-retry.sh Bound the npm audit retry budget by wall clock 2026-09-04 12:13:31 +01:00
test-pulse-auto-update.sh fix(update): disarm perform_update RETURN trap after it runs 2026-09-20 17:42:19 +01:00
test-reclaim-closed-pr-capacity.sh Reclaim CI capacity when pull requests close 2026-09-02 11:03:53 +01:00
test-retired-trial-acquisition-docs.sh
test-script-reference-integrity.sh
test-toggle-mock.sh Scale large-estate workload and Proxmox demo performance 2026-08-23 15:09:32 +01:00
test_benchmark_workflow_contract.py ci: retain exact benchmark collection provenance 2026-09-06 11:12:42 +01:00
test_dependabot_config.py build(deps): pin Playwright to the offline browser runtime line 2026-09-20 03:23:38 +01:00
test_docs_mirror.py Stop background git from racing test_docs_mirror temp cleanup 2026-09-02 09:55:47 +01:00
test_e2e_workflow_contract.py Bound non-gating E2E probation failures 2026-08-28 04:26:34 +01:00
test_gitleaks_ignore.py security: narrow historical secret scan allowlist 2026-08-08 03:17:57 +01:00
test_localized_public_docs.py
test_npm_audit_retry.py Align npm audit contracts after upstream merge 2026-09-04 14:31:31 +01:00
test_public_docs_claims.py Align TrueNAS guidance with JSON-RPC runtime 2026-09-01 18:32:39 +01:00
test_release_train_ci_contract.py fix(ci): include release trains in build and E2E triggers 2026-09-06 00:58:57 +01:00
test_repo_docs_link_drift.py Allow standing triage disclosure link 2026-08-26 11:11:04 +01:00
test_require_safe_gh_attestation.py Bind release activation to trusted provenance 2026-08-30 01:51:58 +01:00
test_root_pair_diagnostic.py fix(ci): archive durable root-pair candidate 2026-09-10 19:13:29 +01:00
test_sync_chart_release_metadata.py
test_telemetry_adoption_report.py Add privacy-safe alert quality telemetry 2026-08-29 14:00:28 +01:00
test_telemetry_schema_parity.py
test_uuid_layout_diagnostic.py ci: add fixed UUID layout diagnostic without release gate waiver 2026-09-06 22:11:03 +01:00
test_validate_published_release.py test(release): reject signatures outside the configured trust boundary 2026-09-05 17:17:54 +01:00
test_workflow_trust.py ci: qualify setup-node v7 consumer contracts 2026-09-09 19:29:17 +01:00
test_write_github_output.py Close runner output alias bypasses 2026-09-01 16:54:07 +01:00