guix/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
base32.scm
base64.scm
bournish.scm
build-utils.scm
builders.scm
cache.scm cache: Work around 'time-monotonic' bug in Guile 2.2.2. 2017-04-22 14:42:15 +02:00
challenge.scm
combinators.scm
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
cran.scm import: cran: Robustify cran-package?. 2017-05-13 12:40:20 +02:00
crate.scm
cve-sample.xml
cve.scm
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
file-systems.scm
gem.scm
gexp.scm gexp: 'ungexp-splicing' properly accounts for nested native inputs. 2017-07-17 23:41:36 +02:00
gnu-maintenance.scm
grafts.scm graft: Correctly replace references near the end of the scan buffer. 2017-08-24 23:55:51 +02:00
graph.scm
gremlin.scm
guix-archive.sh
guix-authenticate.sh
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
guix-environment.sh environment: Disable profile collision checks. 2017-06-21 16:53:22 +02:00
guix-gc.sh
guix-graph.sh
guix-hash.sh
guix-lint.sh
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
guix-system.sh
hackage.scm
hash.scm
import-utils.scm
lint.scm
modules.scm modules: Raise an error when a dependency could not be found. 2017-05-25 14:25:17 +02:00
monads.scm
nar.scm
pack.scm
packages.scm
pk-crypto.scm
pki.scm
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
scripts-build.scm tests: Adjust to the addition of a new Coreutils version. 2017-04-21 22:53:59 +02:00
scripts.scm
search-paths.scm
services.scm services: Service types can now specify a default value for instances. 2017-04-16 00:48:08 +02:00
sets.scm
signing-key.pub
signing-key.sec
size.scm
snix.scm
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
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
upstream.scm
utils.scm
workers.scm Add (guix workers). 2017-04-18 23:17:17 +02:00
zlib.scm