Commit a16ca30
**Which issue(s) this PR fixes**:
Backport #5380
Fixes #
**What this PR does / why we need it**:
The `test 'using child processes by round robin'` in
`test_out_exec_filter.rb` was occasionally failing on Windows.
Like:
```
3) Failure: test: using child processes by round robin[with sections](ExecFilterOutputTest)
D:/a/fluentd/fluentd/test/plugin/test_out_exec_filter.rb:533:in 'block in <class:ExecFilterOutputTest>'
530:
531: assert_equal pid_list[0], events[0][2]['child_pid']
532: assert_equal pid_list[1], events[1][2]['child_pid']
=> 533: assert_equal pid_list[0], events[2][2]['child_pid']
534: assert_equal pid_list[1], events[3][2]['child_pid']
535: end
536:
<"8944"> expected but was
<"2728">
diff:
? 2728944
Error: <"8944"> expected but was
<"2728">.
```
The test previously assumed that the events would be processed and
returned in a strictly alternating order (e.g., A -> B -> A -> B).
However, on Windows, the overhead of process creation and unpredictable
I/O scheduling can cause the child processes to become ready and return
events out of order (e.g., A -> B -> B -> A), resulting in
false-positive test failures.
This commit fixes the flaky behavior by verifying the even distribution
of events rather than their strict chronological return order.
**Docs Changes**:
N/A
**Release Note**:
N/A
Signed-off-by: Shizuo Fujita <fujita@clear-code.com>
Signed-off-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
Co-authored-by: Shizuo Fujita <fujita@clear-code.com>
1 parent 100aa40 commit a16ca30
1 file changed
Lines changed: 3 additions & 10 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
521 | 521 | | |
522 | 522 | | |
523 | 523 | | |
524 | | - | |
525 | | - | |
526 | | - | |
527 | | - | |
528 | | - | |
529 | | - | |
| 524 | + | |
530 | 525 | | |
531 | | - | |
532 | | - | |
533 | | - | |
534 | | - | |
| 526 | + | |
| 527 | + | |
535 | 528 | | |
536 | 529 | | |
537 | 530 | | |
| |||
0 commit comments