@calmo/task-runner 3.8.2 → 3.8.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +5 -0
- package/coverage/coverage-final.json +4 -3
- package/coverage/index.html +9 -9
- package/coverage/lcov-report/index.html +9 -9
- package/coverage/lcov-report/src/EventBus.ts.html +4 -4
- package/coverage/lcov-report/src/ExecutionConstants.ts.html +121 -0
- package/coverage/lcov-report/src/TaskGraphValidationError.ts.html +1 -1
- package/coverage/lcov-report/src/TaskGraphValidator.ts.html +1 -1
- package/coverage/lcov-report/src/TaskRunner.ts.html +1 -1
- package/coverage/lcov-report/src/TaskRunnerBuilder.ts.html +1 -1
- package/coverage/lcov-report/src/TaskRunnerExecutionConfig.ts.html +1 -1
- package/coverage/lcov-report/src/TaskStateManager.ts.html +34 -34
- package/coverage/lcov-report/src/WorkflowExecutor.ts.html +151 -97
- package/coverage/lcov-report/src/contracts/ErrorTypes.ts.html +1 -1
- package/coverage/lcov-report/src/contracts/RunnerEvents.ts.html +1 -1
- package/coverage/lcov-report/src/contracts/index.html +1 -1
- package/coverage/lcov-report/src/index.html +24 -9
- package/coverage/lcov-report/src/strategies/DryRunExecutionStrategy.ts.html +1 -1
- package/coverage/lcov-report/src/strategies/RetryingExecutionStrategy.ts.html +1 -1
- package/coverage/lcov-report/src/strategies/StandardExecutionStrategy.ts.html +1 -1
- package/coverage/lcov-report/src/strategies/index.html +1 -1
- package/coverage/lcov.info +184 -171
- package/coverage/src/EventBus.ts.html +4 -4
- package/coverage/src/ExecutionConstants.ts.html +121 -0
- package/coverage/src/TaskGraphValidationError.ts.html +1 -1
- package/coverage/src/TaskGraphValidator.ts.html +1 -1
- package/coverage/src/TaskRunner.ts.html +1 -1
- package/coverage/src/TaskRunnerBuilder.ts.html +1 -1
- package/coverage/src/TaskRunnerExecutionConfig.ts.html +1 -1
- package/coverage/src/TaskStateManager.ts.html +34 -34
- package/coverage/src/WorkflowExecutor.ts.html +151 -97
- package/coverage/src/contracts/ErrorTypes.ts.html +1 -1
- package/coverage/src/contracts/RunnerEvents.ts.html +1 -1
- package/coverage/src/contracts/index.html +1 -1
- package/coverage/src/index.html +24 -9
- package/coverage/src/strategies/DryRunExecutionStrategy.ts.html +1 -1
- package/coverage/src/strategies/RetryingExecutionStrategy.ts.html +1 -1
- package/coverage/src/strategies/StandardExecutionStrategy.ts.html +1 -1
- package/coverage/src/strategies/index.html +1 -1
- package/dist/ExecutionConstants.d.ts +12 -0
- package/dist/ExecutionConstants.js +13 -0
- package/dist/ExecutionConstants.js.map +1 -0
- package/dist/WorkflowExecutor.d.ts +4 -0
- package/dist/WorkflowExecutor.js +62 -49
- package/dist/WorkflowExecutor.js.map +1 -1
- package/package.json +1 -1
- package/src/ExecutionConstants.ts +12 -0
- package/src/WorkflowExecutor.ts +69 -51
- package/test-report.xml +146 -140
package/test-report.xml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
<?xml version="1.0" encoding="UTF-8" ?>
|
|
2
|
-
<testsuites name="vitest tests" tests="
|
|
3
|
-
<testsuite name="tests/ComplexScenario.test.ts" timestamp="2026-01-21T01:
|
|
4
|
-
<testcase classname="tests/ComplexScenario.test.ts" name="Complex Scenario Integration Tests > 1. All steps execute when all succeed and context is hydrated" time="0.
|
|
2
|
+
<testsuites name="vitest tests" tests="118" failures="0" errors="0" time="1.451867156">
|
|
3
|
+
<testsuite name="tests/ComplexScenario.test.ts" timestamp="2026-01-21T01:20:30.119Z" hostname="runnervmmtnos" tests="2" failures="0" errors="0" skipped="0" time="0.012737825">
|
|
4
|
+
<testcase classname="tests/ComplexScenario.test.ts" name="Complex Scenario Integration Tests > 1. All steps execute when all succeed and context is hydrated" time="0.008044038">
|
|
5
5
|
<system-out>
|
|
6
6
|
Running StepA
|
|
7
7
|
Running StepB
|
|
@@ -15,279 +15,285 @@ Running StepG
|
|
|
15
15
|
|
|
16
16
|
</system-out>
|
|
17
17
|
</testcase>
|
|
18
|
-
<testcase classname="tests/ComplexScenario.test.ts" name="Complex Scenario Integration Tests > 2. The 'skip' propagation works as intended if something breaks up in the tree" time="0.
|
|
18
|
+
<testcase classname="tests/ComplexScenario.test.ts" name="Complex Scenario Integration Tests > 2. The 'skip' propagation works as intended if something breaks up in the tree" time="0.002254931">
|
|
19
19
|
</testcase>
|
|
20
20
|
</testsuite>
|
|
21
|
-
<testsuite name="tests/DryRunExecutionStrategy.test.ts" timestamp="2026-01-21T01:
|
|
22
|
-
<testcase classname="tests/DryRunExecutionStrategy.test.ts" name="DryRunExecutionStrategy > should return success without running the task" time="0.
|
|
21
|
+
<testsuite name="tests/DryRunExecutionStrategy.test.ts" timestamp="2026-01-21T01:20:30.121Z" hostname="runnervmmtnos" tests="1" failures="0" errors="0" skipped="0" time="0.003457702">
|
|
22
|
+
<testcase classname="tests/DryRunExecutionStrategy.test.ts" name="DryRunExecutionStrategy > should return success without running the task" time="0.001924673">
|
|
23
23
|
</testcase>
|
|
24
24
|
</testsuite>
|
|
25
|
-
<testsuite name="tests/EventBus.test.ts" timestamp="2026-01-21T01:
|
|
26
|
-
<testcase classname="tests/EventBus.test.ts" name="EventBus > should subscribe to and emit events" time="0.
|
|
25
|
+
<testsuite name="tests/EventBus.test.ts" timestamp="2026-01-21T01:20:30.121Z" hostname="runnervmmtnos" tests="10" failures="0" errors="0" skipped="0" time="0.0215066">
|
|
26
|
+
<testcase classname="tests/EventBus.test.ts" name="EventBus > should subscribe to and emit events" time="0.00579612">
|
|
27
27
|
</testcase>
|
|
28
|
-
<testcase classname="tests/EventBus.test.ts" name="EventBus > should unsubscribe from events" time="0.
|
|
28
|
+
<testcase classname="tests/EventBus.test.ts" name="EventBus > should unsubscribe from events" time="0.001731922">
|
|
29
29
|
</testcase>
|
|
30
|
-
<testcase classname="tests/EventBus.test.ts" name="EventBus > should handle sync listener errors" time="0.
|
|
30
|
+
<testcase classname="tests/EventBus.test.ts" name="EventBus > should handle sync listener errors" time="0.00471681">
|
|
31
31
|
</testcase>
|
|
32
|
-
<testcase classname="tests/EventBus.test.ts" name="EventBus > should handle async listener rejections" time="0.
|
|
32
|
+
<testcase classname="tests/EventBus.test.ts" name="EventBus > should handle async listener rejections" time="0.001729828">
|
|
33
33
|
</testcase>
|
|
34
|
-
<testcase classname="tests/EventBus.test.ts" name="EventBus > should handle emit with no listeners" time="0.
|
|
34
|
+
<testcase classname="tests/EventBus.test.ts" name="EventBus > should handle emit with no listeners" time="0.001122962">
|
|
35
35
|
</testcase>
|
|
36
|
-
<testcase classname="tests/EventBus.test.ts" name="EventBus > should handle off for non-existent event" time="0.
|
|
36
|
+
<testcase classname="tests/EventBus.test.ts" name="EventBus > should handle off for non-existent event" time="0.000349795">
|
|
37
37
|
</testcase>
|
|
38
|
-
<testcase classname="tests/EventBus.test.ts" name="EventBus > should handle off for event with no listeners" time="0.
|
|
38
|
+
<testcase classname="tests/EventBus.test.ts" name="EventBus > should handle off for event with no listeners" time="0.000271178">
|
|
39
39
|
</testcase>
|
|
40
|
-
<testcase classname="tests/EventBus.test.ts" name="EventBus > should handle off when listener set exists but empty" time="0.
|
|
40
|
+
<testcase classname="tests/EventBus.test.ts" name="EventBus > should handle off when listener set exists but empty" time="0.000138059">
|
|
41
41
|
</testcase>
|
|
42
|
-
<testcase classname="tests/EventBus.test.ts" name="EventBus > should trigger outer catch block when inner catch fails" time="0.
|
|
42
|
+
<testcase classname="tests/EventBus.test.ts" name="EventBus > should trigger outer catch block when inner catch fails" time="0.00200441">
|
|
43
43
|
</testcase>
|
|
44
|
-
<testcase classname="tests/EventBus.test.ts" name="EventBus > should handle multiple listeners for the same event" time="0.
|
|
44
|
+
<testcase classname="tests/EventBus.test.ts" name="EventBus > should handle multiple listeners for the same event" time="0.001634813">
|
|
45
45
|
</testcase>
|
|
46
46
|
</testsuite>
|
|
47
|
-
<testsuite name="tests/
|
|
48
|
-
<testcase classname="tests/
|
|
47
|
+
<testsuite name="tests/ExecutionStrategyFailure.test.ts" timestamp="2026-01-21T01:20:30.123Z" hostname="runnervmmtnos" tests="2" failures="0" errors="0" skipped="0" time="0.00456238">
|
|
48
|
+
<testcase classname="tests/ExecutionStrategyFailure.test.ts" name="WorkflowExecutor Strategy Failure Handling > should handle execution strategy throwing an Error object" time="0.002344078">
|
|
49
49
|
</testcase>
|
|
50
|
-
<testcase classname="tests/
|
|
50
|
+
<testcase classname="tests/ExecutionStrategyFailure.test.ts" name="WorkflowExecutor Strategy Failure Handling > should handle execution strategy throwing a non-Error object" time="0.000419446">
|
|
51
51
|
</testcase>
|
|
52
|
-
|
|
52
|
+
</testsuite>
|
|
53
|
+
<testsuite name="tests/TaskGraphValidator.test.ts" timestamp="2026-01-21T01:20:30.124Z" hostname="runnervmmtnos" tests="10" failures="0" errors="0" skipped="0" time="0.01167254">
|
|
54
|
+
<testcase classname="tests/TaskGraphValidator.test.ts" name="TaskGraphValidator > should be instantiated" time="0.002123365">
|
|
55
|
+
</testcase>
|
|
56
|
+
<testcase classname="tests/TaskGraphValidator.test.ts" name="TaskGraphValidator > should return valid result for empty graph" time="0.001425949">
|
|
57
|
+
</testcase>
|
|
58
|
+
<testcase classname="tests/TaskGraphValidator.test.ts" name="TaskGraphValidator > should detect duplicate tasks" time="0.001953517">
|
|
53
59
|
</testcase>
|
|
54
|
-
<testcase classname="tests/TaskGraphValidator.test.ts" name="TaskGraphValidator > should detect missing dependencies" time="0.
|
|
60
|
+
<testcase classname="tests/TaskGraphValidator.test.ts" name="TaskGraphValidator > should detect missing dependencies" time="0.000890076">
|
|
55
61
|
</testcase>
|
|
56
|
-
<testcase classname="tests/TaskGraphValidator.test.ts" name="TaskGraphValidator > should detect cycles" time="0.
|
|
62
|
+
<testcase classname="tests/TaskGraphValidator.test.ts" name="TaskGraphValidator > should detect cycles" time="0.000536234">
|
|
57
63
|
</testcase>
|
|
58
|
-
<testcase classname="tests/TaskGraphValidator.test.ts" name="TaskGraphValidator > should return valid for a correct graph" time="0.
|
|
64
|
+
<testcase classname="tests/TaskGraphValidator.test.ts" name="TaskGraphValidator > should return valid for a correct graph" time="0.000721">
|
|
59
65
|
</testcase>
|
|
60
|
-
<testcase classname="tests/TaskGraphValidator.test.ts" name="TaskGraphValidator > should not detect cycles if missing dependencies are present" time="0.
|
|
66
|
+
<testcase classname="tests/TaskGraphValidator.test.ts" name="TaskGraphValidator > should not detect cycles if missing dependencies are present" time="0.00032606">
|
|
61
67
|
</testcase>
|
|
62
|
-
<testcase classname="tests/TaskGraphValidator.test.ts" name="TaskGraphValidator > should detect more complex cycles" time="0.
|
|
68
|
+
<testcase classname="tests/TaskGraphValidator.test.ts" name="TaskGraphValidator > should detect more complex cycles" time="0.000313958">
|
|
63
69
|
</testcase>
|
|
64
|
-
<testcase classname="tests/TaskGraphValidator.test.ts" name="TaskGraphValidator > should handle cycle detection with no cycles but shared dependencies" time="0.
|
|
70
|
+
<testcase classname="tests/TaskGraphValidator.test.ts" name="TaskGraphValidator > should handle cycle detection with no cycles but shared dependencies" time="0.00048077">
|
|
65
71
|
</testcase>
|
|
66
|
-
<testcase classname="tests/TaskGraphValidator.test.ts" name="TaskGraphValidator > should create a formatted error message" time="0.
|
|
72
|
+
<testcase classname="tests/TaskGraphValidator.test.ts" name="TaskGraphValidator > should create a formatted error message" time="0.000260567">
|
|
67
73
|
</testcase>
|
|
68
74
|
</testsuite>
|
|
69
|
-
<testsuite name="tests/TaskGraphValidatorDoS.test.ts" timestamp="2026-01-21T01:
|
|
70
|
-
<testcase classname="tests/TaskGraphValidatorDoS.test.ts" name="TaskGraphValidator - Deep Recursion > should handle deep graphs without stack overflow" time="0.
|
|
75
|
+
<testsuite name="tests/TaskGraphValidatorDoS.test.ts" timestamp="2026-01-21T01:20:30.126Z" hostname="runnervmmtnos" tests="1" failures="0" errors="0" skipped="0" time="0.057797736">
|
|
76
|
+
<testcase classname="tests/TaskGraphValidatorDoS.test.ts" name="TaskGraphValidator - Deep Recursion > should handle deep graphs without stack overflow" time="0.055440804">
|
|
71
77
|
</testcase>
|
|
72
78
|
</testsuite>
|
|
73
|
-
<testsuite name="tests/TaskRunner.test.ts" timestamp="2026-01-21T01:
|
|
74
|
-
<testcase classname="tests/TaskRunner.test.ts" name="TaskRunner > should run tasks in the correct sequential order" time="0.
|
|
79
|
+
<testsuite name="tests/TaskRunner.test.ts" timestamp="2026-01-21T01:20:30.126Z" hostname="runnervmmtnos" tests="11" failures="0" errors="0" skipped="0" time="0.113709163">
|
|
80
|
+
<testcase classname="tests/TaskRunner.test.ts" name="TaskRunner > should run tasks in the correct sequential order" time="0.003838526">
|
|
75
81
|
</testcase>
|
|
76
|
-
<testcase classname="tests/TaskRunner.test.ts" name="TaskRunner > should handle an empty list of tasks gracefully" time="0.
|
|
82
|
+
<testcase classname="tests/TaskRunner.test.ts" name="TaskRunner > should handle an empty list of tasks gracefully" time="0.000433502">
|
|
77
83
|
</testcase>
|
|
78
|
-
<testcase classname="tests/TaskRunner.test.ts" name="TaskRunner > should run independent tasks in parallel" time="0.
|
|
84
|
+
<testcase classname="tests/TaskRunner.test.ts" name="TaskRunner > should run independent tasks in parallel" time="0.100641952">
|
|
79
85
|
</testcase>
|
|
80
|
-
<testcase classname="tests/TaskRunner.test.ts" name="TaskRunner > should skip dependent tasks if a root task fails" time="0.
|
|
86
|
+
<testcase classname="tests/TaskRunner.test.ts" name="TaskRunner > should skip dependent tasks if a root task fails" time="0.000594493">
|
|
81
87
|
</testcase>
|
|
82
|
-
<testcase classname="tests/TaskRunner.test.ts" name="TaskRunner > should throw an error for 'circular dependency'" time="0.
|
|
88
|
+
<testcase classname="tests/TaskRunner.test.ts" name="TaskRunner > should throw an error for 'circular dependency'" time="0.002735611">
|
|
83
89
|
</testcase>
|
|
84
|
-
<testcase classname="tests/TaskRunner.test.ts" name="TaskRunner > should throw an error for 'missing dependency'" time="0.
|
|
90
|
+
<testcase classname="tests/TaskRunner.test.ts" name="TaskRunner > should throw an error for 'missing dependency'" time="0.00039027">
|
|
85
91
|
</testcase>
|
|
86
|
-
<testcase classname="tests/TaskRunner.test.ts" name="TaskRunner > should handle tasks that throw an error during execution" time="0.
|
|
92
|
+
<testcase classname="tests/TaskRunner.test.ts" name="TaskRunner > should handle tasks that throw an error during execution" time="0.000416489">
|
|
87
93
|
</testcase>
|
|
88
|
-
<testcase classname="tests/TaskRunner.test.ts" name="TaskRunner > should skip tasks whose dependencies are skipped" time="0.
|
|
94
|
+
<testcase classname="tests/TaskRunner.test.ts" name="TaskRunner > should skip tasks whose dependencies are skipped" time="0.000473877">
|
|
89
95
|
</testcase>
|
|
90
|
-
<testcase classname="tests/TaskRunner.test.ts" name="TaskRunner > should handle tasks that throw a non-Error object during execution" time="0.
|
|
96
|
+
<testcase classname="tests/TaskRunner.test.ts" name="TaskRunner > should handle tasks that throw a non-Error object during execution" time="0.000440614">
|
|
91
97
|
</testcase>
|
|
92
|
-
<testcase classname="tests/TaskRunner.test.ts" name="TaskRunner > should handle duplicate steps where one gets skipped due to failed dependency" time="0.
|
|
98
|
+
<testcase classname="tests/TaskRunner.test.ts" name="TaskRunner > should handle duplicate steps where one gets skipped due to failed dependency" time="0.000508001">
|
|
93
99
|
</testcase>
|
|
94
|
-
<testcase classname="tests/TaskRunner.test.ts" name="TaskRunner > should throw TaskGraphValidationError with detailed result" time="0.
|
|
100
|
+
<testcase classname="tests/TaskRunner.test.ts" name="TaskRunner > should throw TaskGraphValidationError with detailed result" time="0.000922647">
|
|
95
101
|
</testcase>
|
|
96
102
|
</testsuite>
|
|
97
|
-
<testsuite name="tests/TaskRunnerEvents.test.ts" timestamp="2026-01-21T01:
|
|
98
|
-
<testcase classname="tests/TaskRunnerEvents.test.ts" name="TaskRunner Events > should fire all lifecycle events in a successful run" time="0.
|
|
103
|
+
<testsuite name="tests/TaskRunnerEvents.test.ts" timestamp="2026-01-21T01:20:30.128Z" hostname="runnervmmtnos" tests="7" failures="0" errors="0" skipped="0" time="0.016915515">
|
|
104
|
+
<testcase classname="tests/TaskRunnerEvents.test.ts" name="TaskRunner Events > should fire all lifecycle events in a successful run" time="0.006673963">
|
|
99
105
|
</testcase>
|
|
100
|
-
<testcase classname="tests/TaskRunnerEvents.test.ts" name="TaskRunner Events > should fire taskSkipped event when dependency fails" time="0.
|
|
106
|
+
<testcase classname="tests/TaskRunnerEvents.test.ts" name="TaskRunner Events > should fire taskSkipped event when dependency fails" time="0.004710548">
|
|
101
107
|
</testcase>
|
|
102
|
-
<testcase classname="tests/TaskRunnerEvents.test.ts" name="TaskRunner Events > should not crash if a listener throws an error" time="0.
|
|
108
|
+
<testcase classname="tests/TaskRunnerEvents.test.ts" name="TaskRunner Events > should not crash if a listener throws an error" time="0.001160453">
|
|
103
109
|
</testcase>
|
|
104
|
-
<testcase classname="tests/TaskRunnerEvents.test.ts" name="TaskRunner Events > should fire workflow events even for empty step list" time="0.
|
|
110
|
+
<testcase classname="tests/TaskRunnerEvents.test.ts" name="TaskRunner Events > should fire workflow events even for empty step list" time="0.000469869">
|
|
105
111
|
</testcase>
|
|
106
|
-
<testcase classname="tests/TaskRunnerEvents.test.ts" name="TaskRunner Events > should handle unsubscribe correctly" time="0.
|
|
112
|
+
<testcase classname="tests/TaskRunnerEvents.test.ts" name="TaskRunner Events > should handle unsubscribe correctly" time="0.000663872">
|
|
107
113
|
</testcase>
|
|
108
|
-
<testcase classname="tests/TaskRunnerEvents.test.ts" name="TaskRunner Events > should safely handle off() when no listeners exist" time="0.
|
|
114
|
+
<testcase classname="tests/TaskRunnerEvents.test.ts" name="TaskRunner Events > should safely handle off() when no listeners exist" time="0.000393377">
|
|
109
115
|
</testcase>
|
|
110
|
-
<testcase classname="tests/TaskRunnerEvents.test.ts" name="TaskRunner Events > should support multiple listeners for the same event" time="0.
|
|
116
|
+
<testcase classname="tests/TaskRunnerEvents.test.ts" name="TaskRunner Events > should support multiple listeners for the same event" time="0.000553416">
|
|
111
117
|
</testcase>
|
|
112
118
|
</testsuite>
|
|
113
|
-
<testsuite name="tests/TaskRunnerMermaid.test.ts" timestamp="2026-01-21T01:
|
|
114
|
-
<testcase classname="tests/TaskRunnerMermaid.test.ts" name="TaskRunner Mermaid Graph > should generate a simple graph with no dependencies" time="0.
|
|
119
|
+
<testsuite name="tests/TaskRunnerMermaid.test.ts" timestamp="2026-01-21T01:20:30.130Z" hostname="runnervmmtnos" tests="5" failures="0" errors="0" skipped="0" time="0.006086844">
|
|
120
|
+
<testcase classname="tests/TaskRunnerMermaid.test.ts" name="TaskRunner Mermaid Graph > should generate a simple graph with no dependencies" time="0.002468951">
|
|
115
121
|
</testcase>
|
|
116
|
-
<testcase classname="tests/TaskRunnerMermaid.test.ts" name="TaskRunner Mermaid Graph > should generate a graph with dependencies" time="0.
|
|
122
|
+
<testcase classname="tests/TaskRunnerMermaid.test.ts" name="TaskRunner Mermaid Graph > should generate a graph with dependencies" time="0.000527397">
|
|
117
123
|
</testcase>
|
|
118
|
-
<testcase classname="tests/TaskRunnerMermaid.test.ts" name="TaskRunner Mermaid Graph > should handle mixed independent and dependent tasks" time="0.
|
|
124
|
+
<testcase classname="tests/TaskRunnerMermaid.test.ts" name="TaskRunner Mermaid Graph > should handle mixed independent and dependent tasks" time="0.00039519">
|
|
119
125
|
</testcase>
|
|
120
|
-
<testcase classname="tests/TaskRunnerMermaid.test.ts" name="TaskRunner Mermaid Graph > should handle special characters in task names" time="0.
|
|
126
|
+
<testcase classname="tests/TaskRunnerMermaid.test.ts" name="TaskRunner Mermaid Graph > should handle special characters in task names" time="0.000418583">
|
|
121
127
|
</testcase>
|
|
122
|
-
<testcase classname="tests/TaskRunnerMermaid.test.ts" name="TaskRunner Mermaid Graph > should sanitize brackets and parentheses" time="0.
|
|
128
|
+
<testcase classname="tests/TaskRunnerMermaid.test.ts" name="TaskRunner Mermaid Graph > should sanitize brackets and parentheses" time="0.000488033">
|
|
123
129
|
</testcase>
|
|
124
130
|
</testsuite>
|
|
125
|
-
<testsuite name="tests/TaskRunnerRefactor.test.ts" timestamp="2026-01-21T01:
|
|
126
|
-
<testcase classname="tests/TaskRunnerRefactor.test.ts" name="TaskRunner Refactor Coverage > should allow setting execution strategy" time="0.
|
|
131
|
+
<testsuite name="tests/TaskRunnerRefactor.test.ts" timestamp="2026-01-21T01:20:30.131Z" hostname="runnervmmtnos" tests="6" failures="0" errors="0" skipped="0" time="0.009688336">
|
|
132
|
+
<testcase classname="tests/TaskRunnerRefactor.test.ts" name="TaskRunner Refactor Coverage > should allow setting execution strategy" time="0.002360348">
|
|
127
133
|
</testcase>
|
|
128
|
-
<testcase classname="tests/TaskRunnerRefactor.test.ts" name="TaskRunner Refactor Coverage > should allow unsubscribing from events" time="0.
|
|
134
|
+
<testcase classname="tests/TaskRunnerRefactor.test.ts" name="TaskRunner Refactor Coverage > should allow unsubscribing from events" time="0.001268374">
|
|
129
135
|
</testcase>
|
|
130
|
-
<testcase classname="tests/TaskRunnerRefactor.test.ts" name="TaskRunner Refactor Coverage > TaskStateManager.cancelAllPending should handle non-existing tasks gracefully" time="0.
|
|
136
|
+
<testcase classname="tests/TaskRunnerRefactor.test.ts" name="TaskRunner Refactor Coverage > TaskStateManager.cancelAllPending should handle non-existing tasks gracefully" time="0.000540292">
|
|
131
137
|
</testcase>
|
|
132
|
-
<testcase classname="tests/TaskRunnerRefactor.test.ts" name="TaskRunner Refactor Coverage > TaskRunnerBuilder should build a TaskRunner" time="0.
|
|
138
|
+
<testcase classname="tests/TaskRunnerRefactor.test.ts" name="TaskRunner Refactor Coverage > TaskRunnerBuilder should build a TaskRunner" time="0.000648945">
|
|
133
139
|
</testcase>
|
|
134
|
-
<testcase classname="tests/TaskRunnerRefactor.test.ts" name="TaskRunner Refactor Coverage > TaskRunnerBuilder should build a TaskRunner with no listeners" time="0.
|
|
140
|
+
<testcase classname="tests/TaskRunnerRefactor.test.ts" name="TaskRunner Refactor Coverage > TaskRunnerBuilder should build a TaskRunner with no listeners" time="0.000233287">
|
|
135
141
|
</testcase>
|
|
136
|
-
<testcase classname="tests/TaskRunnerRefactor.test.ts" name="TaskRunner Refactor Coverage > WorkflowExecutor should break infinite loop if no progress can be made" time="0.
|
|
142
|
+
<testcase classname="tests/TaskRunnerRefactor.test.ts" name="TaskRunner Refactor Coverage > WorkflowExecutor should break infinite loop if no progress can be made" time="0.002114228">
|
|
137
143
|
</testcase>
|
|
138
144
|
</testsuite>
|
|
139
|
-
<testsuite name="tests/TaskStateManager.repro.test.ts" timestamp="2026-01-21T01:
|
|
140
|
-
<testcase classname="tests/TaskStateManager.repro.test.ts" name="TaskStateManager Repro > should emit taskEnd event when cancelling pending tasks" time="0.
|
|
145
|
+
<testsuite name="tests/TaskStateManager.repro.test.ts" timestamp="2026-01-21T01:20:30.132Z" hostname="runnervmmtnos" tests="1" failures="0" errors="0" skipped="0" time="0.007050739">
|
|
146
|
+
<testcase classname="tests/TaskStateManager.repro.test.ts" name="TaskStateManager Repro > should emit taskEnd event when cancelling pending tasks" time="0.005372628">
|
|
141
147
|
</testcase>
|
|
142
148
|
</testsuite>
|
|
143
|
-
<testsuite name="tests/WorkflowExecutor.test.ts" timestamp="2026-01-21T01:
|
|
144
|
-
<testcase classname="tests/WorkflowExecutor.test.ts" name="WorkflowExecutor > should execute steps sequentially when dependencies exist" time="0.
|
|
149
|
+
<testsuite name="tests/WorkflowExecutor.test.ts" timestamp="2026-01-21T01:20:30.132Z" hostname="runnervmmtnos" tests="3" failures="0" errors="0" skipped="0" time="0.055871908">
|
|
150
|
+
<testcase classname="tests/WorkflowExecutor.test.ts" name="WorkflowExecutor > should execute steps sequentially when dependencies exist" time="0.002950523">
|
|
145
151
|
</testcase>
|
|
146
|
-
<testcase classname="tests/WorkflowExecutor.test.ts" name="WorkflowExecutor > should skip dependent steps if dependency fails" time="0.
|
|
152
|
+
<testcase classname="tests/WorkflowExecutor.test.ts" name="WorkflowExecutor > should skip dependent steps if dependency fails" time="0.000355636">
|
|
147
153
|
</testcase>
|
|
148
|
-
<testcase classname="tests/WorkflowExecutor.test.ts" name="WorkflowExecutor > should run independent steps in parallel" time="0.
|
|
154
|
+
<testcase classname="tests/WorkflowExecutor.test.ts" name="WorkflowExecutor > should run independent steps in parallel" time="0.050883701">
|
|
149
155
|
</testcase>
|
|
150
156
|
</testsuite>
|
|
151
|
-
<testsuite name="tests/cancellation.test.ts" timestamp="2026-01-21T01:
|
|
152
|
-
<testcase classname="tests/cancellation.test.ts" name="TaskRunner Cancellation > should execute tasks normally without cancellation" time="0.
|
|
157
|
+
<testsuite name="tests/cancellation.test.ts" timestamp="2026-01-21T01:20:30.133Z" hostname="runnervmmtnos" tests="10" failures="0" errors="0" skipped="0" time="0.160400266">
|
|
158
|
+
<testcase classname="tests/cancellation.test.ts" name="TaskRunner Cancellation > should execute tasks normally without cancellation" time="0.002667363">
|
|
153
159
|
</testcase>
|
|
154
|
-
<testcase classname="tests/cancellation.test.ts" name="TaskRunner Cancellation > should cancel workflow via AbortSignal" time="0.
|
|
160
|
+
<testcase classname="tests/cancellation.test.ts" name="TaskRunner Cancellation > should cancel workflow via AbortSignal" time="0.011579177">
|
|
155
161
|
</testcase>
|
|
156
|
-
<testcase classname="tests/cancellation.test.ts" name="TaskRunner Cancellation > should cancel workflow via global timeout" time="0.
|
|
162
|
+
<testcase classname="tests/cancellation.test.ts" name="TaskRunner Cancellation > should cancel workflow via global timeout" time="0.049785618">
|
|
157
163
|
</testcase>
|
|
158
|
-
<testcase classname="tests/cancellation.test.ts" name="TaskRunner Cancellation > should handle pre-aborted signal" time="0.
|
|
164
|
+
<testcase classname="tests/cancellation.test.ts" name="TaskRunner Cancellation > should handle pre-aborted signal" time="0.000514863">
|
|
159
165
|
</testcase>
|
|
160
|
-
<testcase classname="tests/cancellation.test.ts" name="TaskRunner Cancellation > should propagate cancellation to running task" time="0.
|
|
166
|
+
<testcase classname="tests/cancellation.test.ts" name="TaskRunner Cancellation > should propagate cancellation to running task" time="0.010511417">
|
|
161
167
|
</testcase>
|
|
162
|
-
<testcase classname="tests/cancellation.test.ts" name="TaskRunner Cancellation > should respect timeout over signal if timeout happens first" time="0.
|
|
168
|
+
<testcase classname="tests/cancellation.test.ts" name="TaskRunner Cancellation > should respect timeout over signal if timeout happens first" time="0.050385231">
|
|
163
169
|
</testcase>
|
|
164
|
-
<testcase classname="tests/cancellation.test.ts" name="TaskRunner Cancellation > should handle case where timeout is set AND signal is already aborted" time="0.
|
|
170
|
+
<testcase classname="tests/cancellation.test.ts" name="TaskRunner Cancellation > should handle case where timeout is set AND signal is already aborted" time="0.000421228">
|
|
165
171
|
</testcase>
|
|
166
|
-
<testcase classname="tests/cancellation.test.ts" name="TaskRunner Cancellation > should cancel workflow via AbortSignal when timeout is also set" time="0.
|
|
172
|
+
<testcase classname="tests/cancellation.test.ts" name="TaskRunner Cancellation > should cancel workflow via AbortSignal when timeout is also set" time="0.010702835">
|
|
167
173
|
</testcase>
|
|
168
|
-
<testcase classname="tests/cancellation.test.ts" name="TaskRunner Cancellation > should fail task if it throws non-abort error during cancellation" time="0.
|
|
174
|
+
<testcase classname="tests/cancellation.test.ts" name="TaskRunner Cancellation > should fail task if it throws non-abort error during cancellation" time="0.010803995">
|
|
169
175
|
</testcase>
|
|
170
|
-
<testcase classname="tests/cancellation.test.ts" name="TaskRunner Cancellation > should cancel task if it rejects with signal.reason" time="0.
|
|
176
|
+
<testcase classname="tests/cancellation.test.ts" name="TaskRunner Cancellation > should cancel task if it rejects with signal.reason" time="0.010747078">
|
|
171
177
|
</testcase>
|
|
172
178
|
</testsuite>
|
|
173
|
-
<testsuite name="tests/concurrency.test.ts" timestamp="2026-01-21T01:
|
|
174
|
-
<testcase classname="tests/concurrency.test.ts" name="Concurrency Control > should limit concurrency to 1" time="0.
|
|
179
|
+
<testsuite name="tests/concurrency.test.ts" timestamp="2026-01-21T01:20:30.134Z" hostname="runnervmmtnos" tests="4" failures="0" errors="0" skipped="0" time="0.351021936">
|
|
180
|
+
<testcase classname="tests/concurrency.test.ts" name="Concurrency Control > should limit concurrency to 1" time="0.154676602">
|
|
175
181
|
</testcase>
|
|
176
|
-
<testcase classname="tests/concurrency.test.ts" name="Concurrency Control > should limit concurrency to 2" time="0.
|
|
182
|
+
<testcase classname="tests/concurrency.test.ts" name="Concurrency Control > should limit concurrency to 2" time="0.101359834">
|
|
177
183
|
</testcase>
|
|
178
|
-
<testcase classname="tests/concurrency.test.ts" name="Concurrency Control > should handle unlimited concurrency (default)" time="0.
|
|
184
|
+
<testcase classname="tests/concurrency.test.ts" name="Concurrency Control > should handle unlimited concurrency (default)" time="0.050988922">
|
|
179
185
|
</testcase>
|
|
180
|
-
<testcase classname="tests/concurrency.test.ts" name="Concurrency Control > should run each task exactly once even when queued" time="0.
|
|
186
|
+
<testcase classname="tests/concurrency.test.ts" name="Concurrency Control > should run each task exactly once even when queued" time="0.041463015">
|
|
181
187
|
</testcase>
|
|
182
188
|
</testsuite>
|
|
183
|
-
<testsuite name="tests/conditional.test.ts" timestamp="2026-01-21T01:
|
|
184
|
-
<testcase classname="tests/conditional.test.ts" name="WorkflowExecutor Conditional Execution > should execute task when condition is undefined" time="0.
|
|
189
|
+
<testsuite name="tests/conditional.test.ts" timestamp="2026-01-21T01:20:30.135Z" hostname="runnervmmtnos" tests="11" failures="0" errors="0" skipped="0" time="0.052299957">
|
|
190
|
+
<testcase classname="tests/conditional.test.ts" name="WorkflowExecutor Conditional Execution > should execute task when condition is undefined" time="0.003083642">
|
|
185
191
|
</testcase>
|
|
186
|
-
<testcase classname="tests/conditional.test.ts" name="WorkflowExecutor Conditional Execution > should execute task when condition returns true" time="0.
|
|
192
|
+
<testcase classname="tests/conditional.test.ts" name="WorkflowExecutor Conditional Execution > should execute task when condition returns true" time="0.000426649">
|
|
187
193
|
</testcase>
|
|
188
|
-
<testcase classname="tests/conditional.test.ts" name="WorkflowExecutor Conditional Execution > should skip task when condition returns false" time="0.
|
|
194
|
+
<testcase classname="tests/conditional.test.ts" name="WorkflowExecutor Conditional Execution > should skip task when condition returns false" time="0.001586871">
|
|
189
195
|
</testcase>
|
|
190
|
-
<testcase classname="tests/conditional.test.ts" name="WorkflowExecutor Conditional Execution > should handle async condition" time="0.
|
|
196
|
+
<testcase classname="tests/conditional.test.ts" name="WorkflowExecutor Conditional Execution > should handle async condition" time="0.000432499">
|
|
191
197
|
</testcase>
|
|
192
|
-
<testcase classname="tests/conditional.test.ts" name="WorkflowExecutor Conditional Execution > should skip dependent tasks if parent is skipped due to condition" time="0.
|
|
198
|
+
<testcase classname="tests/conditional.test.ts" name="WorkflowExecutor Conditional Execution > should skip dependent tasks if parent is skipped due to condition" time="0.000703848">
|
|
193
199
|
</testcase>
|
|
194
|
-
<testcase classname="tests/conditional.test.ts" name="WorkflowExecutor Conditional Execution > should handle condition throwing error" time="0.
|
|
200
|
+
<testcase classname="tests/conditional.test.ts" name="WorkflowExecutor Conditional Execution > should handle condition throwing error" time="0.000404638">
|
|
195
201
|
</testcase>
|
|
196
|
-
<testcase classname="tests/conditional.test.ts" name="WorkflowExecutor Conditional Execution > should handle condition throwing non-Error object" time="0.
|
|
202
|
+
<testcase classname="tests/conditional.test.ts" name="WorkflowExecutor Conditional Execution > should handle condition throwing non-Error object" time="0.000385482">
|
|
197
203
|
</testcase>
|
|
198
|
-
<testcase classname="tests/conditional.test.ts" name="WorkflowExecutor Conditional Execution > should handle cancellation during async condition evaluation" time="0.
|
|
204
|
+
<testcase classname="tests/conditional.test.ts" name="WorkflowExecutor Conditional Execution > should handle cancellation during async condition evaluation" time="0.021667042">
|
|
199
205
|
</testcase>
|
|
200
|
-
<testcase classname="tests/conditional.test.ts" name="WorkflowExecutor Conditional Execution > should handle cancellation between condition and execution (or before execution if no condition)" time="0.
|
|
206
|
+
<testcase classname="tests/conditional.test.ts" name="WorkflowExecutor Conditional Execution > should handle cancellation between condition and execution (or before execution if no condition)" time="0.02009117">
|
|
201
207
|
</testcase>
|
|
202
|
-
<testcase classname="tests/conditional.test.ts" name="WorkflowExecutor Conditional Execution > should handle immediate cancellation" time="0.
|
|
208
|
+
<testcase classname="tests/conditional.test.ts" name="WorkflowExecutor Conditional Execution > should handle immediate cancellation" time="0.000682247">
|
|
203
209
|
</testcase>
|
|
204
|
-
<testcase classname="tests/conditional.test.ts" name="WorkflowExecutor Conditional Execution > should break loop if stuck (e.g. cycle)" time="0.
|
|
210
|
+
<testcase classname="tests/conditional.test.ts" name="WorkflowExecutor Conditional Execution > should break loop if stuck (e.g. cycle)" time="0.000337602">
|
|
205
211
|
</testcase>
|
|
206
212
|
</testsuite>
|
|
207
|
-
<testsuite name="tests/integration.test.ts" timestamp="2026-01-21T01:
|
|
208
|
-
<testcase classname="tests/integration.test.ts" name="TaskRunner Validation Integration > should throw validation error with clear message for duplicate tasks" time="0.
|
|
213
|
+
<testsuite name="tests/integration.test.ts" timestamp="2026-01-21T01:20:30.137Z" hostname="runnervmmtnos" tests="3" failures="0" errors="0" skipped="0" time="0.008836872">
|
|
214
|
+
<testcase classname="tests/integration.test.ts" name="TaskRunner Validation Integration > should throw validation error with clear message for duplicate tasks" time="0.005145402">
|
|
209
215
|
</testcase>
|
|
210
|
-
<testcase classname="tests/integration.test.ts" name="TaskRunner Validation Integration > should throw validation error with clear message for missing dependencies" time="0.
|
|
216
|
+
<testcase classname="tests/integration.test.ts" name="TaskRunner Validation Integration > should throw validation error with clear message for missing dependencies" time="0.00056086">
|
|
211
217
|
</testcase>
|
|
212
|
-
<testcase classname="tests/integration.test.ts" name="TaskRunner Validation Integration > should throw validation error with clear message for cycles" time="0.
|
|
218
|
+
<testcase classname="tests/integration.test.ts" name="TaskRunner Validation Integration > should throw validation error with clear message for cycles" time="0.000498103">
|
|
213
219
|
</testcase>
|
|
214
220
|
</testsuite>
|
|
215
|
-
<testsuite name="tests/priority.test.ts" timestamp="2026-01-21T01:
|
|
216
|
-
<testcase classname="tests/priority.test.ts" name="Task Priority Scheduling > should execute higher priority tasks first when concurrency is limited" time="0.
|
|
221
|
+
<testsuite name="tests/priority.test.ts" timestamp="2026-01-21T01:20:30.138Z" hostname="runnervmmtnos" tests="6" failures="0" errors="0" skipped="0" time="0.231923273">
|
|
222
|
+
<testcase classname="tests/priority.test.ts" name="Task Priority Scheduling > should execute higher priority tasks first when concurrency is limited" time="0.04541155">
|
|
217
223
|
</testcase>
|
|
218
|
-
<testcase classname="tests/priority.test.ts" name="Task Priority Scheduling > should maintain FIFO order for tasks with equal priority" time="0.
|
|
224
|
+
<testcase classname="tests/priority.test.ts" name="Task Priority Scheduling > should maintain FIFO order for tasks with equal priority" time="0.030813242">
|
|
219
225
|
</testcase>
|
|
220
|
-
<testcase classname="tests/priority.test.ts" name="Task Priority Scheduling > should treat undefined priority as 0" time="0.
|
|
226
|
+
<testcase classname="tests/priority.test.ts" name="Task Priority Scheduling > should treat undefined priority as 0" time="0.041419416">
|
|
221
227
|
</testcase>
|
|
222
|
-
<testcase classname="tests/priority.test.ts" name="Task Priority Scheduling > should respect priority when tasks become ready at different times" time="0.
|
|
228
|
+
<testcase classname="tests/priority.test.ts" name="Task Priority Scheduling > should respect priority when tasks become ready at different times" time="0.030705692">
|
|
223
229
|
</testcase>
|
|
224
|
-
<testcase classname="tests/priority.test.ts" name="Task Priority Scheduling > should not affect execution when concurrency is unlimited" time="0.
|
|
230
|
+
<testcase classname="tests/priority.test.ts" name="Task Priority Scheduling > should not affect execution when concurrency is unlimited" time="0.050797832">
|
|
225
231
|
</testcase>
|
|
226
|
-
<testcase classname="tests/priority.test.ts" name="Task Priority Scheduling > should handle mixed priority and dependency scenarios" time="0.
|
|
232
|
+
<testcase classname="tests/priority.test.ts" name="Task Priority Scheduling > should handle mixed priority and dependency scenarios" time="0.030509631">
|
|
227
233
|
</testcase>
|
|
228
234
|
</testsuite>
|
|
229
|
-
<testsuite name="tests/integration-tests/basic-structure.test.ts" timestamp="2026-01-21T01:
|
|
230
|
-
<testcase classname="tests/integration-tests/basic-structure.test.ts" name="Integration: Basic Structure > Scenario 1: Basic linear workflow (A -> B -> C)" time="0.
|
|
235
|
+
<testsuite name="tests/integration-tests/basic-structure.test.ts" timestamp="2026-01-21T01:20:30.139Z" hostname="runnervmmtnos" tests="4" failures="0" errors="0" skipped="0" time="0.131125602">
|
|
236
|
+
<testcase classname="tests/integration-tests/basic-structure.test.ts" name="Integration: Basic Structure > Scenario 1: Basic linear workflow (A -> B -> C)" time="0.034074086">
|
|
231
237
|
</testcase>
|
|
232
|
-
<testcase classname="tests/integration-tests/basic-structure.test.ts" name="Integration: Basic Structure > Scenario 2: Branching workflow (A -> [B, C] -> D)" time="0.
|
|
238
|
+
<testcase classname="tests/integration-tests/basic-structure.test.ts" name="Integration: Basic Structure > Scenario 2: Branching workflow (A -> [B, C] -> D)" time="0.03319469">
|
|
233
239
|
</testcase>
|
|
234
|
-
<testcase classname="tests/integration-tests/basic-structure.test.ts" name="Integration: Basic Structure > Scenario 12: Complex 'Diamond' dependency graph (A -> B -> D, A -> C -> D)" time="0.
|
|
240
|
+
<testcase classname="tests/integration-tests/basic-structure.test.ts" name="Integration: Basic Structure > Scenario 12: Complex 'Diamond' dependency graph (A -> B -> D, A -> C -> D)" time="0.040868793">
|
|
235
241
|
</testcase>
|
|
236
|
-
<testcase classname="tests/integration-tests/basic-structure.test.ts" name="Integration: Basic Structure > Scenario 14: Zero-dependency parallel burst" time="0.
|
|
242
|
+
<testcase classname="tests/integration-tests/basic-structure.test.ts" name="Integration: Basic Structure > Scenario 14: Zero-dependency parallel burst" time="0.02116468">
|
|
237
243
|
</testcase>
|
|
238
244
|
</testsuite>
|
|
239
|
-
<testsuite name="tests/integration-tests/concurrency-timing.test.ts" timestamp="2026-01-21T01:
|
|
240
|
-
<testcase classname="tests/integration-tests/concurrency-timing.test.ts" name="Integration: Concurrency and Timing > Scenario 6: Mixed duration tasks (verifying parallel efficiency)" time="0.
|
|
245
|
+
<testsuite name="tests/integration-tests/concurrency-timing.test.ts" timestamp="2026-01-21T01:20:30.139Z" hostname="runnervmmtnos" tests="3" failures="0" errors="0" skipped="0" time="0.127939009">
|
|
246
|
+
<testcase classname="tests/integration-tests/concurrency-timing.test.ts" name="Integration: Concurrency and Timing > Scenario 6: Mixed duration tasks (verifying parallel efficiency)" time="0.053707181">
|
|
241
247
|
</testcase>
|
|
242
|
-
<testcase classname="tests/integration-tests/concurrency-timing.test.ts" name="Integration: Concurrency and Timing > Scenario 7: Cancellation via AbortSignal" time="0.
|
|
248
|
+
<testcase classname="tests/integration-tests/concurrency-timing.test.ts" name="Integration: Concurrency and Timing > Scenario 7: Cancellation via AbortSignal" time="0.021665094">
|
|
243
249
|
</testcase>
|
|
244
|
-
<testcase classname="tests/integration-tests/concurrency-timing.test.ts" name="Integration: Concurrency and Timing > Scenario 8: Global timeout interrupting long tasks" time="0.
|
|
250
|
+
<testcase classname="tests/integration-tests/concurrency-timing.test.ts" name="Integration: Concurrency and Timing > Scenario 8: Global timeout interrupting long tasks" time="0.050469928">
|
|
245
251
|
</testcase>
|
|
246
252
|
</testsuite>
|
|
247
|
-
<testsuite name="tests/integration-tests/context-state.test.ts" timestamp="2026-01-21T01:
|
|
248
|
-
<testcase classname="tests/integration-tests/context-state.test.ts" name="Integration: Context and State > Scenario 4: Shared context mutation (A writes, B reads)" time="0.
|
|
253
|
+
<testsuite name="tests/integration-tests/context-state.test.ts" timestamp="2026-01-21T01:20:30.140Z" hostname="runnervmmtnos" tests="3" failures="0" errors="0" skipped="0" time="0.019309647">
|
|
254
|
+
<testcase classname="tests/integration-tests/context-state.test.ts" name="Integration: Context and State > Scenario 4: Shared context mutation (A writes, B reads)" time="0.005355205">
|
|
249
255
|
</testcase>
|
|
250
|
-
<testcase classname="tests/integration-tests/context-state.test.ts" name="Integration: Context and State > Scenario 9: Dynamic context validation" time="0.
|
|
256
|
+
<testcase classname="tests/integration-tests/context-state.test.ts" name="Integration: Context and State > Scenario 9: Dynamic context validation" time="0.000666748">
|
|
251
257
|
</testcase>
|
|
252
|
-
<testcase classname="tests/integration-tests/context-state.test.ts" name="Integration: Context and State > Scenario 13: Tasks with side-effects" time="0.
|
|
258
|
+
<testcase classname="tests/integration-tests/context-state.test.ts" name="Integration: Context and State > Scenario 13: Tasks with side-effects" time="0.011028756">
|
|
253
259
|
</testcase>
|
|
254
260
|
</testsuite>
|
|
255
|
-
<testsuite name="tests/integration-tests/dryRun.test.ts" timestamp="2026-01-21T01:
|
|
256
|
-
<testcase classname="tests/integration-tests/dryRun.test.ts" name="Integration: Dry Run > should execute successfully without side effects" time="0.
|
|
261
|
+
<testsuite name="tests/integration-tests/dryRun.test.ts" timestamp="2026-01-21T01:20:30.140Z" hostname="runnervmmtnos" tests="2" failures="0" errors="0" skipped="0" time="0.00813554">
|
|
262
|
+
<testcase classname="tests/integration-tests/dryRun.test.ts" name="Integration: Dry Run > should execute successfully without side effects" time="0.00536859">
|
|
257
263
|
</testcase>
|
|
258
|
-
<testcase classname="tests/integration-tests/dryRun.test.ts" name="Integration: Dry Run > should respect dependencies (topological order is maintained even in dry run)" time="0.
|
|
264
|
+
<testcase classname="tests/integration-tests/dryRun.test.ts" name="Integration: Dry Run > should respect dependencies (topological order is maintained even in dry run)" time="0.000453529">
|
|
259
265
|
</testcase>
|
|
260
266
|
</testsuite>
|
|
261
|
-
<testsuite name="tests/integration-tests/error-handling.test.ts" timestamp="2026-01-21T01:
|
|
262
|
-
<testcase classname="tests/integration-tests/error-handling.test.ts" name="Integration: Error Handling > Scenario 3: Task failure and downstream skipping" time="0.
|
|
267
|
+
<testsuite name="tests/integration-tests/error-handling.test.ts" timestamp="2026-01-21T01:20:30.141Z" hostname="runnervmmtnos" tests="3" failures="0" errors="0" skipped="0" time="0.009601724">
|
|
268
|
+
<testcase classname="tests/integration-tests/error-handling.test.ts" name="Integration: Error Handling > Scenario 3: Task failure and downstream skipping" time="0.004281945">
|
|
263
269
|
</testcase>
|
|
264
|
-
<testcase classname="tests/integration-tests/error-handling.test.ts" name="Integration: Error Handling > Scenario 10: Circular dependency detection" time="0.
|
|
270
|
+
<testcase classname="tests/integration-tests/error-handling.test.ts" name="Integration: Error Handling > Scenario 10: Circular dependency detection" time="0.002729309">
|
|
265
271
|
</testcase>
|
|
266
|
-
<testcase classname="tests/integration-tests/error-handling.test.ts" name="Integration: Error Handling > Scenario 11: Missing dependency handling" time="0.
|
|
272
|
+
<testcase classname="tests/integration-tests/error-handling.test.ts" name="Integration: Error Handling > Scenario 11: Missing dependency handling" time="0.000504624">
|
|
267
273
|
</testcase>
|
|
268
274
|
</testsuite>
|
|
269
|
-
<testsuite name="tests/integration-tests/stress.test.ts" timestamp="2026-01-21T01:
|
|
270
|
-
<testcase classname="tests/integration-tests/stress.test.ts" name="Integration: Stress Tests > Scenario 5: Large graph execution (e.g., 20+ nodes)" time="0.
|
|
275
|
+
<testsuite name="tests/integration-tests/stress.test.ts" timestamp="2026-01-21T01:20:30.142Z" hostname="runnervmmtnos" tests="1" failures="0" errors="0" skipped="0" time="0.009169935">
|
|
276
|
+
<testcase classname="tests/integration-tests/stress.test.ts" name="Integration: Stress Tests > Scenario 5: Large graph execution (e.g., 20+ nodes)" time="0.006800711">
|
|
271
277
|
</testcase>
|
|
272
278
|
</testsuite>
|
|
273
|
-
<testsuite name="tests/strategies/RetryingExecutionStrategy.test.ts" timestamp="2026-01-21T01:
|
|
274
|
-
<testcase classname="tests/strategies/RetryingExecutionStrategy.test.ts" name="RetryingExecutionStrategy > should execute successfully without retry if task succeeds" time="0.
|
|
279
|
+
<testsuite name="tests/strategies/RetryingExecutionStrategy.test.ts" timestamp="2026-01-21T01:20:30.142Z" hostname="runnervmmtnos" tests="9" failures="0" errors="0" skipped="0" time="0.021046107">
|
|
280
|
+
<testcase classname="tests/strategies/RetryingExecutionStrategy.test.ts" name="RetryingExecutionStrategy > should execute successfully without retry if task succeeds" time="0.005404016">
|
|
275
281
|
</testcase>
|
|
276
|
-
<testcase classname="tests/strategies/RetryingExecutionStrategy.test.ts" name="RetryingExecutionStrategy > should execute successfully without retry if task has no retry config" time="0.
|
|
282
|
+
<testcase classname="tests/strategies/RetryingExecutionStrategy.test.ts" name="RetryingExecutionStrategy > should execute successfully without retry if task has no retry config" time="0.000650929">
|
|
277
283
|
</testcase>
|
|
278
|
-
<testcase classname="tests/strategies/RetryingExecutionStrategy.test.ts" name="RetryingExecutionStrategy > should retry task if it fails and has retry config (fixed backoff)" time="0.
|
|
284
|
+
<testcase classname="tests/strategies/RetryingExecutionStrategy.test.ts" name="RetryingExecutionStrategy > should retry task if it fails and has retry config (fixed backoff)" time="0.00243581">
|
|
279
285
|
</testcase>
|
|
280
|
-
<testcase classname="tests/strategies/RetryingExecutionStrategy.test.ts" name="RetryingExecutionStrategy > should fail after max attempts reached" time="0.
|
|
286
|
+
<testcase classname="tests/strategies/RetryingExecutionStrategy.test.ts" name="RetryingExecutionStrategy > should fail after max attempts reached" time="0.001285096">
|
|
281
287
|
</testcase>
|
|
282
|
-
<testcase classname="tests/strategies/RetryingExecutionStrategy.test.ts" name="RetryingExecutionStrategy > should use exponential backoff" time="0.
|
|
288
|
+
<testcase classname="tests/strategies/RetryingExecutionStrategy.test.ts" name="RetryingExecutionStrategy > should use exponential backoff" time="0.001000172">
|
|
283
289
|
</testcase>
|
|
284
|
-
<testcase classname="tests/strategies/RetryingExecutionStrategy.test.ts" name="RetryingExecutionStrategy > should handle cancellation during delay" time="0.
|
|
290
|
+
<testcase classname="tests/strategies/RetryingExecutionStrategy.test.ts" name="RetryingExecutionStrategy > should handle cancellation during delay" time="0.002167227">
|
|
285
291
|
</testcase>
|
|
286
|
-
<testcase classname="tests/strategies/RetryingExecutionStrategy.test.ts" name="RetryingExecutionStrategy > should handle cancellation before execution" time="0.
|
|
292
|
+
<testcase classname="tests/strategies/RetryingExecutionStrategy.test.ts" name="RetryingExecutionStrategy > should handle cancellation before execution" time="0.000959445">
|
|
287
293
|
</testcase>
|
|
288
|
-
<testcase classname="tests/strategies/RetryingExecutionStrategy.test.ts" name="RetryingExecutionStrategy > should propagate error if sleep throws non-abort error" time="0.
|
|
294
|
+
<testcase classname="tests/strategies/RetryingExecutionStrategy.test.ts" name="RetryingExecutionStrategy > should propagate error if sleep throws non-abort error" time="0.003848645">
|
|
289
295
|
</testcase>
|
|
290
|
-
<testcase classname="tests/strategies/RetryingExecutionStrategy.test.ts" name="RetryingExecutionStrategy > should handle cancellation if signal is aborted right before sleep (covering fast-fail in sleep)" time="0.
|
|
296
|
+
<testcase classname="tests/strategies/RetryingExecutionStrategy.test.ts" name="RetryingExecutionStrategy > should handle cancellation if signal is aborted right before sleep (covering fast-fail in sleep)" time="0.00106279">
|
|
291
297
|
</testcase>
|
|
292
298
|
</testsuite>
|
|
293
299
|
</testsuites>
|