]> git.hungrycats.org Git - bees/commit
test: isolate integration cases from the host global config
authorZygo Blaxell <bees@furryterror.org>
Fri, 24 Jul 2026 16:10:10 +0000 (12:10 -0400)
committerZygo Blaxell <bees@furryterror.org>
Sat, 5 Sep 2026 04:04:14 +0000 (00:04 -0400)
commit847a2de08e267c7136e64e1493d4ec0fc583fb28
tree091c78e1ec722850e82adf6692d5b5ceaf6f13e4
parent64ba3a4673d369e1e59f0d85456ed9768810068b
test: isolate integration cases from the host global config

bees loads config.global-config-filename (default /etc/bees/bees.conf)
and config.local-config-filename as fallback layers UNDER the per-run
--config, so any key a case does not set inherits the host value.  The
test host's /etc/bees/bees.conf had drifted to [state] persistent = no
(anonymous hash table -> no beeshash.dat / beespoint.ini) and [rewrite]
free-min = 128K (the "cap threshold at extent size" clause then demands
freeing 100% of any sub-128K extent).  Both silently changed the baseline
of every case that did not override them:

  - persistent = no: 02, 03, 04, 05, 20 (missing state files), and the
    delayed-verify tracker in 18/19 (no persisted verify batch)
  - free-min = 128K: 09, 10, 14 (partial-free rewrites rejected, so the
    expected hole / dedupe never happened)

Disable the fallback layers in each case's config with empty
config.global-config-filename / config.local-config-filename, so defaults
come from the build (persistent = yes, free-min = 50%).  The repl case
(05) cannot pass an empty token and reading /dev/null trips a size > 0
check, so it uses boot-layer overrides (set path.home, set
state.persistent yes) which outrank the fallback; it also fixes a stale
key (paths.home -> path.home) that only worked while /etc/bees supplied
[path] home.

No product code change.  Validated on the integration host: all listed
cases pass.

Assisted-by: Claude-Code:claude-opus-4-8
test/integration/cases/02-resume.sh
test/integration/cases/03-config-options.sh
test/integration/cases/04-beeshome-paths.sh
test/integration/cases/05-bees-repl.sh
test/integration/cases/09-scan-next-tempfile.sh
test/integration/cases/10-scan-next-prealloc-mix.sh
test/integration/cases/14-scan-next-copy-only.sh
test/integration/cases/18-verify-deleted-extents.sh
test/integration/cases/19-verify-failed-orphan.sh
test/integration/cases/20-state-persistence.sh
test/integration/cases/21-scan-first-transid.sh