diff --git a/pkg/manager/lifecycle_test.go b/pkg/manager/lifecycle_test.go index 520f445..822d798 100644 --- a/pkg/manager/lifecycle_test.go +++ b/pkg/manager/lifecycle_test.go @@ -10,7 +10,7 @@ import ( ) func TestInstanceTimeoutLogic(t *testing.T) { - testManager := createTestManager() + testManager := createTestManager(t) defer testManager.Shutdown() idleTimeout := 1 // 1 minute @@ -42,7 +42,7 @@ func TestInstanceTimeoutLogic(t *testing.T) { } func TestInstanceWithoutTimeoutNeverExpires(t *testing.T) { - testManager := createTestManager() + testManager := createTestManager(t) defer testManager.Shutdown() noTimeoutInst := createInstanceWithTimeout(t, testManager, "no-timeout-test", "/path/to/model.gguf", nil) @@ -64,7 +64,7 @@ func TestInstanceWithoutTimeoutNeverExpires(t *testing.T) { } func TestEvictLRUInstance_Success(t *testing.T) { - manager := createTestManager() + manager := createTestManager(t) defer manager.Shutdown() // Create 3 instances with idle timeout enabled (value doesn't matter for LRU logic) @@ -121,7 +121,7 @@ func TestEvictLRUInstance_Success(t *testing.T) { } func TestEvictLRUInstance_NoRunningInstances(t *testing.T) { - manager := createTestManager() + manager := createTestManager(t) defer manager.Shutdown() err := manager.EvictLRUInstance() @@ -134,7 +134,7 @@ func TestEvictLRUInstance_NoRunningInstances(t *testing.T) { } func TestEvictLRUInstance_OnlyEvictsTimeoutEnabledInstances(t *testing.T) { - manager := createTestManager() + manager := createTestManager(t) defer manager.Shutdown() // Create mix of instances: some with timeout enabled, some disabled diff --git a/pkg/manager/manager_test.go b/pkg/manager/manager_test.go index 2ecbf9a..5f69909 100644 --- a/pkg/manager/manager_test.go +++ b/pkg/manager/manager_test.go @@ -85,7 +85,7 @@ func TestDeleteInstance_RemovesPersistenceFile(t *testing.T) { } func TestConcurrentAccess(t *testing.T) { - mgr := createTestManager() + mgr := createTestManager(t) defer mgr.Shutdown() // Test concurrent operations @@ -162,29 +162,8 @@ func createTestAppConfig(instancesDir string) *config.AppConfig { } } -func createTestManager() manager.InstanceManager { - appConfig := &config.AppConfig{ - Backends: config.BackendConfig{ - LlamaCpp: config.BackendSettings{ - Command: "sleep", - }, - MLX: config.BackendSettings{ - Command: "sleep", - }, - }, - Instances: config.InstancesConfig{ - PortRange: [2]int{8000, 9000}, - LogsDir: "/tmp/test", - InstancesDir: "/tmp/test", - MaxInstances: 10, - MaxRunningInstances: 10, - DefaultAutoRestart: true, - DefaultMaxRestarts: 3, - DefaultRestartDelay: 5, - TimeoutCheckInterval: 5, - }, - LocalNode: "main", - Nodes: map[string]config.NodeConfig{}, - } +func createTestManager(t *testing.T) manager.InstanceManager { + tempDir := t.TempDir() + appConfig := createTestAppConfig(tempDir) return manager.New(appConfig) } diff --git a/pkg/manager/operations_test.go b/pkg/manager/operations_test.go index d4bcb1b..a11526d 100644 --- a/pkg/manager/operations_test.go +++ b/pkg/manager/operations_test.go @@ -10,7 +10,7 @@ import ( ) func TestCreateInstance_FailsWithDuplicateName(t *testing.T) { - mngr := createTestManager() + mngr := createTestManager(t) options := &instance.Options{ BackendOptions: backends.Options{ BackendType: backends.BackendTypeLlamaCpp, @@ -36,6 +36,7 @@ func TestCreateInstance_FailsWithDuplicateName(t *testing.T) { } func TestCreateInstance_FailsWhenMaxInstancesReached(t *testing.T) { + tempDir := t.TempDir() appConfig := &config.AppConfig{ Backends: config.BackendConfig{ LlamaCpp: config.BackendSettings{ @@ -44,6 +45,7 @@ func TestCreateInstance_FailsWhenMaxInstancesReached(t *testing.T) { }, Instances: config.InstancesConfig{ PortRange: [2]int{8000, 9000}, + InstancesDir: tempDir, MaxInstances: 1, // Very low limit for testing TimeoutCheckInterval: 5, }, @@ -77,7 +79,7 @@ func TestCreateInstance_FailsWhenMaxInstancesReached(t *testing.T) { } func TestCreateInstance_FailsWithPortConflict(t *testing.T) { - manager := createTestManager() + manager := createTestManager(t) options1 := &instance.Options{ BackendOptions: backends.Options{ @@ -115,7 +117,7 @@ func TestCreateInstance_FailsWithPortConflict(t *testing.T) { } func TestInstanceOperations_FailWithNonExistentInstance(t *testing.T) { - manager := createTestManager() + manager := createTestManager(t) options := &instance.Options{ BackendOptions: backends.Options{ @@ -143,7 +145,7 @@ func TestInstanceOperations_FailWithNonExistentInstance(t *testing.T) { } func TestDeleteInstance_RunningInstanceFails(t *testing.T) { - mgr := createTestManager() + mgr := createTestManager(t) defer mgr.Shutdown() options := &instance.Options{ @@ -171,7 +173,7 @@ func TestDeleteInstance_RunningInstanceFails(t *testing.T) { } func TestUpdateInstance(t *testing.T) { - mgr := createTestManager() + mgr := createTestManager(t) defer mgr.Shutdown() options := &instance.Options{ @@ -220,7 +222,7 @@ func TestUpdateInstance(t *testing.T) { } func TestUpdateInstance_ReleasesOldPort(t *testing.T) { - mgr := createTestManager() + mgr := createTestManager(t) defer mgr.Shutdown() options := &instance.Options{