<feed xmlns='http://www.w3.org/2005/Atom'>
<title>guix.git/tests/lint.scm, branch wip-deploy</title>
<subtitle>Personal branch of https://git.savannah.gnu.org/cgit/guix.git/ for implementing 'guix deploy'.
</subtitle>
<id>https://www.git.jakob.space/guix.git/atom?h=wip-deploy</id>
<link rel='self' href='https://www.git.jakob.space/guix.git/atom?h=wip-deploy'/>
<link rel='alternate' type='text/html' href='https://www.git.jakob.space/guix.git/'/>
<updated>2019-07-19T23:32:17Z</updated>
<entry>
<title>lint: Add test for 'source'.</title>
<updated>2019-07-19T23:32:17Z</updated>
<author>
<name>Ludovic Courtès</name>
</author>
<published>2019-07-19T23:18:11Z</published>
<link rel='alternate' type='text/html' href='https://www.git.jakob.space/guix.git/commit/?id=99b204281235a2b6a44d949e08bc517188b21e49'/>
<id>urn:sha1:99b204281235a2b6a44d949e08bc517188b21e49</id>
<content type='text'>
* tests/lint.scm ("source: 404 and 200"): New test.
</content>
</entry>
<entry>
<title>lint: Update tests to (guix lint) migration.</title>
<updated>2019-07-19T23:32:17Z</updated>
<author>
<name>Ludovic Courtès</name>
</author>
<published>2019-07-19T23:04:49Z</published>
<link rel='alternate' type='text/html' href='https://www.git.jakob.space/guix.git/commit/?id=571f6e7f4f75a01746a0880c99e0cc33fbafbe2a'/>
<id>urn:sha1:571f6e7f4f75a01746a0880c99e0cc33fbafbe2a</id>
<content type='text'>
This is a followup to f363c836e0b4c416dae594af4257459da592b35c.

* tests/lint.scm ("cve")
("cve: one vulnerability")
("cve: one patched vulnerability")
("cve: known safe from vulnerability")
("cve: vulnerability fixed in replacement version")
("cve: patched vulnerability in replacement"): Refer to
'package-vulnerabilities' from (guix lint), not (guix scripts lint).
</content>
</entry>
<entry>
<title>lint: Move the linting code to a different module.</title>
<updated>2019-07-15T21:32:19Z</updated>
<author>
<name>Christopher Baines</name>
</author>
<published>2019-07-02T19:25:41Z</published>
<link rel='alternate' type='text/html' href='https://www.git.jakob.space/guix.git/commit/?id=f363c836e0b4c416dae594af4257459da592b35c'/>
<id>urn:sha1:f363c836e0b4c416dae594af4257459da592b35c</id>
<content type='text'>
To try and move towards making programatic access to the linting code easier,
this commit separates out the linting script, from the linting functionality
that it uses.

* guix/scripts/lint.scm (emit-warnings): Alter to to not use match-lambda, as
&lt;lint-warning&gt; isn't accessible.
(&lt;lint-warning&gt;, lint-warning, make-lint-warning, lint-warning?,
lint-warning-message, lint-warning-message-text, lint-warning-message-data,
lint-warning-location, package-file, %make-warning make-warning,
&lt;lint-checker&gt;, lint-checker, make-lint-checker, lint-checker?,
lint-checker-name, lint-checker-description, lint-checker-check,
properly-starts-sentance?, starts-with-abbreviation?, %quoted-identifier-rx,
check-description-style, package-input-intersection,
check-inputs-should-be-native, check-inputs-should-not-be-an-input-at-all,
package-name-regexp, check-synopsis-style, probe-uri,
tls-certificate-error-string, validate-uri, check-home-page,
%distro-directory, check-patch-file-names, escape-quotes,
official-gnu-packages*, check-gnu-synopsis+description, origin-uris,
check-source, check-source-file-name, check-source-unstable-tarball,
check-mirror-url, check-github-url, check-derivation, check-license,
call-with-networking-fail-safe, with-networking-fail-safe,
current-vulnerabilities*, package-vulnerabilities, check-vulnerabilities,
check-for-updates, report-tabulations, report-trailing-white-space,
report-long-line, %hanging-paren-rx, report-lone-parantheses,
%formatting-reporters, report-formatting-issues, check-formatting, %checkers):
Move to…
* guix/lint.scm: … here
* po/guix/POTFILES.in: Add guix/lint.scm.
* Makefile.am: Add guix/lint.scm.
* tests/lint.scm: Change to import (guix lint), rather than (guix scripts lint).
</content>
</entry>
<entry>
<title>scripts: lint: Handle warnings with a record type.</title>
<updated>2019-07-15T21:32:18Z</updated>
<author>
<name>Christopher Baines</name>
</author>
<published>2019-05-06T18:00:58Z</published>
<link rel='alternate' type='text/html' href='https://www.git.jakob.space/guix.git/commit/?id=50fc2384feb3bb2677d074f8f0deb5ae3c56b4d8'/>
<id>urn:sha1:50fc2384feb3bb2677d074f8f0deb5ae3c56b4d8</id>
<content type='text'>
Rather than emiting warnings directly to a port, have the checkers return the
warning or warnings.

