1 # $NetBSD: Makefile,v 1.7 2021/03/09 20:43:20 rillig Exp $ 2 3 .include <bsd.own.mk> 4 5 TESTSDIR= ${TESTSBASE}/usr.bin/indent 6 TESTS_SH= t_indent 7 8 FILESDIR= ${TESTSDIR} 9 FILES= binary.0 10 FILES+= binary.0.stdout 11 FILES+= block.0 12 FILES+= block.0.stdout 13 FILES+= comment-line-end.0 14 FILES+= comment-line-end.0.stdout 15 FILES+= comments.0 16 FILES+= comments.0.pro 17 FILES+= comments.0.stdout 18 FILES+= declarations.0 19 FILES+= declarations.0.stdout 20 FILES+= elsecomment.0 21 FILES+= elsecomment.0.stdout 22 FILES+= elsecomment.0.pro 23 FILES+= f_decls.0 24 FILES+= f_decls.0.stdout 25 FILES+= float.0 26 FILES+= float.0.stdout 27 FILES+= indent_variables.0 28 FILES+= indent_variables.0.pro 29 FILES+= indent_variables.0.stdout 30 FILES+= label.0 31 FILES+= label.0.stdout 32 FILES+= label.0.pro 33 FILES+= lineno.0 34 FILES+= lineno.0.pro 35 FILES+= lineno.0.stdout 36 FILES+= list_head.0 37 FILES+= list_head.0.stdout 38 FILES+= ncs.0 39 FILES+= ncs.0.stdout 40 FILES+= ncs.0.pro 41 FILES+= offsetof.0 42 FILES+= offsetof.0.stdout 43 FILES+= opt--version.0 44 FILES+= opt--version.0.pro 45 FILES+= opt--version.0.stdout 46 FILES+= opt-P.0 47 FILES+= opt-P.0.pro 48 FILES+= opt-P.0.stdout 49 FILES+= opt-T.0 50 FILES+= opt-T.0.pro 51 FILES+= opt-T.0.stdout 52 FILES+= opt-U.0 53 FILES+= opt-U.0.list 54 FILES+= opt-U.0.pro 55 FILES+= opt-U.0.stdout 56 FILES+= opt-bacc.0 57 FILES+= opt-bacc.0.pro 58 FILES+= opt-bacc.0.stdout 59 FILES+= opt-bad.0 60 FILES+= opt-bad.0.pro 61 FILES+= opt-bad.0.stdout 62 FILES+= opt-badp.0 63 FILES+= opt-badp.0.pro 64 FILES+= opt-badp.0.stdout 65 FILES+= opt-bap+sob.0 66 FILES+= opt-bap+sob.0.pro 67 FILES+= opt-bap+sob.0.stdout 68 FILES+= opt-bap.0 69 FILES+= opt-bap.0.pro 70 FILES+= opt-bap.0.stdout 71 FILES+= opt-bbb.0 72 FILES+= opt-bbb.0.pro 73 FILES+= opt-bbb.0.stdout 74 FILES+= opt-bc.0 75 FILES+= opt-bc.0.pro 76 FILES+= opt-bc.0.stdout 77 FILES+= opt-bl.0 78 FILES+= opt-bl.0.pro 79 FILES+= opt-bl.0.stdout 80 FILES+= opt-br.0 81 FILES+= opt-br.0.pro 82 FILES+= opt-br.0.stdout 83 FILES+= opt-bs.0 84 FILES+= opt-bs.0.pro 85 FILES+= opt-bs.0.stdout 86 FILES+= opt-c.0 87 FILES+= opt-c.0.pro 88 FILES+= opt-c.0.stdout 89 FILES+= opt-cd.0 90 FILES+= opt-cd.0.pro 91 FILES+= opt-cd.0.stdout 92 FILES+= opt-cdb.0 93 FILES+= opt-cdb.0.pro 94 FILES+= opt-cdb.0.stdout 95 FILES+= opt-ce.0 96 FILES+= opt-ce.0.pro 97 FILES+= opt-ce.0.stdout 98 FILES+= opt-ci.0 99 FILES+= opt-ci.0.pro 100 FILES+= opt-ci.0.stdout 101 FILES+= opt-cli.0 102 FILES+= opt-cli.0.pro 103 FILES+= opt-cli.0.stdout 104 FILES+= opt-cs.0 105 FILES+= opt-cs.0.pro 106 FILES+= opt-cs.0.stdout 107 FILES+= opt-d.0 108 FILES+= opt-d.0.pro 109 FILES+= opt-d.0.stdout 110 FILES+= opt-di.0 111 FILES+= opt-di.0.pro 112 FILES+= opt-di.0.stdout 113 FILES+= opt-dj.0 114 FILES+= opt-dj.0.pro 115 FILES+= opt-dj.0.stdout 116 FILES+= opt-eei.0 117 FILES+= opt-eei.0.pro 118 FILES+= opt-eei.0.stdout 119 FILES+= opt-ei.0 120 FILES+= opt-ei.0.pro 121 FILES+= opt-ei.0.stdout 122 FILES+= opt-fbs.0 123 FILES+= opt-fbs.0.pro 124 FILES+= opt-fbs.0.stdout 125 FILES+= opt-fc1.0 126 FILES+= opt-fc1.0.pro 127 FILES+= opt-fc1.0.stdout 128 FILES+= opt-fcb.0 129 FILES+= opt-fcb.0.pro 130 FILES+= opt-fcb.0.stdout 131 FILES+= opt-i.0 132 FILES+= opt-i.0.pro 133 FILES+= opt-i.0.stdout 134 FILES+= opt-ip.0 135 FILES+= opt-ip.0.pro 136 FILES+= opt-ip.0.stdout 137 FILES+= opt-l.0 138 FILES+= opt-l.0.pro 139 FILES+= opt-l.0.stdout 140 FILES+= opt-lc.0 141 FILES+= opt-lc.0.pro 142 FILES+= opt-lc.0.stdout 143 FILES+= opt-ldi.0 144 FILES+= opt-ldi.0.pro 145 FILES+= opt-ldi.0.stdout 146 FILES+= opt-lp.0 147 FILES+= opt-lp.0.pro 148 FILES+= opt-lp.0.stdout 149 FILES+= opt-lpl.0 150 FILES+= opt-lpl.0.pro 151 FILES+= opt-lpl.0.stdout 152 FILES+= opt-nbacc.0 153 FILES+= opt-nbacc.0.pro 154 FILES+= opt-nbacc.0.stdout 155 FILES+= opt-nbad.0 156 FILES+= opt-nbad.0.pro 157 FILES+= opt-nbad.0.stdout 158 FILES+= opt-nbadp.0 159 FILES+= opt-nbadp.0.pro 160 FILES+= opt-nbadp.0.stdout 161 FILES+= opt-nbap.0 162 FILES+= opt-nbap.0.pro 163 FILES+= opt-nbap.0.stdout 164 FILES+= opt-nbbb.0 165 FILES+= opt-nbbb.0.pro 166 FILES+= opt-nbbb.0.stdout 167 FILES+= opt-nbc.0 168 FILES+= opt-nbc.0.pro 169 FILES+= opt-nbc.0.stdout 170 FILES+= opt-nbs.0 171 FILES+= opt-nbs.0.pro 172 FILES+= opt-nbs.0.stdout 173 FILES+= opt-ncdb.0 174 FILES+= opt-ncdb.0.pro 175 FILES+= opt-ncdb.0.stdout 176 FILES+= opt-nce.0 177 FILES+= opt-nce.0.pro 178 FILES+= opt-nce.0.stdout 179 FILES+= opt-ncs.0 180 FILES+= opt-ncs.0.pro 181 FILES+= opt-ncs.0.stdout 182 FILES+= opt-ndj.0 183 FILES+= opt-ndj.0.pro 184 FILES+= opt-ndj.0.stdout 185 FILES+= opt-neei.0 186 FILES+= opt-neei.0.pro 187 FILES+= opt-neei.0.stdout 188 FILES+= opt-nei.0 189 FILES+= opt-nei.0.pro 190 FILES+= opt-nei.0.stdout 191 FILES+= opt-nfbs.0 192 FILES+= opt-nfbs.0.pro 193 FILES+= opt-nfbs.0.stdout 194 FILES+= opt-nfc1.0 195 FILES+= opt-nfc1.0.pro 196 FILES+= opt-nfc1.0.stdout 197 FILES+= opt-nfcb.0 198 FILES+= opt-nfcb.0.pro 199 FILES+= opt-nfcb.0.stdout 200 FILES+= opt-nip.0 201 FILES+= opt-nip.0.pro 202 FILES+= opt-nip.0.stdout 203 FILES+= opt-nlp.0 204 FILES+= opt-nlp.0.pro 205 FILES+= opt-nlp.0.stdout 206 FILES+= opt-nlpl.0 207 FILES+= opt-nlpl.0.pro 208 FILES+= opt-nlpl.0.stdout 209 FILES+= opt-npcs.0 210 FILES+= opt-npcs.0.pro 211 FILES+= opt-npcs.0.stdout 212 FILES+= opt-npro.0 213 FILES+= opt-npro.0.pro 214 FILES+= opt-npro.0.stdout 215 FILES+= opt-npsl.0 216 FILES+= opt-npsl.0.pro 217 FILES+= opt-npsl.0.stdout 218 FILES+= opt-nsc.0 219 FILES+= opt-nsc.0.pro 220 FILES+= opt-nsc.0.stdout 221 FILES+= opt-nsob.0 222 FILES+= opt-nsob.0.pro 223 FILES+= opt-nsob.0.stdout 224 FILES+= opt-nut.0 225 FILES+= opt-nut.0.pro 226 FILES+= opt-nut.0.stdout 227 FILES+= opt-nv.0 228 FILES+= opt-nv.0.pro 229 FILES+= opt-nv.0.stdout 230 FILES+= opt-pcs.0 231 FILES+= opt-pcs.0.pro 232 FILES+= opt-pcs.0.stdout 233 FILES+= opt-psl.0 234 FILES+= opt-psl.0.pro 235 FILES+= opt-psl.0.stdout 236 FILES+= opt-sc.0 237 FILES+= opt-sc.0.pro 238 FILES+= opt-sc.0.stdout 239 FILES+= opt-sob.0 240 FILES+= opt-sob.0.pro 241 FILES+= opt-sob.0.stdout 242 FILES+= opt-ta.0 243 FILES+= opt-ta.0.pro 244 FILES+= opt-ta.0.stdout 245 FILES+= opt-ts.0 246 FILES+= opt-ts.0.pro 247 FILES+= opt-ts.0.stdout 248 FILES+= opt-ut.0 249 FILES+= opt-ut.0.pro 250 FILES+= opt-ut.0.stdout 251 FILES+= opt-v.0 252 FILES+= opt-v.0.pro 253 FILES+= opt-v.0.stdout 254 FILES+= parens.0 255 FILES+= parens.0.stdout 256 FILES+= parens.0.pro 257 FILES+= pcs.0 258 FILES+= pcs.0.stdout 259 FILES+= pcs.0.pro 260 FILES+= cs.0 261 FILES+= cs.0.stdout 262 FILES+= cs.0.pro 263 FILES+= struct.0 264 FILES+= struct.0.stdout 265 FILES+= surplusbad.0 266 FILES+= surplusbad.0.stdout 267 FILES+= surplusbad.0.pro 268 FILES+= types_from_file.0 269 FILES+= types_from_file.0.stdout 270 FILES+= types_from_file.0.list 271 FILES+= types_from_file.0.pro 272 FILES+= wchar.0 273 FILES+= wchar.0.stdout 274 275 add-test: .PHONY 276 @set -eu; \ 277 test=${NAME:Q}; \ 278 [ "$$test" ] || { \ 279 echo "usage: ${MAKE} add-test NAME=<name>"; \ 280 exit; \ 281 }; \ 282 \ 283 if [ -f "$$test" ]; then \ 284 echo "error: test $$test already exists." 1>&2; \ 285 exit 1; \ 286 fi; \ 287 \ 288 echo "=> Adding test $$test"; \ 289 printf '%s\n' \ 290 '/* $$''NetBSD$$ */' \ 291 '/* $$''FreeBSD$$ */' \ 292 '' \ 293 '/*' \ 294 ' * TODO: Explain the purpose of the test.' \ 295 '*/' \ 296 '' \ 297 '// TODO: Add some code that passes.' \ 298 > "$$test"; \ 299 printf '%s\n' \ 300 '/* $$''NetBSD$$ */' \ 301 '/* $$''FreeBSD$$ */' \ 302 '' \ 303 '/*' \ 304 ' * TODO: Explain the command line options of the test.' \ 305 ' */' \ 306 '' \ 307 '/* TODO: Add some command line options */' \ 308 > "$$test.pro"; \ 309 cat < "$$test" > "$$test.stdout"; \ 310 cvs add "$$test" "$$test.pro" "$$test.stdout"; \ 311 printf '%s\n' \ 312 '/^FILES+=/i' \ 313 "FILES+= $$test" \ 314 "FILES+= $$test.pro" \ 315 "FILES+= $$test.stdout" \ 316 '.' 'w' 'q' \ 317 | ed Makefile; \ 318 ${MAKE} sync-mi 319 320 # Note: only works for adding tests. 321 # To remove a test, the $$mi file must be edited manually. 322 sync-mi: .PHONY 323 @set -eu; \ 324 cd "${MAKEFILE:tA:H}/../../.."; \ 325 mi="distrib/sets/lists/tests/mi"; \ 326 cvs update "$$mi"; \ 327 fmt="./usr/tests/usr.bin/indent/%s\ttests-usr.bin-tests\tcompattestfile,atf\n"; \ 328 cat "$$mi" > "$$mi.tmp"; \ 329 printf "$$fmt" ${FILES:M${NAME}*} >> "$$mi.tmp"; \ 330 distrib/sets/fmt-list "$$mi.tmp"; \ 331 mv "$$mi.tmp" "$$mi"; \ 332 cvs diff "$$mi" || true 333 334 .include <bsd.test.mk> 335