test: a per-engine deadline so a wedged primary reaches the fallback (red; adversarial review F4)
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
This commit is contained in:
@@ -1,6 +1,9 @@
|
|||||||
package config
|
package config
|
||||||
|
|
||||||
import "testing"
|
import (
|
||||||
|
"testing"
|
||||||
|
"time"
|
||||||
|
)
|
||||||
|
|
||||||
// What counts as a LOCAL model alias, and where that is demanded (ADR-034, ADR-035 review).
|
// What counts as a LOCAL model alias, and where that is demanded (ADR-034, ADR-035 review).
|
||||||
// A private transcript may be sent to a local model and to nothing else; the check is a
|
// A private transcript may be sent to a local model and to nothing else; the check is a
|
||||||
@@ -72,3 +75,27 @@ func TestLoad_ALocalUploadChatModelIsAccepted(t *testing.T) {
|
|||||||
t.Errorf("UploadChatModel = %q", cfg.UploadChatModel)
|
t.Errorf("UploadChatModel = %q", cfg.UploadChatModel)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func TestLoad_TheEngineTimeoutDefaultsToTwentyFiveMinutesAndMustBePositive(t *testing.T) {
|
||||||
|
clearUploadEnv(t)
|
||||||
|
cfg, err := Load()
|
||||||
|
if err != nil {
|
||||||
|
t.Fatalf("Load: %v", err)
|
||||||
|
}
|
||||||
|
if cfg.TranscribeEngineTimeout != 25*time.Minute {
|
||||||
|
t.Errorf("TranscribeEngineTimeout = %v, want 25m: a 90-minute recording takes about 8 minutes on kb-whisper", cfg.TranscribeEngineTimeout)
|
||||||
|
}
|
||||||
|
|
||||||
|
setEnv(t, map[string]string{"TAPIR_TRANSCRIBE_ENGINE_TIMEOUT": "7m"})
|
||||||
|
cfg, err = Load()
|
||||||
|
if err != nil || cfg.TranscribeEngineTimeout != 7*time.Minute {
|
||||||
|
t.Errorf("override: %v, %v", cfg.TranscribeEngineTimeout, err)
|
||||||
|
}
|
||||||
|
|
||||||
|
for _, bad := range []string{"0", "-1m", "soon"} {
|
||||||
|
setEnv(t, map[string]string{"TAPIR_TRANSCRIBE_ENGINE_TIMEOUT": bad})
|
||||||
|
if _, err := Load(); err == nil {
|
||||||
|
t.Errorf("Load accepted TAPIR_TRANSCRIBE_ENGINE_TIMEOUT=%q", bad)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user