Isolate config tests from the shell; any out-of-range PORT is ErrInvalidPort (closes #94)
check / check (push) Successful in 3m16s
check / check (push) Successful in 3m16s
Config tests, and the first-boot debug log test that builds a Config, start from an empty environment: config.ClearEnvForTest unsets every variable the process has and, when the test ends, leaves the environment exactly as it found it, so nothing exported in the developer's shell changes a result and nothing a test sets outlives it. TestEnvPositiveInt and TestEnvPort share one table runner, and TestEnvPort checks that the bad value appears in each error. Every out-of-range PORT now wraps ErrInvalidPort: zero, negatives, above 65535, and numbers too large or too small for an int. The README configuration table and the Settings page say that a RETENTION_SWEEP_INTERVAL that does not parse, or is zero or negative, fails startup. Model: opus-5-5
This commit is contained in:
@@ -117,8 +117,8 @@ func readFirstBootSecrets(
|
||||
}
|
||||
|
||||
// bootAtDebug starts and stops the real application graph against
|
||||
// dataDir with DEBUG=true, and returns everything it wrote to standard
|
||||
// output.
|
||||
// dataDir with DEBUG=true and nothing else set, and returns everything
|
||||
// it wrote to standard output.
|
||||
//
|
||||
// config.New reads DEBUG from the environment exactly as the binary
|
||||
// does, internal/logger builds the handler it builds in production,
|
||||
@@ -128,6 +128,7 @@ func readFirstBootSecrets(
|
||||
func bootAtDebug(t *testing.T, dataDir string) string {
|
||||
t.Helper()
|
||||
|
||||
config.ClearEnvForTest(t)
|
||||
t.Setenv("DEBUG", "true")
|
||||
t.Setenv("DATA_DIR", dataDir)
|
||||
|
||||
|
||||
Reference in New Issue
Block a user