Пример #1
0
        private void RunSpeculativeTaskAttemptSucceeds(TaskEventType firstAttemptFinishEvent
                                                       )
        {
            TaskId taskId = GetNewTaskID();

            ScheduleTaskAttempt(taskId);
            LaunchTaskAttempt(GetLastAttempt().GetAttemptId());
            UpdateLastAttemptState(TaskAttemptState.Running);
            // Add a speculative task attempt that succeeds
            mockTask.Handle(new TaskTAttemptEvent(GetLastAttempt().GetAttemptId(), TaskEventType
                                                  .TAddSpecAttempt));
            LaunchTaskAttempt(GetLastAttempt().GetAttemptId());
            CommitTaskAttempt(GetLastAttempt().GetAttemptId());
            mockTask.Handle(new TaskTAttemptEvent(GetLastAttempt().GetAttemptId(), TaskEventType
                                                  .TAttemptSucceeded));
            // The task should now have succeeded
            AssertTaskSucceededState();
            // Now complete the first task attempt, after the second has succeeded
            mockTask.Handle(new TaskTAttemptEvent(taskAttempts[0].GetAttemptId(), firstAttemptFinishEvent
                                                  ));
            // The task should still be in the succeeded state
            AssertTaskSucceededState();
            // The task should contain speculative a task attempt
            AssertTaskAttemptAvataar(Avataar.Speculative);
        }
Пример #2
0
    void OnTaskChanged(TaskEventType eventType, ITask task)
    {
        TaskShortInfoWidget taskInfo;

        switch (eventType)
        {
        case TaskEventType.Added:
            taskInfo = CreateTaskWidget(_taskInfos.Count, task);
            _taskInfos.Add(task, taskInfo);
            if (_taskWidget == null)
            {
                ShowTask(taskInfo.index);
            }
            break;

        case TaskEventType.Changed:
            taskInfo = UpdateTaskWidget(task);
            if (_taskWidget != null && taskInfo.index == _selectedIndex)
            {
                _taskWidget.TaskUpdate(task);
            }
            break;

        case TaskEventType.Removed:
            taskInfo = RemoveTaskWidget(task);
            _taskInfos.Remove(task);
            if (taskInfo.index == _selectedIndex)
            {
                ShowTask(_selectedIndex + ((_selectedIndex > 0) ? -1 : 1));
            }
            break;
        }
    }
Пример #3
0
    void OnTaskChanged(TaskEventType eventType, ITask task)
    {
        if (task != _task)
        {
            return;
        }

        switch (eventType)
        {
        case TaskEventType.Added:
            ShowMenu(task);
            break;

        case TaskEventType.Changed:
            _taskWidget.TaskUpdate(task);
            break;

        case TaskEventType.Supended:
            HideMenu();
            break;

        case TaskEventType.Removed:
            HideMenu();
            break;
        }
    }
Пример #4
0
 //public void InvokeRefreshMainTable()
 //{
 //    //RefreshMainTable?.Invoke(this, false);
 //}
 public void InvokeSomethingChangedTask(object sender, int TaskId, bool IsStep, TaskEventType Type)
 {
     TaskSomethingChanged?.Invoke(sender, new TaskEventArgs(TaskId, IsStep, Type));
 }
Пример #5
0
 public TaskEventArgs(int TaskId, bool IsStep, TaskEventType Type)
 {
     this.TaskId = TaskId;
     this.IsStep = IsStep;
     this.Type   = Type;
 }
Пример #6
0
 protected internal override void InternalError(TaskEventType type)
 {
     base.InternalError(type);
     NUnit.Framework.Assert.Fail("Internal error: " + type);
 }
Пример #7
0
 public TaskEvent(ObjectModel _obj, TaskEventType _type)
 {
     obj  = _obj;
     type = _type;
 }
Пример #8
0
 public TaskTAttemptEvent(TaskAttemptId id, TaskEventType type)
     : base(id.GetTaskId(), type)
 {
     this.attemptID = id;
 }