Skip to content

Commit

Permalink
MDL-67211 phpunit: Do not test the order of the running adhoc tasks.
Browse files Browse the repository at this point in the history
  • Loading branch information
golenkovm committed Aug 27, 2020
1 parent d7342dc commit 674f126
Showing 1 changed file with 1 addition and 20 deletions.
21 changes: 1 addition & 20 deletions lib/tests/task_running_test.php
Expand Up @@ -61,19 +61,15 @@ public function test_adhoc_task_running() {
$running = manager::get_running_tasks();
$this->assertEmpty($running);

// Mark the first task running and check results. Because adhoc tasks are pseudo-randomly
// shuffled, it is safer if we can cope with either of them being first.
// Mark the first task running and check results.
$before = time();
$next1 = manager::get_next_adhoc_task(time());
$task2goesfirst = get_class($next1) === 'core\task\adhoc_test2_task';
manager::adhoc_task_starting($next1);
$after = time();
$running = manager::get_running_tasks();
$this->assertCount(1, $running);
foreach ($running as $item) {
$this->assertEquals('adhoc', $item->type);
$this->assertEquals($task2goesfirst ? '\core\task\adhoc_test2_task' : '\core\task\adhoc_test_task',
$item->classname);
$this->assertLessThanOrEqual($after, $item->timestarted);
$this->assertGreaterThanOrEqual($before, $item->timestarted);
}
Expand All @@ -83,26 +79,11 @@ public function test_adhoc_task_running() {
manager::adhoc_task_starting($next2);
$running = manager::get_running_tasks();
$this->assertCount(2, $running);
if ($task2goesfirst) {
$item = array_shift($running);
$this->assertEquals('\core\task\adhoc_test2_task', $item->classname);
$item = array_shift($running);
$this->assertEquals('\core\task\adhoc_test_task', $item->classname);
} else {
$item = array_shift($running);
$this->assertEquals('\core\task\adhoc_test_task', $item->classname);
$item = array_shift($running);
$this->assertEquals('\core\task\adhoc_test2_task', $item->classname);
}

// Second task completes successfully.
manager::adhoc_task_complete($next2);
$running = manager::get_running_tasks();
$this->assertCount(1, $running);
foreach ($running as $item) {
$this->assertEquals($task2goesfirst ? '\core\task\adhoc_test2_task' : '\core\task\adhoc_test_task',
$item->classname);
}

// First task fails.
manager::adhoc_task_failed($next1);
Expand Down

0 comments on commit 674f126

Please sign in to comment.