-
Notifications
You must be signed in to change notification settings - Fork 598
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Flaky test coverage #1975
Comments
For (1): Hmm... No idea. Might be a race after a test finished where awesome shutting down races with some test clients exiting, but I don't really know why "a test client exits" would give us a reparent notify. They should be unmapping... For (2): Querying the shape fails, i.e. So my theory for this is that there is a race: Windows are closing at roughly the same time that awesome tries to read their shape. When awesome wins this race, it can try to handle the shape, else it cannot. My fix would be (in case "just ignore it" is not a viable option): Add a test that runs |
It makes the coverage reporting unrealiable, that's why I would like to see it being fixed.
It's kind of some integration test after all: we ensure that this code path does not cause a SIGSEGV etc. (apart from stabilizing coverage) |
"Does not crash" is quite a low bar to pass. I'd really hope that our tests have better quality than that. Different question: Which of the things we start in our tests are shaped? Our test runner should not be opening a shaped window and neither does xterm, right? |
Regarding shaped clients I have no idea. @Elv13 maybe? Here is a new set of changes FWIW: https://codecov.io/gh/awesomeWM/awesome/pull/2079/changes |
This is not really a test. It just starts xeyes and sees if anything explodes. However, the reason for this test is to stabilise code coverage. Apparently, Gtk(?) sometimes creates shaped windows. This had the effect that codecov always reports random changes to code coverage, depending on if this specific test run saw any shaped client windows or not. Thus, by explicitly adding a test that runs a shaped client, hopefully these random fluctuations disappear. Hopefully-fixes: awesomeWM#1975 Signed-off-by: Uli Schlachter <[email protected]>
This is not really a test. It just starts xeyes and sees if anything explodes. However, the reason for this test is to stabilise code coverage. Apparently, Gtk(?) sometimes creates shaped windows. This had the effect that codecov always reports random changes to code coverage, depending on if this specific test run saw any shaped client windows or not. Thus, by explicitly adding a test that runs a shaped client, hopefully these random fluctuations disappear. Hopefully-fixes: awesomeWM#1975 Signed-off-by: Uli Schlachter <[email protected]>
This is not really a test. It just starts xeyes and sees if anything explodes. However, the reason for this test is to stabilise code coverage. Apparently, Gtk(?) sometimes creates shaped windows. This had the effect that codecov always reports random changes to code coverage, depending on if this specific test run saw any shaped client windows or not. Thus, by explicitly adding a test that runs a shaped client, hopefully these random fluctuations disappear. Hopefully-fixes: #1975 Signed-off-by: Uli Schlachter <[email protected]>
Re-opening.
Unfortunately Codecov's compare link times out currently: https://codecov.io/gh/awesomeWM/awesome/compare/3804040dbe56de80c003bba962c30bf719253300...9954bbea9444dc7231b536d7fc5d5c4c0ef58bdf |
Compared https://codecov.io/gh/awesomeWM/awesome/src/3804040dbe56de80c003bba962c30bf719253300/event.c (master) and https://codecov.io/gh/awesomeWM/awesome/src/9954bbea9444dc7231b536d7fc5d5c4c0ef58bdf/event.c manually. |
The diff with Line 86 in 3804040
(https://codecov.io/gh/awesomeWM/awesome/src/9954bbea9444dc7231b536d7fc5d5c4c0ef58bdf/property.c#L86) |
Closing in favor of #2677 (newer). |
There are currently 2 places where the test coverage is flaky:
event_handle_reparentnotify
: https://codecov.io/gh/awesomeWM/awesome/pull/1974/changesobjects/client.c
(client_get_client_shape_bounding
)xwindow.c
(xwindow_get_shape
)lib/awful/client/shape.lua
(shape.get_transformed
)@psychon mentioned some details regarding 2. already, but I could not find it again now.
The text was updated successfully, but these errors were encountered: