fix: tests in ci

This commit is contained in:
leonardotrapani
2026-02-01 22:34:44 +01:00
parent 305f64a73d
commit 500b84caec
3 changed files with 30 additions and 5 deletions
+5 -5
View File
@@ -36,17 +36,17 @@ func (a *WhisperCppAdapter) Transcribe(ctx context.Context, audioData []byte) (s
return "", nil
}
// check model file exists
if _, err := os.Stat(a.modelPath); os.IsNotExist(err) {
return "", fmt.Errorf("model file not found: %s", a.modelPath)
}
// check whisper-cli exists
whisperPath, err := exec.LookPath("whisper-cli")
if err != nil {
return "", fmt.Errorf("whisper-cli not found: install whisper.cpp first")
}
// check model file exists
if _, err := os.Stat(a.modelPath); os.IsNotExist(err) {
return "", fmt.Errorf("model file not found: %s", a.modelPath)
}
// convert raw PCM to WAV
wavData, err := convertToWAV(audioData)
if err != nil {
@@ -3,6 +3,7 @@ package transcriber
import (
"context"
"os"
"os/exec"
"path/filepath"
"testing"
)
@@ -38,6 +39,29 @@ func TestWhisperCppAdapter_MissingModel(t *testing.T) {
}
}
func TestWhisperCppAdapter_MissingCli(t *testing.T) {
if _, err := exec.LookPath("whisper-cli"); err == nil {
t.Skip("whisper-cli is installed")
}
tmpDir := t.TempDir()
modelPath := filepath.Join(tmpDir, "model.bin")
if err := os.WriteFile(modelPath, []byte("fake"), 0600); err != nil {
t.Fatalf("failed to create model: %v", err)
}
adapter := NewWhisperCppAdapter(modelPath, "en", 4)
audioData := make([]byte, 32000)
_, err := adapter.Transcribe(context.Background(), audioData)
if err == nil {
t.Error("expected error for missing whisper-cli")
}
if err != nil && !contains(err.Error(), "whisper-cli not found") {
t.Errorf("expected 'whisper-cli not found' error, got: %v", err)
}
}
func TestWhisperCppAdapter_LanguageConversion(t *testing.T) {
// verify adapter stores language for later conversion
adapter := NewWhisperCppAdapter("/fake/model.bin", "", 4)