i3 / i3/i3

enhancement: fix flaky tests

Open
#3,009 8 comments 0 reactions 1 assignee Claimed by @stapelberg View on GitHub
4.14 bug reproducible technical
Dominant language
C
Stars
10.6k
Forks
822
PR merge metrics
No merged PRs in 30d

Description

I got the following tests to fail while running the testsuite in a loop while stress-ng is running (ordered by frequency):

* [ ] On GitHub Actions: test /usr/src/i3/testcases/t/299-regress-scratchpad-focus.t bailed out: could not kill i3: No such process
* [ ] t/502-focus-output.t bailed out: could not kill i3: No such process
* [ ] t/294-focus-order.t
* Failed test 'Focused container that is moved to mark keeps focus: S[a b] V[2 3 T[4 5* 6]] -> S[a b*]'
* at /usr/src/i3/testcases/t/294-focus-order.t line 309.
* [x] t/323-net-frame-extents.t
* [x] t/133-size-hints.t
```
# Failed test 'Window width is 200px'
# at /home/michael/i3/testcases/t/133-size-hints.t line 90.
# got: '100'
# expected: '200'

# Failed test 'Window resized, aspect ratio changed to 2.0'
# at /home/michael/i3/testcases/t/133-size-hints.t line 92.
# '1'
# <
# '1e-06'
```
* [ ] t/294-focus-order.t
```
# Failed test 'Focused container that is moved to mark keeps focus: S[a b] V[2 3 T[4 5* 6]] -> S[a b*]'
# at /home/michael/i3/testcases/t/294-focus-order.t line 309.
```
* [ ] t/185-scratchpad.t
```
# Failed test 'call to scratchpad failed'
# at /usr/src/i3/distbuild/meson-private/dist-unpack/i3-4.19/testcases/t/185-scratchpad.t line 492.
# got: '1'
# expected: '0'
```
* [ ] testcases/t/293-focus-follows-mouse.t
```
# Failed test 'second floating still on top'
# at /usr/src/i3/build/../../i3/testcases/t/293-focus-follows-mouse.t line 85.
# got: '6291461'
# expected: '6291462'
# Failed test 'first floating still behind'
# at /usr/src/i3/build/../../i3/testcases/t/293-focus-follows-mouse.t line 86.
# got: '6291462'
# expected: '6291461'
```
* [ ] Sometimes i3 cannot change the root window’s event mask (X11 error BadAccess), implying that the old i3 process on that x server hasn’t yet been cleaned up (even though we wait for the i3 process to terminate). We should look into sending `SIGHUP` to the X server, and possibly polling until the I3_* atoms have been cleared.
* [x] test /usr/src/i3/distbuild/meson-private/dist-unpack/i3-4.20.1/testcases/t/289-ipc-shutdown-event.t bailed out: could not kill i3: No such process (logs_279.zip)
* [ ] test /usr/src/i3/distbuild/meson-private/dist-unpack/i3-4.20.1/testcases/t/290-keypress-numlock.t bailed out: could not kill i3: No such process (logs_283.zip)

If there are any others which fail (even just occasionally), please mention them in this issue so that we can work on a fix.

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.