//go:build darwin package engine import ( "path/filepath" "testing" "voicesnap/internal/model" ) func TestOfflineConfigForParakeetUsesNemoTransducer(t *testing.T) { root := t.TempDir() files := map[string]string{ "encoder": filepath.Join(root, "encoder.int8.onnx"), "decoder": filepath.Join(root, "decoder.int8.onnx"), "joiner": filepath.Join(root, "joiner.int8.onnx"), "tokens": filepath.Join(root, "tokens.txt"), } resolved := model.ResolvedModel{ ModelID: model.ParakeetModelID, BackendKind: model.BackendNemoTransducer, Profile: model.ModelProfile{ DisplayName: "Parakeet English", BackendKind: model.BackendNemoTransducer, ProviderOrder: []string{"cpu"}, NumThreads: 4, }, Files: files, } config, err := offlineConfigForResolvedModel(resolved, "cpu") if err != nil { t.Fatal(err) } if config.ModelConfig.Transducer.Encoder != files["encoder"] { t.Fatalf("encoder = %q, want %q", config.ModelConfig.Transducer.Encoder, files["encoder"]) } if config.ModelConfig.Transducer.Decoder != files["decoder"] { t.Fatalf("decoder = %q, want %q", config.ModelConfig.Transducer.Decoder, files["decoder"]) } if config.ModelConfig.Transducer.Joiner != files["joiner"] { t.Fatalf("joiner = %q, want %q", config.ModelConfig.Transducer.Joiner, files["joiner"]) } if config.ModelConfig.Tokens != files["tokens"] { t.Fatalf("tokens = %q, want %q", config.ModelConfig.Tokens, files["tokens"]) } if config.ModelConfig.ModelType != model.BackendNemoTransducer { t.Fatalf("model type = %q, want %q", config.ModelConfig.ModelType, model.BackendNemoTransducer) } }