func (suite *SchedulerTestSuite) TestSchdulerDriverReconcileTasks() { driver := newTestSchedulerDriver(suite.T(), driverConfigMessenger(NewMockScheduler(), suite.framework, suite.master, nil, mockedMessenger())) driver.Start() driver.setConnected(true) // simulated suite.Equal(mesos.Status_DRIVER_RUNNING, driver.Status()) stat, err := driver.ReconcileTasks( []*mesos.TaskStatus{ util.NewTaskStatus(util.NewTaskID("test-task-001"), mesos.TaskState_TASK_FINISHED), }, ) suite.NoError(err) suite.Equal(mesos.Status_DRIVER_RUNNING, stat) }
func TestExecutorDriverSendStatusUpdateStaging(t *testing.T) { driver, _, _ := createTestExecutorDriver(t) stat, err := driver.Start() assert.NoError(t, err) assert.Equal(t, mesosproto.Status_DRIVER_RUNNING, stat) driver.setConnected(true) taskStatus := util.NewTaskStatus( util.NewTaskID("test-task-001"), mesosproto.TaskState_TASK_STAGING, ) stat, err = driver.SendStatusUpdate(taskStatus) assert.Error(t, err) assert.Equal(t, mesosproto.Status_DRIVER_ABORTED, stat) }
func TestStatusUpdateAckRace_Issue103(t *testing.T) { driver, _, _ := createTestExecutorDriver(t) _, err := driver.Start() assert.NoError(t, err) msg := &mesosproto.StatusUpdateAcknowledgementMessage{} go func() { driver.lock.Lock() defer driver.lock.Unlock() driver.statusUpdateAcknowledgement(nil, msg) }() taskStatus := util.NewTaskStatus( util.NewTaskID("test-task-001"), mesosproto.TaskState_TASK_STAGING, ) driver.SendStatusUpdate(taskStatus) }