mirror of
https://github.com/ollama/ollama.git
synced 2026-04-21 16:25:42 +02:00
58 lines
1.5 KiB
Go
58 lines
1.5 KiB
Go
package manifest
|
|
|
|
import (
|
|
"path/filepath"
|
|
"testing"
|
|
)
|
|
|
|
func TestTotalTensorSize(t *testing.T) {
|
|
m := &ModelManifest{
|
|
Manifest: &Manifest{
|
|
Layers: []ManifestLayer{
|
|
{MediaType: "application/vnd.ollama.image.tensor", Size: 1000},
|
|
{MediaType: "application/vnd.ollama.image.tensor", Size: 2000},
|
|
{MediaType: "application/vnd.ollama.image.json", Size: 500}, // not a tensor
|
|
{MediaType: "application/vnd.ollama.image.tensor", Size: 3000},
|
|
},
|
|
},
|
|
}
|
|
|
|
got := m.TotalTensorSize()
|
|
want := int64(6000)
|
|
if got != want {
|
|
t.Errorf("TotalTensorSize() = %d, want %d", got, want)
|
|
}
|
|
}
|
|
|
|
func TestTotalTensorSizeEmpty(t *testing.T) {
|
|
m := &ModelManifest{
|
|
Manifest: &Manifest{
|
|
Layers: []ManifestLayer{},
|
|
},
|
|
}
|
|
|
|
if got := m.TotalTensorSize(); got != 0 {
|
|
t.Errorf("TotalTensorSize() = %d, want 0", got)
|
|
}
|
|
}
|
|
|
|
func TestManifestAndBlobDirsRespectOLLAMAModels(t *testing.T) {
|
|
modelsDir := filepath.Join(t.TempDir(), "models")
|
|
|
|
// Simulate packaged/systemd environment
|
|
t.Setenv("OLLAMA_MODELS", modelsDir)
|
|
t.Setenv("HOME", "/usr/share/ollama")
|
|
|
|
// Manifest dir must respect OLLAMA_MODELS
|
|
wantManifest := filepath.Join(modelsDir, "manifests")
|
|
if got := DefaultManifestDir(); got != wantManifest {
|
|
t.Fatalf("DefaultManifestDir() = %q, want %q", got, wantManifest)
|
|
}
|
|
|
|
// Blob dir must respect OLLAMA_MODELS
|
|
wantBlobs := filepath.Join(modelsDir, "blobs")
|
|
if got := DefaultBlobDir(); got != wantBlobs {
|
|
t.Fatalf("DefaultBlobDir() = %q, want %q", got, wantBlobs)
|
|
}
|
|
}
|