|
164 | 164 | ] |
165 | 165 | ), |
166 | 166 | ], |
| 167 | + [ |
| 168 | + # test case containing two roots, one of them without subtasks |
| 169 | + ( |
| 170 | + [ |
| 171 | + (1, [(2, "Task-5", [])]), |
| 172 | + ( |
| 173 | + 3, |
| 174 | + [ |
| 175 | + (4, "Task-1", []), |
| 176 | + (5, "Task-2", [[["main"], 4]]), |
| 177 | + (6, "Task-3", [[["main"], 4]]), |
| 178 | + (7, "Task-4", [[["main"], 4]]), |
| 179 | + ], |
| 180 | + ), |
| 181 | + (8, []), |
| 182 | + (0, []), |
| 183 | + ] |
| 184 | + ), |
| 185 | + ( |
| 186 | + [ |
| 187 | + ["└── (T) Task-5"], |
| 188 | + [ |
| 189 | + "└── (T) Task-1", |
| 190 | + " └── main", |
| 191 | + " ├── (T) Task-2", |
| 192 | + " ├── (T) Task-3", |
| 193 | + " └── (T) Task-4", |
| 194 | + ], |
| 195 | + ] |
| 196 | + ), |
| 197 | + ], |
167 | 198 | ] |
168 | 199 |
|
169 | 200 | TEST_INPUTS_CYCLES_TREE = [ |
|
300 | 331 | ), |
301 | 332 | ( |
302 | 333 | [ |
| 334 | + [1, "0x2", "Task-1", "", "", "0x0"], |
303 | 335 | [ |
304 | 336 | 1, |
305 | 337 | "0x3", |
|
409 | 441 | ), |
410 | 442 | ( |
411 | 443 | [ |
| 444 | + [9, "0x5", "Task-5", "", "", "0x0"], |
412 | 445 | [9, "0x6", "Task-6", "main2", "Task-5", "0x5"], |
413 | 446 | [9, "0x7", "Task-7", "main2", "Task-5", "0x5"], |
414 | 447 | [9, "0x8", "Task-8", "main2", "Task-5", "0x5"], |
| 448 | + [10, "0x1", "Task-1", "", "", "0x0"], |
415 | 449 | [10, "0x2", "Task-2", "main", "Task-1", "0x1"], |
416 | 450 | [10, "0x3", "Task-3", "main", "Task-1", "0x1"], |
417 | 451 | [10, "0x4", "Task-4", "main", "Task-1", "0x1"], |
418 | 452 | ] |
419 | 453 | ), |
420 | 454 | ], |
| 455 | + [ |
| 456 | + # test case containing two roots, one of them without subtasks |
| 457 | + ( |
| 458 | + [ |
| 459 | + (1, [(2, "Task-5", [])]), |
| 460 | + ( |
| 461 | + 3, |
| 462 | + [ |
| 463 | + (4, "Task-1", []), |
| 464 | + (5, "Task-2", [[["main"], 4]]), |
| 465 | + (6, "Task-3", [[["main"], 4]]), |
| 466 | + (7, "Task-4", [[["main"], 4]]), |
| 467 | + ], |
| 468 | + ), |
| 469 | + (8, []), |
| 470 | + (0, []), |
| 471 | + ] |
| 472 | + ), |
| 473 | + ( |
| 474 | + [ |
| 475 | + [1, "0x2", "Task-5", "", "", "0x0"], |
| 476 | + [3, "0x4", "Task-1", "", "", "0x0"], |
| 477 | + [3, "0x5", "Task-2", "main", "Task-1", "0x4"], |
| 478 | + [3, "0x6", "Task-3", "main", "Task-1", "0x4"], |
| 479 | + [3, "0x7", "Task-4", "main", "Task-1", "0x4"], |
| 480 | + ] |
| 481 | + ), |
| 482 | + ], |
421 | 483 | # CASES WITH CYCLES |
422 | 484 | [ |
423 | 485 | # this test case contains a cycle: two tasks awaiting each other. |
|
440 | 502 | ), |
441 | 503 | ( |
442 | 504 | [ |
| 505 | + [1, "0x2", "Task-1", "", "", "0x0"], |
443 | 506 | [1, "0x3", "a", "awaiter2", "b", "0x4"], |
444 | 507 | [1, "0x3", "a", "main", "Task-1", "0x2"], |
445 | 508 | [1, "0x4", "b", "awaiter", "a", "0x3"], |
|
480 | 543 | ), |
481 | 544 | ( |
482 | 545 | [ |
| 546 | + [1, "0x2", "Task-1", "", "", "0x0"], |
483 | 547 | [ |
484 | 548 | 1, |
485 | 549 | "0x3", |
@@ -570,7 +634,10 @@ def test_only_independent_tasks_tree(self): |
570 | 634 |
|
571 | 635 | def test_only_independent_tasks_table(self): |
572 | 636 | input_ = [(1, [(10, "taskA", []), (11, "taskB", [])])] |
573 | | - self.assertEqual(tools.build_task_table(input_), []) |
| 637 | + self.assertEqual( |
| 638 | + tools.build_task_table(input_), |
| 639 | + [[1, "0xa", "taskA", "", "", "0x0"], [1, "0xb", "taskB", "", "", "0x0"]], |
| 640 | + ) |
574 | 641 |
|
575 | 642 | def test_single_task_tree(self): |
576 | 643 | """Test print_async_tree with a single task and no awaits.""" |
@@ -599,7 +666,7 @@ def test_single_task_table(self): |
599 | 666 | ], |
600 | 667 | ) |
601 | 668 | ] |
602 | | - expected_output = [] |
| 669 | + expected_output = [[1, "0x2", "Task-1", "", "", "0x0"]] |
603 | 670 | self.assertEqual(tools.build_task_table(result), expected_output) |
604 | 671 |
|
605 | 672 | def test_cycle_detection(self): |
@@ -653,6 +720,7 @@ def test_complex_table(self): |
653 | 720 | ) |
654 | 721 | ] |
655 | 722 | expected_output = [ |
| 723 | + [1, "0x2", "Task-1", "", "", "0x0"], |
656 | 724 | [1, "0x3", "Task-2", "main", "Task-1", "0x2"], |
657 | 725 | [1, "0x4", "Task-3", "main", "Task-2", "0x3"], |
658 | 726 | ] |
|
0 commit comments