https://github.com/vim/vim/pull/2929
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
Merging #2929 into master will decrease coverage by
<.01%
.
The diff coverage isn/a
.
@@ Coverage Diff @@ ## master #2929 +/- ## ========================================== - Coverage 75.65% 75.64% -0.01% ========================================== Files 92 92 Lines 135015 135014 -1 ========================================== - Hits 102147 102135 -12 - Misses 32868 32879 +11
Impacted Files | Coverage Δ | |
---|---|---|
src/ex_cmds.c | 79.38% <0%> (-0.23%) |
⬇️ |
src/if_xcmdsrv.c | 83.63% <0%> (-0.18%) |
⬇️ |
src/gui.c | 49.3% <0%> (-0.11%) |
⬇️ |
src/gui_gtk_x11.c | 47.88% <0%> (-0.1%) |
⬇️ |
src/ui.c | 46.62% <0%> (-0.08%) |
⬇️ |
src/message.c | 74.78% <0%> (-0.05%) |
⬇️ |
src/if_py_both.h | 76.59% <0%> (-0.01%) |
⬇️ |
src/channel.c | 83.11% <0%> (+0.07%) |
⬆️ |
src/os_unix.c | 54.48% <0%> (+0.09%) |
⬆️ |
Continue to review full report at Codecov.
Legend - Click here to learn more
Δ = absolute <relative> (impact)
,ø = not affected
,? = missing data
Powered by Codecov. Last update 2f01889...4285ce2. Read the comment docs.
That Codecov report is complete BS. The only source file changed is one .txt
helpfile, with nothing added, nothing removed, and minimal changes in two lines, and that "affects" nine .c
C source files, "decreasing" coverage on seven of them? Bullshit.
@tonymec wrote:
That Codecov report is complete BS.
No, I don't think it BS. It's probably correct.
The code coverage changed only by a tiny amount 0.01%.
I believe that what happens is that, we have some tests that are time dependent
(timers, etc.) and so, depending on runs, we don't always exercise exactly
the same lines of code. In any case, the noise caused by this is tiny.
For example, the only coverage change in channel.c is in 'if' block
like this:
if (chanpart->ch_deadline.tv_usec > 1000 * 1000)
...
Clearly this is an example where coverage could vary from time to time.
Same in os_unix.c, I see a coverage change for this 'if' block:
if (wtime >= 0)
/* no character available within "wtime" */
return 0;
I believe that what happens is that, we have some tests that are time dependent (timers, etc.) and so, depending on runs, we don't always exercise exactly the same lines of code.
Plus, I think the same happens in interactions between Vim and the windowing system since such interactions are inherently asynchronous; no-reply and timeout do not necessarily imply fatal errors. When either of them happens, that makes a difference between code paths Vim runs through.
Even if Vim is running in non-GUI mode, they can happen since the system-clipboard integration and the client-server communication between Vim instances are all implemented using X11 inter-client communication API. That's why src/if_xcmdsrv.c
, src/gui.c
and src/gui_gtk_x11.c
always be there even if a given PR has nothing to do with any of them at any rate.
Although there's a way to have the windowing system synchronize Vim to eliminate such coverage uncertainties all at once, that would get some of the tests so slow that people would rather prefer the current uncertainty to the cleanness brought by that forced synchronization.
I'll include the fixes, thanks.
Closed #2929.