返回 DeepSeek-Reasonix
reasoning_selection_test.go
根目录 / internal / serve / reasoning_selection_test.go
1 package serve
2
3 import (
4 "context"
5 "os"
6 "strings"
7 "testing"
8
9 "reasonix/internal/boot"
10 "reasonix/internal/config"
11 "reasonix/internal/control"
12 )
13
14 func TestAutoClearsSessionEffortWithUnknownMetadata(t *testing.T) {
15 writeServeModelConfig(t)
16 path := config.UserConfigPath()
17 body, err := os.ReadFile(path)
18 if err != nil {
19 t.Fatal(err)
20 }
21 body = []byte(strings.ReplaceAll(string(body), "supported_efforts = [\"low\", \"high\"]", ""))
22 if err := os.WriteFile(path, body, 0600); err != nil {
23 t.Fatal(err)
24 }
25 bc := NewBroadcaster()
26 ctrl := control.New(control.Options{Sink: bc, ModelRef: "alternate/shared-chat", SessionDir: t.TempDir()})
27 s := New(ctrl, bc, config.ServeConfig{})
28 defer s.Close()
29 high := "high"
30 s.buildOptions.EffortOverride = &high
31 builds := 0
32 s.buildControllerWithOptions = func(_ context.Context, ref string, opts boot.Options) (*control.Controller, error) {
33 builds++
34 if opts.EffortOverride == nil || *opts.EffortOverride != "" || opts.EffortModel != ref {
35 t.Fatalf("auto lost its override before boot: %+v", opts.EffortOverride)
36 }
37 cfg := config.LoadForEdit(path)
38 if err := boot.ValidateReasoningSnapshot(cfg, opts); err != nil {
39 return nil, err
40 }
41 return control.New(control.Options{Sink: opts.Sink, ModelRef: ref, SessionDir: t.TempDir()}), nil
42 }
43 if err := s.switchEffort(context.Background(), "auto"); err != nil {
44 t.Fatal(err)
45 }
46 if builds != 1 || s.buildOptions.EffortOverride == nil || *s.buildOptions.EffortOverride != "" {
47 t.Fatal("auto did not commit")
48 }
49 }
50
50 lines GO