All checks were successful
check / check (push) Successful in 43s
check_unlisted_bundles read dist/ line by line, so two unlisted paths carrying a debug marker went unchecked while the script still exited 0: a name with a trailing space (read stripped it and the remnant matched a manifest line) and a name containing a newline (find printed it as a listed path plus an empty one). The walk is now find -print0 into a temporary listing, checked for find's exit status as before, and xargs -0 hands the paths back to this script as arguments, where the same is_listed and has_marker run on them. is_listed also answers "not listed" for any path containing a newline without asking grep, which would otherwise read such a path as two patterns and match on the first half — the escape survives NUL delimiting on its own. dist/ being a symlink is now its own check with its own message. It failed before only because GNU grep exits 2 on a directory, so a grep that exits 1 instead would have turned the whole cross-check into a pass. The comment claiming every file under dist/ is searched now says what is actually guaranteed: every regular file and every symlink, with the four properties that coverage rests on stated as enforced rather than assumed.
12 KiB
Executable File
12 KiB
Executable File