guix-devel/tests
Ludovic Courtès a9468b422b
substitute: Download from unauthorized sources that provide the right content.
This allows substitutes to be downloaded from unauthorized servers, as
long as they advertise the same hash and references as one of the
authorized servers.

* guix/scripts/substitute.scm (assert-valid-narinfo): Remove.
(valid-narinfo?): Add #:verbose?.  Handle each case of
'signature-case'.
(equivalent-narinfo?): New procedure.
(lookup-narinfos/diverse): Add 'authorized?' parameter and honor it.
[select-hit]: New procedure.
(lookup-narinfo): Add 'authorized?' parameter and pass it.
(process-query): Adjust callers accordingly.
(process-substitution): Remove call to 'assert-valid-narinfo'.  Check
whether 'lookup-narinfo' returns true and call 'leave' if not.
* tests/substitute.scm (%main-substitute-directory)
(%alternate-substitute-directory): New variables.
(call-with-narinfo): Make 'narinfo-directory' a parameter.  Call
'mkdir-p' to create it.  Change unwind handler to check whether
CACHE-DIRECTORY exists before deleting it.
(with-narinfo*): New macro.
("substitute, no signature")
("substitute, invalid hash")
("substitute, unauthorized key"): Change expected error message to "no
valid substitute".
("substitute, unauthorized narinfo comes first")
("substitute, unsigned narinfo comes first")
("substitute, first narinfo is unsigned and has wrong hash")
("substitute, first narinfo is unsigned and has wrong refs")
("substitute, unsigned narinfo comes first")
("substitute, two invalid narinfos"): New tests.
* doc/guix.texi (Substitutes): Explain the new behavior.
2017-09-11 11:10:21 +02:00
..
base16.scm utils: Move base16 procedures to (guix base16). 2017-03-16 22:50:14 +01:00
base32.scm build: Add a Guile custom test driver using SRFI-64. 2016-04-03 14:19:09 +02:00
base64.scm substitute-binary: Support the Signature field of a narinfo file. 2014-03-30 12:02:10 +02:00
bournish.scm bournish: Extend 'rm' command. 2017-01-26 13:49:56 +01:00
build-utils.scm utils: 'wrap-program' produces only one wrapper file. 2016-09-07 23:59:02 +02:00
builders.scm build: Add a Guile custom test driver using SRFI-64. 2016-04-03 14:19:09 +02:00
cache.scm cache: Work around 'time-monotonic' bug in Guile 2.2.2. 2017-04-22 14:42:15 +02:00
challenge.scm challenge: Return comparison reports instead of just discrepancies. 2017-01-14 00:57:51 +01:00
combinators.scm utils: Move combinators to (guix combinators). 2016-05-04 23:35:55 +02:00
containers.scm tests: Fix race condition in 'container-excursion*' test. 2017-05-31 17:08:45 +02:00
cpan.scm import: cpan: Update CPAN importer to use MetaCPAN v1 API. 2017-06-07 15:06:34 +02:00
cpio.scm build: Add a Guile custom test driver using SRFI-64. 2016-04-03 14:19:09 +02:00
cran.scm import: cran: Robustify cran-package?. 2017-05-13 12:40:20 +02:00
crate.scm tests: Adjust for 'http-fetch' change in (guix import json). 2017-02-13 16:04:09 +01:00
cve-sample.xml Add (guix cve). 2015-11-26 22:35:01 +01:00
cve.scm cve: Use a more compact format for the list of package/versions. 2016-05-28 01:07:12 +02:00
derivations.scm derivations: 'derivation-prerequisites-to-build' returns <substitutable>. 2017-06-02 18:47:06 +02:00
discovery.scm discovery: Recurse into directories pointed to by a symlink. 2017-07-03 23:51:23 +02:00
elpa.scm build: Add a Guile custom test driver using SRFI-64. 2016-04-03 14:19:09 +02:00
file-systems.scm file-systems: Do not use (gnu packages …). 2017-03-21 22:33:07 +01:00
gem.scm tests: Adjust for 'http-fetch' change in (guix import json). 2017-02-13 16:04:09 +01:00
gexp.scm gexp: 'ungexp-splicing' properly accounts for nested native inputs. 2017-07-17 23:41:36 +02:00
gnu-maintenance.scm build: Add a Guile custom test driver using SRFI-64. 2016-04-03 14:19:09 +02:00
grafts.scm graft: Correctly replace references near the end of the scan buffer. 2017-08-24 23:55:51 +02:00
graph.scm graph: Add '%reverse-package-node-type'. 2017-01-04 16:18:53 +01:00
gremlin.scm build: Add a Guile custom test driver using SRFI-64. 2016-04-03 14:19:09 +02:00
guix-archive.sh guix archive: Add '--extract'. 2015-10-19 10:10:47 +02:00
guix-authenticate.sh authenticate: Allow signatures with binary data to be written to stdout. 2014-04-22 11:30:58 +02:00
guix-build.sh packages: Remove support for PACKAGE-VERSION deprecated syntax. 2017-05-01 17:27:54 +02:00
guix-daemon.sh daemon: '--listen' can be passed several times, can specify TCP endpoints. 2017-06-22 10:59:07 +02:00
guix-download.sh guix download: Support retrieving local file without the URI scheme. 2017-08-20 20:55:45 +08:00
guix-environment-container.sh tests: Fix 'guix environment --container' test in the presence of tmpfs. 2016-08-29 00:09:44 +02:00
guix-environment.sh environment: Disable profile collision checks. 2017-06-21 16:53:22 +02:00
guix-gc.sh guix gc: Error out when extra arguments are passed. 2015-11-11 23:29:20 +01:00
guix-graph.sh graph: Allow store file names for 'derivation' and 'references' graphs. 2016-05-21 01:35:14 +02:00
guix-hash.sh guix hash: Interpret '-' as standard input. 2016-10-28 22:30:17 +02:00
guix-lint.sh tests: Do not run 'cve' checker in 'tests/guix-lint.sh'. 2016-05-24 14:45:18 +02:00
guix-package-net.sh tests: Remove 't-profile-alt-*-link' files. 2017-06-02 18:47:06 +02:00
guix-package.sh guix package: 'guix package -r PKG -u' does not upgrade PKG. 2017-06-26 22:52:06 +02:00
guix-register.sh tests: Improve synchronization in 'tests/guix-register.sh'. 2016-07-29 11:39:30 +02:00
guix-system.sh tests: Expect less accurate location info in 2.2.0. 2017-03-15 15:19:54 +01:00
hackage.scm tests: hackage: Fix mock urls. 2016-09-01 13:40:49 +03:00
hash.scm utils: Move base16 procedures to (guix base16). 2017-03-16 22:50:14 +01:00
import-utils.scm import: utils: Refactor license->symbol. 2016-09-28 13:17:15 +02:00
lint.scm ui: Support Texinfo markup in package synopses. 2017-03-27 10:55:16 +03:00
modules.scm modules: Raise an error when a dependency could not be found. 2017-05-25 14:25:17 +02:00
monads.scm build: Add a Guile custom test driver using SRFI-64. 2016-04-03 14:19:09 +02:00
nar.scm build: Require Guile >= 2.0.9. 2017-03-18 00:39:49 +01:00
pack.scm tests: Skip 'guix pack' test when networking is unavailable. 2017-03-22 15:02:33 +01:00
packages.scm packages: Add 'package-mapping' and base 'package-input-rewriting' on it. 2017-04-05 22:45:41 +02:00
pk-crypto.scm utils: Move base16 procedures to (guix base16). 2017-03-16 22:50:14 +01:00
pki.scm build: Add a Guile custom test driver using SRFI-64. 2016-04-03 14:19:09 +02:00
profiles.scm profiles: Add 'manifest-transaction-removal-candidate?'. 2017-06-26 22:52:06 +02:00
publish.scm publish: Fix narinfo rendering for already-compressed items. 2017-05-18 21:35:35 +02:00
pypi.scm import: pypi: Adjust URIs in tests. 2017-06-18 00:14:07 +02:00
records.scm records: Improve reporting of invalid field specifiers. 2016-07-14 19:07:07 +02:00
scripts-build.scm tests: Adjust to the addition of a new Coreutils version. 2017-04-21 22:53:59 +02:00
scripts.scm build: Add a Guile custom test driver using SRFI-64. 2016-04-03 14:19:09 +02:00
search-paths.scm tests: Adjust search-paths test following the introduction of aarch64. 2017-04-04 00:10:00 +02:00
services.scm services: Service types can now specify a default value for instances. 2017-04-16 00:48:08 +02:00
sets.scm build: Add a Guile custom test driver using SRFI-64. 2016-04-03 14:19:09 +02:00
signing-key.pub daemon: Implement signed archive import/export. 2013-12-20 17:17:42 +01:00
signing-key.sec daemon: Implement signed archive import/export. 2013-12-20 17:17:42 +01:00
size.scm size: Add test to multiple 'store-profile' arguments. 2017-04-07 00:17:16 +02:00
snix.scm build: Add a Guile custom test driver using SRFI-64. 2016-04-03 14:19:09 +02:00
store.scm tests: Corrupt archive import test is robust against different store prefixes. 2017-05-07 00:18:36 +02:00
substitute.scm substitute: Download from unauthorized sources that provide the right content. 2017-09-11 11:10:21 +02:00
syscalls.scm syscalls: Add network-interface-running? 2017-07-12 16:15:30 +02:00
system.scm gnu: bootloader: Deprecate "device" field in favor of "target". 2017-08-23 22:23:19 +02:00
test.drv Add unit test for derivation parsing and output. 2012-04-19 23:09:55 +02:00
texlive.scm guix: Add texlive importer. 2017-06-15 17:03:19 +02:00
ui.scm ui: 'string->duration' correctly handles hours. 2017-05-10 22:05:21 +02:00
union.scm union: Add create-all-directories? parameter to 'union-build'. 2017-03-26 12:53:48 +02:00
upstream.scm build: Add a Guile custom test driver using SRFI-64. 2016-04-03 14:19:09 +02:00
utils.scm utils: Move base16 procedures to (guix base16). 2017-03-16 22:50:14 +01:00
workers.scm Add (guix workers). 2017-04-18 23:17:17 +02:00
zlib.scm zlib: Don't rely on EBADF being ignored by 'fport_close'. 2017-03-15 15:19:53 +01:00