require.Greater(t, len(records), int(buildQuotaLimit))
var report strings.Builder
+
require.NoError(t, buildWriteReport(&report, appended, stop, records, sizes))
require.Contains(t, report.String(), "stopped early: ")
require.Contains(t, report.String(), "cached (80.0%)")
func TestBuildRunWaitsOnlyBeforeUserMessages(t *testing.T) {
gate := make(chan struct{})
+
var mutex sync.Mutex
+
running, most := 0, 0
server := newModelFake(t)
- server.reply = func(w http.ResponseWriter, call ModelFakeCall) {
+ server.reply = func(w http.ResponseWriter, _ ModelFakeCall) {
mutex.Lock()
+
running++
most = max(most, running)
mutex.Unlock()
<-gate
mutex.Lock()
+
running--
mutex.Unlock()
root := t.TempDir()
usagePath := filepath.Join(root, "usage.jsonl")
client := newModelClient(server.URL, ModelAPIKey(modelTestKey), "onechat-"+probeName, usagePath)
- memory, err := openMemory(t.Context(), root, newTestClock().Now, newCompactor(client, probePrompt, defaultConfig().Compactor), discardLog())
+ memory, err := openMemory(t.Context(), root, newTestClock().Now, newCompactor(client, probePrompt, defaultConfig().Compactor, promptTools()), discardLog())
require.NoError(t, err)
return &BuildRun{