about summary refs log tree commit diff
path: root/tests
AgeCommit message (Collapse)AuthorFilesLines
2011-08-06 * Add a Nix expression search path feature. Paths between angleEelco Dolstra14-1/+16
brackets, e.g. import <nixpkgs/pkgs/lib> are resolved by looking them up relative to the elements listed in the search path. This allows us to get rid of hacks like import "${builtins.getEnv "NIXPKGS_ALL"}/pkgs/lib" The search path can be specified through the ‘-I’ command-line flag and through the colon-separated ‘NIX_PATH’ environment variable, e.g., $ nix-build -I /etc/nixos ... If a file is not found in the search path, an error message is lazily thrown.
2011-07-20 * Added a test that make sure that users cannot registerEelco Dolstra3-1/+62
specially-crafted derivations that produce output paths belonging to other derivations. This could be used to inject malware into the store.
2011-07-20 * Refactoring.Eelco Dolstra2-12/+17
2011-07-13 * Allow attribute names to be strings. Based on theEelco Dolstra2-0/+21
allow-arbitrary-strinsg-in-names patch by Marc Weber.
2011-07-13 * Allow a default value in attribute selection by writingEelco Dolstra2-0/+22
x.y.z or default (as originally proposed in https://mail.cs.uu.nl/pipermail/nix-dev/2009-September/002989.html). For instance, an expression like stdenv.lib.attrByPath ["features" "ckSched"] false args can now be written as args.features.ckSched or false
2011-07-06 * Test case.Eelco Dolstra2-0/+8
2011-06-30 Add support for the `build-timeout' and `--timeout' options.Ludovic Courtès4-1/+36
2011-02-09 * Urgh, FreeBSD doesn't have a "seq" command.Eelco Dolstra1-2/+2
2011-01-14 * builtins.substring: if "start" is beyond the end of the string,Eelco Dolstra2-1/+3
return the empty string.
2010-12-05 * Use CamelCase for the Perl modules.Eelco Dolstra1-2/+2
2010-12-05 * Add a script `nix-generate-patches'.Eelco Dolstra2-5/+7
* Fix the binary patching test.
2010-11-17 * Test whether sequences of patches work.Eelco Dolstra2-15/+37
2010-11-17 * In the download size indication, take binary patches into account.Eelco Dolstra2-1/+7
Hopefully this doesn't slow things down too much.
2010-11-17 (no commit message)Eelco Dolstra1-0/+1
2010-11-17 * Finally, a test for the binary patch functionality.Eelco Dolstra5-3/+56
2010-11-17 * Test that download sizes are shown correctly.Eelco Dolstra2-2/+4
2010-11-17 * Fix the test.Eelco Dolstra2-0/+2
2010-11-16 * Sync with the trunk.Eelco Dolstra4-2/+13
2010-10-24 * Keep attribute sets in sorted order to speed up attribute lookups.Eelco Dolstra1-1/+1
* Simplify the representation of attributes in the AST. * Change the behaviour of listToAttrs() in case of duplicate names.
2010-10-23 * Regression test for listToAttr's behaviour if an attribute nameEelco Dolstra2-2/+3
occurs multiple times.
2010-10-22 * Regression test for __overrides.Eelco Dolstra2-0/+10
2010-10-04 * In the referrers test, lower the nesting depth from 2500 to 1000 toEelco Dolstra1-1/+1
prevent hitting a stack overflow bug in the garbage collector.
2010-08-25 * Made the build hook mechanism more efficient. Rather than startingEelco Dolstra1-13/+15
the hook every time we want to ask whether we can run a remote build (which can be very often), we now reuse a hook process for answering those queries until it accepts a build. So if there are N derivations to be built, at most N hooks will be started.
2010-08-04 * Sync with the trunk.Eelco Dolstra1-2/+2
2010-06-25 tests/build-hook.hook.sh: prefer more portable `...` syntax over $(...) for ↵Peter Simons1-2/+2
running sub-shells The /bin/sh interpreter on Solaris doesn't understand $(...) syntax for running sub-shells. Consequently, this test fails on Solaris. To remedy the situation, the script either needs to be run by /bin/bash -- which is non-standard --, or it needs to use the ancient but portable `...` syntax.
2010-05-12 * Sync with the trunk.Eelco Dolstra54-69/+65
2010-05-12 * Print attributes in sorted order.Eelco Dolstra1-1/+1
2010-05-12 * Implemented tryEval, the last missing primop in the fast-evalEelco Dolstra2-0/+6
branch. Also added a test for tryEval.
2010-05-07 * Sync with the trunk.Eelco Dolstra5-1/+6
2010-04-22 * Check for duplicate attribute names / function arguments. `makeEelco Dolstra3-1/+10
check' now succeeds :-) * An attribute set such as `{ foo = { enable = true; }; foo.port = 23; }' now parses. It was previously rejected, but I'm too lazy to implement the check. (The only reason to reject it is that the reverse, `{ foo.port = 23; foo = { enable = true; }; }', is rejected, which is kind of ugly.)
2010-04-21 * Update the expected test output (no longer an ATerm).Eelco Dolstra35-39/+38
2010-04-21 * Because --parse-only no longer produces an ATerm, don't check theEelco Dolstra6-10/+1
output. Whether it parses at all should be enough.
2010-04-20 * Sync with the trunk.Eelco Dolstra5-3/+14
2010-04-19 * Drop the dependency on the ATerm library.Eelco Dolstra2-8/+4
2010-04-01 * Removed the `~' operator.Eelco Dolstra1-1/+1
2010-03-31 (no commit message)Eelco Dolstra1-1/+0
2010-03-31 * Fix the broken test for listToAttrs.Eelco Dolstra2-2/+5
2010-03-31 Make source location info in the XML output optional.Ludovic Courtès3-1/+6
* src/libexpr/expr-to-xml.cc (nix::showAttrs): Add `location' parameter. Provide location XML attributes when it's true. Update callers. (nix::printTermAsXML): Likewise. * src/libexpr/expr-to-xml.hh (nix::printTermAsXML): Update prototype; have `location' default to `false'. * src/nix-instantiate/nix-instantiate.cc (printResult, processExpr): Add `location' parameter; update callers. (run): Add support for `--no-location'. * src/nix-instantiate/help.txt: Update accordingly. * tests/lang.sh: Invoke `nix-instantiate' with `--no-location' for the XML tests. * tests/lang/eval-okay-toxml.exp, tests/lang/eval-okay-to-xml.nix: New files.
2010-03-25 * Simplify @-patterns: only `{attrs}@name' or `name@{attrs}' are nowEelco Dolstra6-17/+10
allowed. So `name1@name2', `{attrs1}@{attrs2}' and so on are now no longer legal. This is no big loss because they were not useful anyway. This also changes the output of builtins.toXML for @-patterns slightly.
2010-03-23 * Doh.Eelco Dolstra2-20/+8
2010-03-23 * Test "with as; with bs;" since nobody knows what its semantics is.Eelco Dolstra1-1/+19
2010-02-24 (no commit message)Eelco Dolstra1-3/+3
2010-02-24 * Disable fsync() in SQLite if the fsync-metadata option is set toEelco Dolstra1-0/+1
false. * Change the default for `fsync-metadata' to true. * Disable `fsync-metadata' in `make check'.
2010-02-24 * Set the path to sqlite3 properly.Eelco Dolstra1-0/+1
2010-02-24 * Don't fork so much.Eelco Dolstra1-5/+2
2010-02-19 * Foreign key support in SQLite is not a persistent setting, so enableEelco Dolstra1-24/+3
it at startup. * Implement negative caching. Now `make check' passes.
2010-02-18 * Implemented queryValidPaths() and verifyStore().Eelco Dolstra1-2/+1
2010-02-04 * Grmbl. Timing-sensitive tests are evil.Eelco Dolstra1-1/+1
2009-11-13 * In nix-pull/nix-channel, create the manifests directory if itEelco Dolstra1-6/+0
doesn't exist. The Debian packages don't include the manifests directory, so nix-channel would silently skip doing a nix-pull, resulting in everything being built from source. Thanks to Juan Pedro Bolívar Puente.
2009-09-15 * Two primops: builtins.intersectAttrs and builtins.functionArgs.Eelco Dolstra2-0/+95
intersectAttrs returns the (right-biased) intersection between two attribute sets, e.g. every attribute from the second set that also exists in the first. functionArgs returns the set of attributes expected by a function. The main goal of these is to allow the elimination of most of all-packages.nix. Most package instantiations in all-packages.nix have this form: foo = import ./foo.nix { inherit a b c; }; With intersectAttrs and functionArgs, this can be written as: foo = callPackage (import ./foo.nix) { }; where callPackage = f: args: f ((builtins.intersectAttrs (builtins.functionArgs f) pkgs) // args); I.e., foo.nix is called with all attributes from "pkgs" that it actually needs (e.g., pkgs.a, pkgs.b and pkgs.c). (callPackage can do any other generic package-level stuff we might want, such as applying makeOverridable.) Of course, the automatically supplied arguments can be overriden if needed, e.g. foo = callPackage (import ./foo.nix) { c = c_version_2; }; but for the vast majority of packages, this won't be needed. The advantages are to reduce the amount of typing needed to add a dependency (from three sites to two), and to reduce the number of trivial commits to all-packages.nix. For the former, there have been two previous attempts: - Use "args: with args;" in the package's function definition. This however obscures the actual expected arguments of a function, which is very bad. - Use "{ arg1, arg2, ... }:" in the package's function definition (i.e. use the ellipis "..." to allow arbitrary additional arguments), and then call the function with all of "pkgs" as an argument. But this inhibits error detection if you call it with an misspelled (or obsolete) argument.