;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2012, 2013, 2015 Ludovic Courtès ;;; ;;; This file is part of GNU Guix. ;;; ;;; GNU Guix is free software; you can redistribute it and/or modify it ;;; under the terms of the GNU General Public License as published by ;;; the Free Software Foundation; either version 3 of the License, or (at ;;; your option) any later version. ;;; ;;; GNU Guix is distributed in the hope that it will be useful, but ;;; WITHOUT ANY WARRANTY; without even the implied warranty of ;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ;;; GNU General Public License for more details. ;;; ;;; You should have received a copy of the GNU General Public License ;;; along with GNU Guix. If not, see . (define-module (test-snix) #:use-module (guix import snix) #:use-module (srfi srfi-1) #:use-module (srfi srfi-64) #:use-module (ice-9 match)) (define %nixpkgs-directory (getenv "NIXPKGS")) (define factorize-uri (@@ (guix import snix) factorize-uri)) (define-syntax-rule (every? proc lists ...) (not (not (every proc lists ...)))) (test-begin "snix") (test-assert "factorize-uri" (every? (match-lambda ((uri version '-> expected) (equal? (factorize-uri uri version) expected))) '(("http://example.com/foo.tgz" "1.0" -> "http://example.com/foo.tgz") ("http://example.com/foo-2.8.tgz" "2.8" -> ("http://example.com/foo-" version ".tgz")) ("http://example.com/2.8/foo-2.8.tgz" "2.8" -> ("http://example.com/" version "/foo-" version ".tgz"))))) (test-skip (if (and %nixpkgs-directory (file-exists? (string-append %nixpkgs-directory "/default.nix"))) 0 1)) (test-assert "nixpkgs->guix-package" (match (nixpkgs->guix-package %nixpkgs-directory "guile") (('package ('name "guile") ('version (? string?)) ('source ('origin _ ...)) ('build-system _) ('inputs ('quasiquote (inputs ...))) ('propagated-inputs ('quasiquote (pinputs ...))) ('home-page (? string?)) ('synopsis (? string?)) ('description (? string?)) ('license (? symbol?))) (and (member '("libffi" ,libffi) inputs) (member '("gmp" ,gmp) pinputs) #t)) (x (pk 'fail x #f)))) (test-end "snix") ux/test-env.in?id=42c3e00c20dbc9fbdd938ddf6d5d88a92d622b77&showmsg=1'>Expand)Author 2018-05-13build: 'test-env' does not 'guix download' non-existent files....Reported by uniq10. * build-aux/test-env.in: Check whether FILE exists before invoking 'guix download'. Ludovic Courtès 2018-04-22build: Fix possible race condition in 'test-env'....Reported by Mark H Weaver <mhw@netris.org>. * build-aux/test-env.in: Add 'guile' invocation before 'guix download' invocation to make sure 'guix-daemon' is listening. Ludovic Courtès 2017-08-28build: Remove code to download the Guile bootstrap tarball....* build-aux/download.scm: Remove. * Makefile.am (EXTRA_DIST): Remove it. (check-system): Remove dependency on $(BOOTSTRAP_GUILE_TARBALLS). * gnu/local.mk (nodist_bootstrap_x86_64_linux_DATA) (nodist_bootstrap_i686_linux_DATA, nodist_bootstrap_armhf_linux_DATA) (nodist_bootstrap_aarch64_linux_DATA, nodist_bootstrap_mips64el_linux_DATA) (BOOTSTRAP_GUILE_TARBALLS, DISTCLEANFILES, DOWNLOAD_FILE) (%D%/packages/bootstrap/x86_64-linux/guile-2.0.9.tar.xz) (%D%/packages/bootstrap/i686-linux/guile-2.0.9.tar.xz) (%D%/packages/bootstrap/armhf-linux/guile-2.0.11.tar.xz) (%D%/packages/bootstrap/aarch64-linux/guile-2.0.14.tar.xz) (%D%/packages/bootstrap/mips64el-linux/guile-2.0.9.tar.xz): Remove. * build-aux/test-env.in: Add "guix download" invocation when gnu/packages/bootstrap/guile* exists. Ludovic Courtès 2016-06-26daemon: Rename 'NIX_CONF_DIR' to 'GUIX_CONFIGURATION_DIRECTORY'....Partly fixes <http://bugs.gnu.org/22459>. Reported by Jeff Mickey <j@codemac.net> and David Craven <david@craven.ch>. * nix/libstore/globals.cc (Settings::processEnvironment()): Change 'NIX_CONF_DIR' to 'GUIX_CONFIGURATION_DIRECTORY'. * nix/local.mk (libstore_a_CPPFLAGS): Likewise. * guix/config.scm.in (%config-directory): Likewise. * build-aux/test-env.in: Likewise. * gnu/packages/patches/hydra-automake-1.15.patch: Likewise. Signed-off-by: Ludovic Courtès <ludo@gnu.org> David Craven 2016-05-04build: Preserve stderr for shell tests....Fixes a regression introduced in a9edb211e733b8b34e67ec3b4450567e9376986f where the .log files of the .sh tests would not contain stderr. * build-aux/test-env.in: Redirect stderr only when --quiet-stderr is passed. * Makefile.am (SCM_LOG_DRIVER): Add --quiet-stderr. Ludovic Courtès 2016-04-15build: Move environment '.in' scripts to 'build-aux' directory....* pre-inst-env.in: Move to ... * build-aux/pre-inst-env.in: ... here. * test-env.in: Move to ... * build-aux/test-env.in: ... here. * configure.ac (AC_CONFIG_FILES): Adapt to this. Keep the generated scripts in their current location which is $(top_builddir). Mathieu Lirzin