Cyril Roelandt <tipec...@gmail.com> skribis: > * guix/scripts/lint.scm: add the "--checkers" option. > * doc/guix.texi: Update "Invoking guix lint".
Rather: * doc/guix.texi (Invoking guix lint): Document it. > * tests/guix-lint.sh: New file > * Makefile.am (SCM_TESTS): Add it. [...] > +@item --checkers > +@itemx -c > +Only enable the checkers specified in a comma-separated list using the > +names returned by --list-checkers. Should be @code{--list-checkers}. > + (begin > + (format (current-error-port) > + "Invalid checker: ~a~%" c) > + (exit 1)))) Use (leave (_ "~a: invalid checker") c) instead. > + (let ((checkers (or (assoc-ref opts 'checkers) %checkers))) > + (if (null? args) > + (fold-packages (lambda (p r) (run-checkers p checkers)) '()) Indent -1. > + (for-each > + (lambda (spec) > + (run-checkers spec checkers)) > + (map specification->package args)))))) Both should be combined, as in: (for-each (lambda (spec) (run-checkers (specification->package spec) checkers)) args) > +grep_warning () > +{ > + res=$(echo "$1" | grep -E -c "(synopsis|description) should") > + echo $res $(...) is a Bash extension; please use backquotes instead. > +# Three issues with the dummy package: > +# 1) the synopsis starts with the package name; > +# 2) the synopsis starts with a lower-case letter; > +# 3) the description starts with a lower-case letter. > + > +if [ $(grep_warning "$(guix lint dummy 2>&1)") -ne 3 ] > +then false; else true; fi > + > +if [ $(grep_warning "$(guix lint -c synopsis dummy 2>&1)") -ne 2 ] > +then false; else true; fi > + > +if [ $(grep_warning "$(guix lint -c description dummy 2>&1)") -ne 1 ] > +then false; else true; fi > + > +if [ $(grep_warning "$(guix lint -c description,synopsis dummy 2>&1)") -ne 3 > ] > +then false; else true; fi Backquotes as well (with intermediate variables.) > +if guix lint -c synopsis,invalid-checker dummy 2>&1 | \ > + grep -q 'Invalid checker: invalid-checker' > +then true; else false; fi OK. Could you send an updated patch? Thanks, Ludo’.