diff --git a/plugin/gthulhu/gthulhu_test.go b/plugin/gthulhu/gthulhu_test.go index a0150d2..d860faf 100644 --- a/plugin/gthulhu/gthulhu_test.go +++ b/plugin/gthulhu/gthulhu_test.go @@ -195,6 +195,10 @@ func (m *MockScheduler) DefaultSelectCPU(t *models.QueuedTask) (error, int32) { return nil, cpu } +func (m *MockScheduler) GetNrQueued() uint64 { + return uint64(len(m.taskQueue) - m.queueIndex) +} + // Reset resets the mock scheduler state func (m *MockScheduler) Reset() { m.taskQueue = make([]*models.QueuedTask, 0) diff --git a/plugin/internal/registry/registry.go b/plugin/internal/registry/registry.go index f4e29b7..49ba1f0 100644 --- a/plugin/internal/registry/registry.go +++ b/plugin/internal/registry/registry.go @@ -12,6 +12,7 @@ import ( type Sched interface { DequeueTask(task *models.QueuedTask) DefaultSelectCPU(t *models.QueuedTask) (error, int32) + GetNrQueued() uint64 } type CustomScheduler interface { diff --git a/plugin/simple/simple_test.go b/plugin/simple/simple_test.go index 327683e..dbadf07 100644 --- a/plugin/simple/simple_test.go +++ b/plugin/simple/simple_test.go @@ -163,6 +163,10 @@ func (m *MockScheduler) DefaultSelectCPU(t *models.QueuedTask) (error, int32) { return nil, cpu } +func (m *MockScheduler) GetNrQueued() uint64 { + return uint64(len(m.taskQueue) - m.queueIndex) +} + // Reset resets the mock scheduler state func (m *MockScheduler) Reset() { m.taskQueue = make([]*models.QueuedTask, 0) diff --git a/tests/factory_integration_test.go b/tests/factory_integration_test.go index 4639db4..394ece5 100644 --- a/tests/factory_integration_test.go +++ b/tests/factory_integration_test.go @@ -354,7 +354,8 @@ func TestMultiplePluginInstances(t *testing.T) { PublicKeyPath: "/path/to/key", BaseURL: "https://api.example.com", Interval: 10, - }} + }, + } simpleConfig := &plugin.SchedConfig{Mode: "simple"} fifoConfig := &plugin.SchedConfig{Mode: "simple-fifo"} @@ -432,3 +433,7 @@ func (s *testSched) DequeueTask(task *models.QueuedTask) { func (s *testSched) DefaultSelectCPU(t *models.QueuedTask) (error, int32) { return nil, 0 } + +func (s *testSched) GetNrQueued() uint64 { + return uint64(len(s.tasks) - s.index) +}