summaryrefslogtreecommitdiff
path: root/tests/lint.scm
AgeCommit message (Expand)Author
2015-11-28lint: Do not report already-patched vulnerabilities....* guix/scripts/lint.scm (patch-file-name): New procedure. (check-vulnerabilities): Use it to filter out patched vulnerabilities. * tests/lint.scm ("cve: one patched vulnerability"): New test. Ludovic Courtès
2015-11-26lint: Add "cve" checker....Fixes <http://bugs.gnu.org/21289>. * guix/scripts/lint.scm (package-name->cpe-name, package-vulnerabilities) (check-vulnerabilities): New procedures. * guix/scripts/lint.scm (%checkers): Add "cve" checker. * tests/lint.scm ("cve", "cve: one vulnerability"): New tests. * doc/guix.texi (Invoking guix lint): Mention it. Ludovic Courtès
2015-09-18lint: Report lonely parentheses....* guix/scripts/lint.scm (%hanging-paren-rx): New variable. (report-lone-parentheses): New procedure. (%formatting-reporters): Use it. * tests/lint.scm ("formatting: lonely parentheses"): New test. Ludovic Courtès
2015-09-15lint: Add 'check-texinfo-markup' checker....* guix/script/lint.scm (check-description-style): Check for invalid Texinfo markup. * tests/lint.scm: Test it. Mathieu Lirzin
2015-09-14guix: lint: Check for meaningful origin file names....* guix/scripts/lint.scm (check-source-file-name): New procedure. (%checkers): Add 'source-file-name' checker. * tests/lint.scm ("source-file-name", "source-file-name: v prefix") ("source-file-name: valid", "source-file-name: bad checkout") ("source-file-name: good checkout"): New tests. * doc/guix.texi (Invoking guix lint): Mention file name check. Eric Bavier
2015-09-06lint: Add 'license' checker....* guix/scripts/lint.scm (check-license): New procedure. (%checkers): Add 'license' checker. * tests/lint.scm ("license: invalid license"): New test. Ludovic Courtès
2015-08-19lint: Add 'formatting' checker....* guix/scripts/lint.scm (report-tabulations, report-trailing-white-space, report-long-line, report-formatting-issues, check-formatting): New procedures. (%formatting-reporters): New variable. (%checkers): Add 'formatting' checker. * tests/lint.scm ("formatting: tabulation", "formatting: trailing white space", "formatting: long line", "formatting: alright"): New tests. * doc/guix.texi (Invoking guix lint): Mention the 'formatting' checker. Ludovic Courtès
2015-04-13lint: Add a 'derivation' checker....* guix/scripts/lint.scm (check-derivation): New procedure. (%checkers): Add 'derivation' checker. * tests/lint.scm ("derivation: invalid arguments"): New test. Ludovic Courtès
2015-04-10lint: Report patches that cannot be found....* guix/scripts/lint.scm (check-patch-file-names): Wrap body in 'guard'. * tests/lint.scm ("patches: not found"): New test. Ludovic Courtès
2015-04-10lint: Rename 'check-patches' to 'check-patch-file-names'....* guix/scripts/lint.scm (check-patches): Rename to... (check-patch-file-names): ... this. Rename 'filename' to 'file'. (%checkers): Adjust accordingly. * tests/lint.scm ("patches: file names"): Likewise. Ludovic Courtès
2015-03-31tests: Fix module name for 'lint'....* tests/lint.scm: Change module name to 'test-lint'. Ludovic Courtès
2015-03-05lint: Add tests for the 'source' checker....* guix/scripts/lint.scm (check-source): Export. * tests/lint.scm (%null-sha256): New procedure. ("source: 200", "source: 404"): New tests. Ludovic Courtès
2015-03-05tests: Fix import....* tests/lint.scm: Use 'url-fetch' from (guix download), not (guix build download), although this was actually harmless here. Ludovic Courtès
2015-01-13tests: Properly synchronize threads in the 'home-page' lint tests....* tests/lint.scm (%http-server-lock, %http-server-ready): New variables. (http-open): New procedure. (stub-http-server): Use it. (call-with-http-server): Wrap body in 'with-mutex'. Call 'wait-condition-variable' after 'make-thread'. Ludovic Courtès
2015-01-07tests: Add missing copyright line....* tests/lint.scm: Add missing copyright line for commit 907c98ac and others. Ludovic Courtès
2014-12-29tests: Make the 'lint' tests slightly more concise....* tests/lint.scm (with-warnings): New macro. Replace all uses of 'call-with-warnings' with the corresponding 'with-warnings' form. Ludovic Courtès
2014-12-29tests: Factorize the 'dummy-package' macro....* guix/tests.scm (dummy-package): New macro. * tests/lint.scm (dummy-package): Remove. * tests/packages.scm (dummy-package): Remove. Ludovic Courtès
2014-12-29lint: Add tests for the 'home-page' checker....Suggested by Cyril Roelandt <tipecaml@gmail.com>. * tests/lint.scm (%http-server-port, %http-server-socket, %local-url, stub-http-server): New variables. (http-write, call-with-http-server): New procedures. (with-http-server): New macro. ("home-page: wrong home-page", "home-page: invalid URI", "home-page: host not found", "home-page: Connection refused", "home-page: 200", "home-page: 404"): New tests. * guix/scripts/lint.scm (check-home-page): Export. Ludovic Courtès
2014-11-07lint: Allow synopses that start with an abbreviation....* guix/scripts/lint.scm (starts-with-abbreviation?): New procedure. (check-synopsis-style)[check-start-with-package-name]: Use it. * tests/lint.scm ("synopsis: start with abbreviation"): New test. Ludovic Courtès
2014-11-07lint: Improve check for synopses starting with package name....* guix/scripts/lint.scm (package-name-regexp): New procedure. (check-synopsis-style)[check-start-with-package-name]: Use it instead of 'string-prefix-ci?'. * tests/lint.scm ("synopsis: start with package name prefix"): New test. Ludovic Courtès
2014-11-07lint: Simplify no-warnings tests....* tests/lint.scm ("description: may start with a digit"): Replace (not (string-contains exp str)) with (string-null? exp). ("description: may start with lower-case package name"): Likewise. ("description: end-of-sentence detection with abbreviations"): Likewise. ("synopsis: may start with a digit"): Likewise. ("synopsis: ends with 'etc.'"): Likewise. Ludovic Courtès
2014-10-26guix: lint: Make exception for package name starting description....* guix/scripts/lint.scm (check-description-style): Exception for upper-case rule if the description starts with the package name. * tests/lint.scm: Test it. Eric Bavier
2014-10-26guix: lint: Allow digits at start of synopsis or description....* guix/scripts/lint.scm (start-with-capital-letter?): Rename too... (properly-starts-sentence?): Rewrite with regex and add digits. (check-description-style, check-synopsis-style): Use it. * tests/lint.scm: Add tests. Eric Bavier
2014-10-26guix: lint: Check for empty synopses and descriptions....* guix/scripts/lint.scm (check-description-style, check-synopsis-style): New emptiness checks. * tests/lint.scm: Test them. Eric Bavier
2014-10-26guix: lint: Check for proper end-of-sentence space....* guix/scripts/lint.scm (start-with-capital-letter?): Handle empty strings. (check-description-style): New check for end-of-sentence space. * tests/lint.scm: Test it. Eric Bavier
2014-10-08guix lint: make sure synopses do not start with the package name....* guix/scripts/lint.scm (check-start-with-package-name): New method. * tests/lint.scm ("synopsis: start with package name"): New test. Cyril Roelandt
2014-10-08guix lint: Make sure a synopsis cannot start with a lower-case article....* guix/scripts/lint.scm (check-start-article): use "string-ci=?" instead of "string=?". * tests/lint.scm ("synopsis: starts with 'a'", "synopsis: starts with 'an'"): New tests. Cyril Roelandt
2014-10-08guix lint: check whether descriptions and synopses start with an upper-case l......* guix/scripts/lint.scm (check-description-style, check-synopsis-start-upper-case): New methods. * tests/lint.scm ("description: does not start with an upper-case letter", "synopsis: does not start with an upper-case letter"): New tests. Cyril Roelandt
2014-10-08guix lint: Make sure synopses are not too long....* guix/scripts/lint.scm (check-synopsis-length): New procedure. * tests/lint.scm ("synopsis: too long"): New test. Cyril Roelandt
2014-09-03guix lint: Remove "guix lint: " prefix from warnings....This allows editors to parse warnings correctly. * guix/scripts/lint.scm (emit-warning): Use 'format' instead of 'warning', to avoid the "guix lint: " prefix in messages. * tests/lint.scm (call-with-warnings): Indent. Ludovic Courtès
2014-09-03scripts: add guix lint...* guix/scripts/lint.scm: New file. Defines a 'lint' tool for Guix packages. * tests/lint.scm: New file. * Makefile.am (MODULES, SCM_TESTS): Add them. * po/guix/Makevars: Update appropriately. * po/guix/POTFILES.in: Update appropriately. * doc/guix.texi: Document "guix lint". Cyril Roelandt