Age | Commit message (Expand) | Author |
2018-12-27 | lint: Check for unstable tarballs....* guix/scripts/lint.scm (check-source-unstable-tarball): New procedure.
(%checkers): Add it.
* tests/lint.scm ("source-unstable-tarball", "source-unstable-tarball:
source #f", "source-unstable-tarball: valid", "source-unstable-tarball:
package named archive", "source-unstable-tarball: not-github",
"source-unstable-tarball: git-fetch"): New tests.
* doc/guix.texi (Invoking guix lint): Document it.
| Efraim Flashner |
2018-12-24 | guix: lint: Check for source URIs redirecting to GitHub....* guix/scripts/lint.scm (check-github-uri): New procedure.
(%checkers): Add it.
* doc/guix.texi (Invoking guix lint): Document it.
* tests/lint.scm ("github-url", "github-url: one suggestion"): New tests.
| Arun Isaac |
2018-11-20 | lint: 'check-derivation' tries all the package's supported systems....This allows us to catch architecture-specific evaluation failures.
* guix/scripts/lint.scm (check-derivation): Move body into...
[try]: ... this. New procedure.
Call 'try' for each supported system of PACKAGE.
| Ludovic Courtès |
2017-12-10 | lint: 'check-vulnerabilities' also checks package properties....* guix/scripts/lint.scm (check-vulnerabilities): Also check for CVEs
listed as mitigated in the package properties.
* tests/lint.scm ("cve: known safe from vulnerability"): New test.
| Efraim Flashner |
2017-11-28 | lint: 'patch-file-names' checks for file name length....Reported at <https://bugs.gnu.org/27943>
by Danny Milosavljevic <dannym@scratchpost.org>.
* guix/scripts/lint.scm (%distro-directory): New variable.
(check-patch-file-names): Add check for the file name length.
* tests/lint.scm ("patches: file name too long"): New test.
| Ludovic Courtès |
2017-10-12 | lint: 'home-page' checker reports permanent redirects....* guix/scripts/lint.scm (probe-uri): Add special case for HTTP 301.
(validate-uri): Likewise.
* tests/lint.scm ("home-page: 301, invalid")
("home-page: 301 -> 200", "home-page: 301 -> 404")
("source: 301 -> 200", "source: 301 -> 404"): New tests.
| Ludovic Courtès |
2017-10-12 | tests: Support multiple HTTP server instances....* guix/tests/http.scm (%http-server-socket): Turn into...
(open-http-server-socket): ... this procedure.
(http-server-can-listen?): New procedure.
(http-write, %http-server-lock, %http-server-ready)
(http-open, stub-http-server): Move to 'call-with-http-server' body.
(call-with-http-server): Add #:headers parameter.
(with-http-server): Add an additional pattern with headers.
* tests/derivations.scm: Use (http-server-can-listen?) instead
of (force %http-server-socket).
* tests/lint.scm: Likewise.
| Ludovic Courtès |
2017-03-27 | ui: Support Texinfo markup in package synopses....* guix/ui.scm (package-field-string): New procedure.
(package-description-string): Use it.
(package-synopsis-string): New procedure.
(package->recutils): Use it.
* guix/scripts/lint.scm (check-synopsis-style)[check-texinfo-markup]:
New procedure. Use it in checks.
* tests/lint.scm: Test it.
* gnu/packages/perl.scm (perl-try-tiny)[synopsis]: Adjust for the
Texinfo markup.
| Alex Kost |
2016-11-25 | Merge branch 'master' into python-build-system | Leo Famulari |
2016-11-19 | lint: Add 'mirror-url' checker....* guix/scripts/lint.scm (origin-uris): New procedure.
(check-source): Use it.
(check-mirror-url): New procedure.
(%checkers): Add 'mirror-url' checker.
* tests/lint.scm ("mirror-url")
("mirror-url: one suggestion"): New tests.
* doc/guix.texi (Invoking guix lint): Document it.
| Ludovic Courtès |
2016-11-16 | tests: Move HTTP server to (guix tests http)....* tests/lint.scm (%http-server-port, %local-url)
(%http-server-socket, http-write, %http-server-lock)
(%http-server-ready, http-open, stub-http-server)
(call-with-http-server, with-http-server): Move to (guix tests http).
Adjust tests for %HTTP-SERVER-SOCKET as a promise and %LOCAL-URL as a
parameter.
* guix/tests/http.scm: New file.
* Makefile.am (dist_noinst_DATA): Add it.
(GOBJECTS): Add .go files for all of $(dist_noinst_DATA).
(make-go): Depend on $(dist_noinst_DATA).
| Ludovic Courtès |
2016-11-15 | guix: Add lint-checker for packages which should be no inputs at all....Also refactor some common code into a new function.
Examples for these pacakges are python(2)-setuptools and python(2)-pip, which
are installed together with python itself.
* guix/scripts/lint.scm (warn-if-package-has-input): New procedure.
(check-inputs-should-be-native package): Use it; rename and clean-up
variables. (check-inputs-should-not-be-an-input-at-all): New procedure.
(%checkers) Add it.
* doc/guix.texi (Python Modules): Document it.
* tests/lint.scm: ("inputs: python-setuptools should not be an input at all
(input)", "inputs: python-setuptools should not be an input at all
(native-input)" "inputs: python-setuptools should not be an input at all
(propagated-input)"): Add tests.
| Hartmut Goebel |
2016-10-19 | lint: Suggest @code instead of quotes....* guix/scripts/lint.scm (%quoted-identifier-rx): New variable.
(check-description-style)[check-quotes]: New procedure.
Use it.
* tests/lint.scm ("description: suggest ornament instead of quotes"):
New test.
| Ludovic Courtès |
2016-10-03 | lint: 'cve' checker reports the replacement's vulnerabilities....Before, 'guix lint -c cve' would report the vulnerabilities of the
original package while pretending they are the vulnerabilities of the
replacement.
* guix/scripts/lint.scm (check-vulnerabilities): Consider the package
replacement before calling 'package-vulnerabilities'.
* tests/lint.scm ("cve: vulnerability fixed in replacement version"):
New test.
| Ludovic Courtès |
2016-08-28 | guix: lint: Check descriptions for trademark signs....* guix/scripts/lint.scm (check-description-style): Emit a warning if
trademark signs found in description.
* tests/lint.scm (description: may not contain trademark signs): Add
test.
| Eric Bavier |
2016-07-24 | lint: 'inputs-should-be-native' checks for intltool, itstool and glib:bin....* guix/scripts/lint.scm (check-inputs-should-be-native): Warn when intltool,
itstool or glib:bin isn't a native-input.
* tests/lint.scm (inputs: glib:bin is probably a native input): Add test.
Co-authored-by: Ludovic Courtès <ludo@gnu.org>
| David Craven |
2016-07-13 | lint: 'validate-uri' reports suspiciously small 200 responses....* guix/scripts/lint.scm (validate-uri): Upon 200 http-response, check
the 'response-content-length' and emit a warning when it is <= 1000.
* tests/lint.scm (call-with-http-server): Add 'data' parameter.
(with-http-server): Likewise.
(%long-string): New variable.
("home-page: 200"): Pass %LONG-STRING to 'with-http-server'.
("home-page: 404", "source: 200", "source: 404"): Likewise.
("home-page: 200 but short length"): New test.
("source: 200 but short length"): New test.
| Ludovic Courtès |
2016-04-28 | lint: 'check-vulnerabilities' follows package replacements....* guix/scripts/lint.scm (check-vulnerabilities): Check the replacement
of PACKAGE.
* tests/lint.scm ("cve: patched vulnerability in replacement"): New test.
| Ludovic Courtès |
2016-04-27 | lint: Report synopses/descriptions that are not strings....Suggested by John Darrington.
* guix/scripts/lint.scm (check-description-style): Emit a warning when
DESCRIPTION is not a string.
(check-synopsis-style): Likewise.
(check-gnu-synopsis+description): Likewise.
* tests/lint.scm ("description: not a string", "synopsis: not a
string"): New tests.
| Ludovic Courtès |
2016-04-03 | build: Add a Guile custom test driver using SRFI-64....Before that '.log' files for scheme tests were fragmented and not
included in test-suite.log. This unifies the semantics of SRFI-64 API
with Automake test suite.
* build-aux/test-driver.scm: New file.
* Makefile.am (SCM_LOG_DRIVER, AM_SCM_LOG_DRIVER_FLAGS): New variables.
(SCM_LOG_COMPILER, AM_SCM_LOG_FLAGS): Delete variables.
(AM_TESTS_ENVIRONMENT): Set GUILE_AUTO_COMPILE to 0.
* test-env.in: Silence guix-daemon.
* doc/guix.texi (Running the Test Suite): Describe how to display the
detailed results. Bug reports require only 'test-suite.log' file.
* tests/base32.scm, tests/build-utils.scm, tests/builders.scm,
tests/challenge.scm, tests/cpan.scm, tests/cpio.scm, tests/cran.scm,
tests/cve.scm, tests/derivations.scm, tests/elpa.scm,
tests/file-systems.scm, tests/gem.scm, tests/gexp.scm,
tests/gnu-maintenance.scm, tests/grafts.scm, tests/graph.scm,
tests/gremlin.scm, tests/hackage.scm, tests/hash.scm,
tests/import-utils.scm, tests/lint.scm, tests/monads.scm, tests/nar.scm,
tests/packages.scm, tests/pk-crypto.scm, tests/pki.scm,
tests/profiles.scm, tests/publish.scm, tests/pypi.scm,
tests/records.scm, tests/scripts-build.scm, tests/scripts.scm,
tests/services.scm, tests/sets.scm, tests/size.scm, tests/snix.scm,
tests/store.scm, tests/substitute.scm, tests/syscalls.scm,
tests/system.scm, tests/ui.scm, tests/union.scm, tests/upstream.scm,
tests/utils.scm: Don't exit at the end of test groups.
* tests/containers.scm: Likewise. Use 'test-skip' instead of exiting
with error code 77.
| Mathieu Lirzin |
2016-01-28 | tests: Use 'dummy-origin' for lint tests when possible....* guix/tests/lint.scm ("patches: file names", "patches: not found"): Use
'dummy-origin'. 'sha256' field was wrongly set to a string instead of a
bytevector.
| Mathieu Lirzin |
2016-01-22 | tests: Prevent 'http_proxy' from breaking Web server tests....* tests/lint.scm: Add call to 'unsetenv' to remove 'http_proxy'.
* tests/publish.scm: Likewise.
| Ludovic Courtès |
2015-11-28 | lint: 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-26 | lint: 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-18 | lint: 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-15 | lint: 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-14 | guix: 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-06 | lint: 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-19 | lint: 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-13 | lint: 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-10 | lint: 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-10 | lint: 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-31 | tests: Fix module name for 'lint'....* tests/lint.scm: Change module name to 'test-lint'.
| Ludovic Courtès |
2015-03-05 | lint: 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-05 | tests: 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-13 | tests: 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-07 | tests: Add missing copyright line....* tests/lint.scm: Add missing copyright line for commit 907c98ac and
others.
| Ludovic Courtès |
2014-12-29 | tests: 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-29 | tests: 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-29 | lint: 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-07 | lint: 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-07 | lint: 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-07 | lint: 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-26 | guix: 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-26 | guix: 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-26 | guix: 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-26 | guix: 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-08 | guix 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-08 | guix 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-08 | guix 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 |