OILS / regtest / aports / cause.awk View on Github | oils.pub

192 lines, 140 significant
1# "grep" through a log file, and print a cause string to stdout
2#
3# Invoked from aports/regtest-html.sh
4
5BEGIN {
6 patterns["makedepends"] = "ERROR: No such package: .makedepends"
7 # e.g. xkeyboard-config flakiness
8 patterns["fetch-failed"] = ": fetch failed"
9
10 # we can add the bug number like #2338
11 patterns["#2338"] = "\\@-D" # variant after attempted glob fix
12 # three backslashes is \\\-D
13 patterns[50] = "\\\\\\-D"
14
15 # This is a different pattern, so we use cause "##2338" to distinguish it
16 # from "#2338". It links to the same bug.
17 patterns["##2338"] = "\\@(cd" # variant after attempted glob fix
18 # \\\(cd
19 patterns[51] = "\\\\\\(cd"
20
21 patterns[2] = "cannot create executable"
22
23 patterns[3] = "cannot compile programs"
24
25 # abuild, ifupdown-ng, ...
26 patterns["#2416"] = "test case names with"
27 # jemalloc appears to be the same root cause
28 patterns["##2416"] = "jemalloc/internal/private_namespace.h: No such file or directory"
29
30 # e2fsprogs - not sure how to narrow this down more?
31 patterns["#2413"] = "382 tests succeeded 1 tests failed"
32
33 patterns[5] = "PHDR segment not covered"
34
35 # OSH string
36 patterns[6] = "error applying redirect:"
37
38 # parsing error
39 patterns["#2337"] = "(((grep"
40 #patterns["##2337"] = "Parser expected Id.Arith_RParen, got Id.Word_Compound"
41
42 # postfix
43 # gzip
44 patterns["##2337"] = "Unexpected token after arithmetic expression"
45
46 # kea package: suspicious
47 # oh this also fails with 124 though
48 patterns[8] = "find a separator character in"
49
50 # esh package: OSH string
51 # One case is definitely related to the linked issue, but multiple tests are failing.
52 # For the other test cases: I am not sure these are real bugs: it might be that esh
53 # expects and exact code string?
54 patterns["#2547"] = "Undefined variable 'OPTARG'"
55
56 # crosstool-ng - $[] is not being treated identical to $(())
57 patterns["#2566"] = "Undefined variable 'pkg_nforks'"
58
59 # bmake - oils ... syntax may conflict
60 patterns["#2464"] = "<not found: ...>"
61
62 # mawk, openvpn: trap 0
63 patterns["#2339"] = "requires a signal or hook name"
64
65 # pkgconf
66 patterns[11] = " with multiple files"
67
68 # xz
69 # musl libc error - with glibc, we get a parsing error
70 patterns["#2336"] = "Extended glob won"
71
72 # sqlite
73 patterns[13] = "No working C compiler"
74
75 # sfic
76 patterns["#2411"] = "terminate called after throwing an instance of"
77
78 # screen
79 patterns["#2364"] = "mkdir: unrecognized option: /" # changed 2025-08-04-rootbld
80 patterns["##2364"] = "mkdir: invalid option --"
81
82 # make
83 patterns["#2335"] = "oils I/O error"
84 # patch is the same ulimit bug, but the "invalid argument" EINVAL string
85 # occurs in test-suite.log
86 patterns["##2335"] = "patch: check failed"
87
88 # sqsh
89 patterns["#2409"] = "(test) Unexpected trailing word"
90
91 # xz
92 # note: with glibc, a different string will appear
93 patterns["#2336"] = "Extended glob won't work without FNM_EXTMATCH support in libc"
94
95 # lua-*
96 # umask with symbolic input not implemented yet
97 patterns["#2484"] = "umask with symbolic input isn't implemented"
98
99 # tclx
100 patterns["#2557"] = "oils: Invalid applet "
101
102 # shunit2
103 patterns["#2561"] = "assert message was not generated"
104
105 # ifupdown-ng
106 patterns["#2546"] = "Fail: regexp local "
107
108 # py3-adblock
109 patterns["#2562"] = "Invalid descriptor"
110
111 # makepasswd
112 patterns["#2579"] = "Usage: docbook.sh"
113
114 #
115 # BUGS that only occur with OSH as BUSYBOX ASH
116 #
117
118 # heimdal, perl
119 patterns["#2424"] = "Found uncompressed man pages:"
120
121 # nginx
122 patterns["#2425"] = "'cd' got too many arguments"
123
124 # xcb-util-render-util
125 patterns["#2552"] = "/home/udu/aports/community/xcb-util-renderutil/APKBUILD:16: Unexpected word while parsing compound command"
126
127 # py3-userpath
128 patterns["#2563"] = "Exception: Unable to find "
129
130 #
131 # BUGS that only occur with OSH as BASH
132 #
133
134 # chrony and x42-plugins
135 patterns["#2426"] = "In expressions, remove $ and use"
136
137 # shorewall - BAD version detection - fixed
138 #patterns["#2427"] = "ERROR: This program requires Bash 4.0 or later"
139
140 # gdbm
141 patterns["#2429"] = "ERROR: gdbm: check failed"
142
143 # shorewall
144 patterns["#2438"] = "Assoc array keys must be strings"
145
146 # zfs
147 patterns["#2441"] = "Token starting at column"
148
149 # 2025-10-26: demo for updating cause.awk, already fixed
150 patterns["#2477"] = "printf expected an integer, got"
151
152 # mdev-conf
153 patterns["#2500"] = "readlink disk/by-label/EFI"
154
155 # zeitgeist
156 patterns["#2528"] = "Unexpected argument to 'exit'"
157
158 # dircproxy
159 patterns["#2535"] = "fatal: Pat Sub op expected Str, BashArray, or BashAssoc, got Int"
160
161 # jq
162 patterns["#2540"] = "FAIL: tests/shtest"
163 # gphoto2
164 patterns["##2540"] = "[Makefile:461: check-recursive] Error 1"
165
166
167 # libidn
168 patterns["#2523"] = "ERROR: libidn2: check failed"
169
170 # R, rkward
171 patterns["#2560"] = "fatal: Assignment builtin expected NAME=value"
172
173 found = 0
174}
175{
176 for (i in patterns) {
177 # search for the line
178 if (index($0, patterns[i]) > 0) {
179 print i
180 found = 1
181
182 # just print the first one, not every occurrence
183 nextfile
184 }
185 }
186}
187
188END {
189 if (!found) {
190 print "unknown" # no cause assigned
191 }
192}