lix/tests
Shea Levy 20866a7031 Delay evaulation of with attrs until a variable lookup needs them
Evaluation of attribute sets is strict in the attribute names, which
means immediate evaluation of `with` attribute sets rules out some
potentially interesting use cases (e.g. where the attribute names of one
set depend in some way on another but we want to bring those names into
scope for some values in the second set).

The major example of this is overridable self-referential package sets
(e.g. all-packages.nix). With immediate `with` evaluation, the only
options for such sets are to either make them non-recursive and
explicitly use the name of the overridden set in non-overridden one
every time you want to reference another package, or make the set
recursive and use the `__overrides` hack. As shown in the test case that
comes with this commit, though, delayed `with` evaluation allows a nicer
third alternative.

Signed-off-by: Shea Levy <shea@shealevy.com>
2013-07-31 11:48:39 +02:00
..
lang Delay evaulation of with attrs until a variable lookup needs them 2013-07-31 11:48:39 +02:00
add.sh * Refactoring: remove unnecessary variables from the tests. 2011-10-10 21:32:34 +00:00
binary-cache.sh Add support for uncompressed NARs in binary caches 2013-07-01 21:03:14 +02:00
binary-patching.nix
binary-patching.sh nix-push: Support generating a manifest again 2012-07-26 18:28:12 -04:00
build-hook.hook.sh
build-hook.nix
build-hook.sh Don't put results symlinks in the tests directory 2012-09-11 19:14:15 -04:00
check-refs.nix
check-refs.sh * Refactoring: remove unnecessary variables from the tests. 2011-10-10 21:32:34 +00:00
common.sh.in Urgggh 2013-01-02 23:52:15 +01:00
config.nix.in * Add a test for nix-channel. 2012-01-03 01:51:38 +00:00
dependencies.builder0.sh
dependencies.builder1.sh
dependencies.builder2.sh
dependencies.nix * Add a test for nix-channel. 2012-01-03 01:51:38 +00:00
dependencies.sh * Refactoring: remove unnecessary variables from the tests. 2011-10-10 21:32:34 +00:00
export-graph.nix
export-graph.sh Don't put results symlinks in the tests directory 2012-09-11 19:14:15 -04:00
export.sh Don't put results symlinks in the tests directory 2012-09-11 19:14:15 -04:00
fallback.sh * Refactoring: remove unnecessary variables from the tests. 2011-10-10 21:32:34 +00:00
fetchurl.nix Add a test for the fetchurl function 2012-07-09 15:41:43 -04:00
fetchurl.sh Don't put results symlinks in the tests directory 2012-09-11 19:14:15 -04:00
filter-source.nix
filter-source.sh * Refactoring: remove unnecessary variables from the tests. 2011-10-10 21:32:34 +00:00
fixed.builder1.sh
fixed.builder2.sh
fixed.nix
fixed.sh Don't put results symlinks in the tests directory 2012-09-11 19:14:15 -04:00
gc-concurrent.builder.sh
gc-concurrent.nix
gc-concurrent.sh * Refactoring: remove unnecessary variables from the tests. 2011-10-10 21:32:34 +00:00
gc-concurrent2.builder.sh
gc-runtime.nix
gc-runtime.sh Replace "make check" with "make installcheck" 2012-03-19 01:20:02 +01:00
gc.sh * Refactoring: remove unnecessary variables from the tests. 2011-10-10 21:32:34 +00:00
hash-check.nix
hash.sh Replace "make check" with "make installcheck" 2012-03-19 01:20:02 +01:00
import-derivation.nix * Add a test for importing derivations. 2012-01-26 13:04:50 +00:00
import-derivation.sh Don't put results symlinks in the tests directory 2012-09-11 19:14:15 -04:00
init.sh Replace "make check" with "make installcheck" 2012-03-19 01:20:02 +01:00
install-package.sh nix-push: Support generating a manifest again 2012-07-26 18:28:12 -04:00
lang.sh * Refactoring: Get rid of a few subdirectories in corepkgs/, and some 2012-01-03 00:16:29 +00:00
logging.sh Don't put results symlinks in the tests directory 2012-09-11 19:14:15 -04:00
Makefile.am Urgggh 2013-01-02 23:52:15 +01:00
misc.sh Fix the test 2012-10-03 18:01:35 -04:00
multiple-outputs.nix Don't put results symlinks in the tests directory 2012-09-11 19:14:15 -04:00
multiple-outputs.sh Fix the multiple-outputs test 2012-11-26 17:46:45 +01:00
negative-caching.nix
negative-caching.sh Don't put results symlinks in the tests directory 2012-09-11 19:14:15 -04:00
nix-build.sh Don't put results symlinks in the tests directory 2012-09-11 19:14:15 -04:00
nix-channel.sh nix-push: Support generating a manifest again 2012-07-26 18:28:12 -04:00
nix-copy-closure.nix Revert "Prevent config.h from being clobbered" 2013-03-08 01:24:59 +01:00
nix-profile.sh Urgggh 2013-01-02 23:52:15 +01:00
nix-pull.sh Fix test failure on Darwin 2012-09-12 11:29:10 -04:00
nix-push.sh nix-push: Support generating a manifest again 2012-07-26 18:28:12 -04:00
optimise-store.sh Fix the store optimisation test 2012-09-13 12:54:23 -04:00
parallel.builder.sh
parallel.nix
parallel.sh Don't put results symlinks in the tests directory 2012-09-11 19:14:15 -04:00
referrers.sh Use "set -x" in the tests to see where a test fails 2012-07-27 14:33:01 -04:00
remote-builds.nix Revert "Prevent config.h from being clobbered" 2013-03-08 01:24:59 +01:00
remote-store.sh Drop support for running nix-worker in "slave" mode 2012-10-03 17:30:45 -04:00
secure-drv-outputs.nix * On FreeBSD, ‘touch’ is not in the test $PATH, so don't use it. 2011-08-08 14:08:38 +00:00
secure-drv-outputs.sh Don't put results symlinks in the tests directory 2012-09-11 19:14:15 -04:00
simple.builder.sh
simple.nix
simple.sh * Refactoring: remove unnecessary variables from the tests. 2011-10-10 21:32:34 +00:00
substituter.sh Don't keep "disabled" substituters running 2013-06-20 11:55:15 +02:00
substituter2.sh Don't keep "disabled" substituters running 2013-06-20 11:55:15 +02:00
substitutes.sh * Refactoring: remove unnecessary variables from the tests. 2011-10-10 21:32:34 +00:00
substitutes2.sh * Refactoring: remove unnecessary variables from the tests. 2011-10-10 21:32:34 +00:00
timeout.builder.sh Show that --timeout doesn't work if the build produces log output 2013-04-23 17:16:29 +02:00
timeout.nix Show that --timeout doesn't work if the build produces log output 2013-04-23 17:16:29 +02:00
timeout.sh * Refactoring: remove unnecessary variables from the tests. 2011-10-10 21:32:34 +00:00
user-envs.builder.sh Test priorities 2012-12-04 14:47:50 +01:00
user-envs.nix Test priorities 2012-12-04 14:47:50 +01:00
user-envs.sh Test priorities 2012-12-04 14:47:50 +01:00
verify.sh * Refactoring: remove unnecessary variables from the tests. 2011-10-10 21:32:34 +00:00