This makes it easier to use the warnings in different ways, for example,
loading the data in to a database, as you can work with the &lt;lint-warning&gt;
records directly, rather than having to parse the output to determine the
package and location.

* guix/scripts/lint.scm (&lt;lint-warning&gt;): New record type.
(lint-warning): New macro.
(lint-warning?, lint-warning-package, lint-warning-message,
lint-warning-location, package-file, make-warning): New procedures.
(call-with-accumulated-warnings, with-accumulated-warnings): Remove.
(emit-warning): Rename to emit-warnings, and switch to displaying multiple
warnings.
(check-description-style)[check-not-empty-description, check-texinfo-markup,
check-trademarks, check-quotes, check-proper-start,
check-end-of-sentence-space]: Switch to generating a list of warnings, and
using make-warning, rather than emit-warning.
(check-inputs-should-be-native, check-inputs-should-not-be-an-input-at-all):
Switch to generating a list of warnings, and using make-warning, rather than
emit-warning.
(check-synopsis): Switch to generating a list of warnings, and using
make-warning, rather than emit-warning.
[check-not-empty]: Remove, this is handled in the match clause
to avoid other warnings being emitted.
[check-final-period, check-start-article, check-synopsis-length,
check-proper-start, check-start-with-package-name, check-texinfo-markup]:
Switch to generating a list of warnings, and using make-warning, rather than
emit-warning.
[checks]: Remove check-not-empty.
(validate-uri, check-home-page, check-patch-file-names,
check-gnu-synopsis+description): Switch to generating a list of warnings, and
using make-warning, rather than emit-warning.
(check-source): Switch to generating a list of warnings, and using
make-warning, rather than emit-warning.
[try-uris]: Remove.
[warnings-for-uris]: New procedure, replacing try-uris.
(check-source-file-name, check-source-unstable-tarball, check-mirror-url,
check-github-url, check-derivation, check-vulnerabilities, check-for-updates,
report-tabulations, report-trailing-white-space, report-long-line,
report-lone-parentheses, report-formatting-issues, check-formatting): Switch
to generating a list of warnings, and using make-warning, rather than
emit-warning.
(run-checkers): Call emit-warnings on the warnings returned from the checker.
* tests/lint.scm (string-match-or-error, single-lint-warning-message): New
procedures.
(call-with-warnings, with-warnings): Remove.
("description: not a string", "description: not empty", "description: invalid
Texinfo markup", "description: does not start with an upper-case letter",
"description: may start with a digit", "description: may start with lower-case
package name", "description: two spaces after end of sentence", "description:
end-of-sentence detection with abbreviations", "description: may not contain
trademark signs: ™", "description: may not contain trademark signs: ®",
"description: suggest ornament instead of quotes", "synopsis: not a string",
"synopsis: not empty", "synopsis: valid Texinfo markup", "synopsis: does not
start with an upper-case letter", "synopsis: may start with a digit",
"synopsis: ends with a period", "synopsis: ends with 'etc.'", "synopsis:
starts with 'A'", "synopsis: starts with 'a'", "synopsis: starts with 'an'",
"synopsis: too long", "synopsis: start with package name", "synopsis: start
with package name prefix", "synopsis: start with abbreviation", "inputs:
pkg-config is probably a native input", "inputs: glib:bin is probably a native
input", "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)",
"patches: file names", "patches: file name too long", "patches: not found",
"derivation: invalid arguments", "license: invalid license", "home-page: wrong
home-page", "home-page: invalid URI", "home-page: host not found", "home-page:
Connection refused", "home-page: 200", "home-page: 200 but short length",
"home-page: 404", "home-page: 301, invalid", "home-page: 301 -&gt; 200",
"home-page: 301 -&gt; 404", "source-file-name", "source-file-name: v prefix",
"source-file-name: bad checkout", "source-file-name: good checkout",
"source-file-name: valid", "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", "source: 200", "source: 200
but short length", "source: 404", "source: 301 -&gt; 200", "source: 301 -&gt; 404",
"mirror-url", "mirror-url: one suggestion", "github-url", "github-url: one
suggestion", "github-url: already the correct github url", "cve", "cve: one
vulnerability", "cve: one patched vulnerability", "cve: known safe from
vulnerability", "cve: vulnerability fixed in replacement version", "cve:
patched vulnerability in replacement", "formatting: lonely parentheses",
"formatting: alright"): Change test-assert to test-equal, and adjust to work
with the changes above.
("formatting: tabulation", "formatting: trailing white space", "formatting:
long line"): Use string-match-or-error rather than string-contains.
</content>
</entry>
<entry>
<title>tests: More adjustments to python.scm split.</title>
<updated>2019-01-20T09:49:10Z</updated>
<author>
<name>Efraim Flashner</name>
</author>
<published>2019-01-20T09:49:10Z</published>
<link rel='alternate' type='text/html' href='https://www.git.jakob.space/guix.git/commit/?id=3b98522b28ab1ee591b6282ceb74a28596aad684'/>
<id>urn:sha1:3b98522b28ab1ee591b6282ceb74a28596aad684</id>
<content type='text'>
This is a followup to 44d10b1f722856ab8e9b942804aa7ef33e2ef739.

* tests/lint.scm: Update imports.
</content>
</entry>
<entry>
<title>guix: lint: Warn only if GitHub URI is not same as the package URI.</title>
<updated>2019-01-10T10:09:35Z</updated>
<author>
<name>Arun Isaac</name>
</author>
<published>2019-01-07T17:41:58Z</published>
<link rel='alternate' type='text/html' href='https://www.git.jakob.space/guix.git/commit/?id=40fa21c22e1d11b741515fd38f5204a5fa57fbaa'/>
<id>urn:sha1:40fa21c22e1d11b741515fd38f5204a5fa57fbaa</id>
<content type='text'>
* guix/scripts/lint.scm (check-github-url): Warn only if the GitHub URI
obtained after following redirects is not same as the original URI.
* tests/lint.scm ("github-url: already the correct github url"): New test.
</content>
</entry>
<entry>
<title>lint: Check for unstable tarballs.</title>
<updated>2018-12-27T12:55:54Z</updated>
<author>
<name>Efraim Flashner</name>
</author>
<published>2018-12-25T14:29:12Z</published>
<link rel='alternate' type='text/html' href='https://www.git.jakob.space/guix.git/commit/?id=c180017b6f7e9b6d23238c1fbaac986c435cd35e'/>
<id>urn:sha1:c180017b6f7e9b6d23238c1fbaac986c435cd35e</id>
<content type='text'>
* 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.
</content>
</entry>
<entry>
<title>guix: lint: Check for source URIs redirecting to GitHub.</title>
<updated>2018-12-24T02:45:17Z</updated>
<author>
<name>Arun Isaac</name>
</author>
<published>2018-12-21T12:18:55Z</published>
<link rel='alternate' type='text/html' href='https://www.git.jakob.space/guix.git/commit/?id=0865d8a8f6c229fef5bcba647cc7b37c2f3d3dae'/>
<id>urn:sha1:0865d8a8f6c229fef5bcba647cc7b37c2f3d3dae</id>
<content type='text'>
* 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.
</content>
</entry>
<entry>
<title>lint: 'check-derivation' tries all the package's supported systems.</title>
<updated>2018-11-20T17:36:05Z</updated>
<author>
<name>Ludovic Courtès</name>
</author>
<published>2018-11-20T17:25:13Z</published>
<link rel='alternate' type='text/html' href='https://www.git.jakob.space/guix.git/commit/?id=3b32891b12ee18c57b0fc346ed7dce8b6976066b'/>
<id>urn:sha1:3b32891b12ee18c57b0fc346ed7dce8b6976066b</id>
<content type='text'>
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.
</content>
</entry>
<entry>
<title>lint: 'check-vulnerabilities' also checks package properties.</title>
<updated>2017-12-10T19:59:07Z</updated>
<author>
<name>Efraim Flashner</name>
</author>
<published>2017-11-30T21:41:29Z</published>
<link rel='alternate' type='text/html' href='https://www.git.jakob.space/guix.git/commit/?id=f4007b25476dfd97885f358d2dabbd463f6f6017'/>
<id>urn:sha1:f4007b25476dfd97885f358d2dabbd463f6f6017</id>
<content type='text'>
* 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.
</content>
</entry>
</feed>
