lix/tests
Eelco Dolstra 6d6c68c0d2 * Added a new kind of multi-line string literal delimited by two
single quotes.  Example (from NixOS):

    job = ''
      start on network-interfaces

      start script

        rm -f /var/run/opengl-driver
        ${if videoDriver == "nvidia"        
          then "ln -sf ${nvidiaDrivers} /var/run/opengl-driver"
          else if cfg.driSupport
          then "ln -sf ${mesa} /var/run/opengl-driver"
          else ""
        }

        rm -f /var/log/slim.log

      end script
    '';

  This style has two big advantages:

  - \, ' and " aren't special, only '' and ${.  So you get a lot less
    escaping in shell scripts / configuration files in Nixpkgs/NixOS.
    The delimiter '' is rare in scripts (and can usually be written as
    "").  ${ is also fairly rare.

    Other delimiters such as <<...>>, {{...}} and <|...|> were also
    considered but this one appears to have the fewest drawbacks
    (thanks Martin).

  - Indentation is intelligently stripped so that multi-line strings
    can follow the nesting structure of the containing Nix
    expression.  E.g. in the example above 6 spaces are stripped from
    the start of each line.  This prevents unnecessary indentation in
    generated files (which sometimes even breaks things).

  See tests/lang/eval-okay-ind-string.nix for some examples.
2007-11-30 16:48:45 +00:00
..
lang * Added a new kind of multi-line string literal delimited by two 2007-11-30 16:48:45 +00:00
add.sh * Doh! 2006-03-01 16:52:55 +00:00
build-hook.hook.sh * Fix the build hook mechanism; pass the pointer graph to the hook. 2005-01-25 11:55:43 +00:00
build-hook.nix.in * Purify `make check'. 2006-07-21 13:21:43 +00:00
build-hook.sh * Simplification. 2006-03-01 12:51:18 +00:00
check-refs.nix.in * Checks for allowedReferences and some other features. 2006-10-19 17:44:51 +00:00
check-refs.sh * Checks for allowedReferences and some other features. 2006-10-19 17:44:51 +00:00
common.sh.in * Hopefully this fixes the test on FreeBSD. 2007-08-14 13:43:51 +00:00
dependencies.builder0.sh * Purify `make check'. 2006-07-21 13:21:43 +00:00
dependencies.builder1.sh * Purify `make check'. 2006-07-21 13:21:43 +00:00
dependencies.builder2.sh * Purify `make check'. 2006-07-21 13:21:43 +00:00
dependencies.nix.in * Backwards compatibility test for ~. 2006-08-29 15:29:19 +00:00
dependencies.sh * Add a test for nix-log2xml. 2006-03-01 13:25:08 +00:00
dummy * Purify `make check'. 2006-07-21 13:21:43 +00:00
fallback.sh * Fix the tests. 2007-08-13 13:15:02 +00:00
filter-source.nix.in New primitives: 2007-01-29 14:23:09 +00:00
filter-source.sh New primitives: 2007-01-29 14:23:09 +00:00
fixed.builder1.sh * Test the impureEnvVars feature. 2007-09-11 13:32:04 +00:00
fixed.builder2.sh * Test case to show that parallel builds of different fixed-output 2007-08-28 09:21:47 +00:00
fixed.nix.in * Test the impureEnvVars feature. 2007-09-11 13:32:04 +00:00
fixed.sh * Test the impureEnvVars feature. 2007-09-11 13:32:04 +00:00
gc-concurrent.builder.sh * Purify `make check'. 2006-07-21 13:21:43 +00:00
gc-concurrent.nix.in * Purify `make check'. 2006-07-21 13:21:43 +00:00
gc-concurrent.sh * Add a test for nix-log2xml. 2006-03-01 13:25:08 +00:00
gc-concurrent2.builder.sh * Purify `make check'. 2006-07-21 13:21:43 +00:00
gc-concurrent2.nix.in * Purify `make check'. 2006-07-21 13:21:43 +00:00
gc-runtime.nix.in * Don't use $SHELL. 2007-02-21 14:00:46 +00:00
gc-runtime.sh * Fix race condition in the test. 2006-09-01 12:02:39 +00:00
gc.sh * TDD! Woohoo! 2006-03-01 14:26:03 +00:00
hash-check.nix * Purify `make check'. 2006-07-21 13:21:43 +00:00
hash.sh * Tests to prevent a repeat of the parseHash32 debacle. 2006-03-01 18:11:41 +00:00
init.sh * nix-push / generate-patches: bzip the manifest. 2007-09-04 15:38:09 +00:00
install-package.sh * `nix-install-package --url': install from a URL (NIX-12). 2006-09-21 18:54:08 +00:00
lang.sh * Option --argstr for passing string arguments easily. (NIX-75) 2007-01-14 12:32:44 +00:00
locking.builder.sh * `touch' might not be in $PATH. 2006-07-24 16:19:08 +00:00
locking.nix.in * Purify `make check'. 2006-07-21 13:21:43 +00:00
locking.sh * Simplification. 2006-03-01 12:51:18 +00:00
logging.sh * Doh! 2006-03-01 16:03:32 +00:00
Makefile.am * A test for the nix-worker. 2007-08-13 14:56:40 +00:00
misc.sh * Simplification. 2006-03-01 12:51:18 +00:00
nix-build.sh * TDD! Woohoo! 2006-03-01 14:26:03 +00:00
nix-pull.sh * nix-push / generate-patches: bzip the manifest. 2007-09-04 15:38:09 +00:00
nix-push.sh * nix-push / generate-patches: bzip the manifest. 2007-09-04 15:38:09 +00:00
parallel.builder.sh * Purify `make check'. 2006-07-21 13:21:43 +00:00
parallel.nix.in * Purify `make check'. 2006-07-21 13:21:43 +00:00
parallel.sh * Simplification. 2006-03-01 12:51:18 +00:00
referrers.sh * `nix-install-package --url': install from a URL (NIX-12). 2006-09-21 18:54:08 +00:00
remote-store.sh * Hopefully this fixes the test on FreeBSD. 2007-08-14 13:43:51 +00:00
simple.builder.sh * Fix the tests. 2007-08-13 13:15:02 +00:00
simple.nix.in * Purify `make check'. 2006-07-21 13:21:43 +00:00
simple.sh * Purify `make check'. 2006-07-21 13:21:43 +00:00
substituter.sh * Fix the tests. 2007-08-13 13:15:02 +00:00
substituter2.sh * Fix the tests. 2007-08-13 13:15:02 +00:00
substitutes.sh * Fix the tests. 2007-08-13 13:15:02 +00:00
substitutes2.sh * Fix the tests. 2007-08-13 13:15:02 +00:00
user-envs.builder.sh * Purify `make check'. 2006-07-21 13:21:43 +00:00
user-envs.nix.in * Purify `make check'. 2006-07-21 13:21:43 +00:00
user-envs.sh * nix-env -e: support uninstalling by path, so that one can say 2007-11-29 16:18:24 +00:00
verify.sh * Simplification. 2006-03-01 12:51:18 +00:00