aboutsummaryrefslogtreecommitdiff
path: root/tests
AgeCommit message (Collapse)Author
2008-12-03(no commit message)Eelco Dolstra
2008-12-03* Unify the treatment of sources copied to the store, and recursiveEelco Dolstra
SHA-256 outputs of fixed-output derivations. I.e. they now produce the same store path: $ nix-store --add x /nix/store/j2fq9qxvvxgqymvpszhs773ncci45xsj-x $ nix-store --add-fixed --recursive sha256 x /nix/store/j2fq9qxvvxgqymvpszhs773ncci45xsj-x the latter being the same as the path that a derivation derivation { name = "x"; outputHashAlgo = "sha256"; outputHashMode = "recursive"; outputHash = "..."; ... }; produces. This does change the output path for such fixed-output derivations. Fortunately they are quite rare. The most common use is fetchsvn calls with SHA-256 hashes. (There are a handful of those is Nixpkgs, mostly unstable development packages.) * Documented the computation of store paths (in store-api.cc).
2008-11-20* Urgh.Eelco Dolstra
2008-11-20* Blindly doing a replacement of occurences of $bindir (when runningEelco Dolstra
the tests) is a bad idea when $bindir = /usr and some programs (like perl) live there. Fortunately it doesn't seem to be needed anymore.
2008-11-20* Don't set the prefix to /nix by default, rather use the AutoconfEelco Dolstra
default of /usr/local. However, localstatedir and storedir are set to /nix/var/nix and /nix/store respectively unless they're explicitly overriden.
2008-08-14* Added an experimental feature suggested by Andres: ellipses ("...")Eelco Dolstra
in attribute set pattern matches. This allows defining a function that takes *at least* the listed attributes, while ignoring additional attributes. For instance, {stdenv, fetchurl, fuse, ...}: stdenv.mkDerivation { ... }; defines a function that requires an attribute set that contains the specified attributes but ignores others. The main advantage is that we can then write in all-packages.nix aefs = import ../bla/aefs pkgs; instead of aefs = import ../bla/aefs { inherit stdenv fetchurl fuse; }; This saves a lot of typing (not to mention not having to update all-packages.nix with purely mechanical changes). It saves as much typing as the "args: with args;" style, but has the advantage that the function arguments are properly declared (not implicit in what the body of the "with" uses).
2008-08-14* @-patterns as in Haskell. For instance, in a function definitionEelco Dolstra
f = args @ {x, y, z}: ...; `args' refers to the argument as a whole, which is further pattern-matched against the attribute set pattern {x, y, z}.
2008-08-14* Refactoring: combine functions that take an attribute set andEelco Dolstra
functions that take a single argument (plain lambdas) into one AST node (Function) that contains a Pattern node describing the arguments. Current patterns are single lazy arguments (VarPat) and matching against an attribute set (AttrsPat). This refactoring allows other kinds of patterns to be added easily, such as Haskell-style @-patterns, or list pattern matching.
2008-08-14* Increase the sleep periods a bit to make the test less likely toEelco Dolstra
fail on slow machines. Of course it would be better if this test wasn't timing dependent...
2008-08-11* Removed the "valid values" feature. Nobody uses it anyway.Eelco Dolstra
2008-08-04* Fix the tests.Eelco Dolstra
2008-08-02* Make nix-env --dry-run print the paths to be substituted correctlyEelco Dolstra
again. (After the previous substituter mechanism refactoring I didn't update the code that obtains the references of substitutable paths.) This required some refactoring: the substituter programs are now kept running and receive/respond to info requests via stdin/stdout.
2008-07-18* Fix the tests.Eelco Dolstra
2008-07-11* Generalised the dependencyClosure primop to builtins.genericClosure,Eelco Dolstra
which is hopefully more useful. * New primops: length, mul, div.
2008-07-01* Export the nix-env derivation name parsing and version comparisonEelco Dolstra
logic through the `parseDrvName' and `compareVersions' primops. This will allow expressions to easily check whether some dependency is a specific needed version or falls in some version range. See tests/lang/eval-okay-versions.nix for examples.
2008-06-15* Test instrumentation.Eelco Dolstra
2008-06-10* Fixed compatibility with old versions of "wc" that print whitespaceEelco Dolstra
before the count.
2008-06-09* Merged the no-bdb branch (-r10900:HEADEelco Dolstra
https://svn.nixos.org/repos/nix/nix/branches/no-bdb).
2008-02-05* Doh.Eelco Dolstra
2008-02-05* Regression test.Eelco Dolstra
2008-01-04* New primop `unsafeDiscardStringContext' to get rid of stringEelco Dolstra
contexts. Needed to prevent unnecessary dependencies when building the NixOS manual.
2007-12-31(no commit message)Eelco Dolstra
2007-12-30* Fix the hashDerivationModulo test. I should really investigateEelco Dolstra
*why* the test failed...
2007-12-14* Another insane Mac OS X 10.5 compatibility hack.Eelco Dolstra
2007-12-14* Mac OS X 10.5 compatibility: `echo -n foo' suddenly prints `-n foo'Eelco Dolstra
instead of `foo' without a newline (with /bin/sh, not /bin/bash, even though /bin/sh is also bash...). So use printf instead.
2007-12-06* Syntax to escape '', ${.Eelco Dolstra
2007-11-30* Added a new kind of multi-line string literal delimited by twoEelco Dolstra
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-29* nix-env -e: support uninstalling by path, so that one can sayEelco Dolstra
$ nix-env -e $(which firefox) or $ nix-env -e /nix/store/nywzlygrkfcgz7dfmhm5xixlx1l0m60v-pan-0.132 * nix-env -i: if an argument contains a slash anywhere, treat it as a path and follow it through symlinks into the Nix store. This allows things like $ nix-build -A firefox $ nix-env -i ./result * nix-env -q/-i/-e: don't complain when the `*' selector doesn't match anything. In particular, `nix-env -q \*' doesn't fail anymore on an empty profile.
2007-11-21* New primop `readFile' to get the contents of a file as a string.Eelco Dolstra
2007-09-11* Test the impureEnvVars feature.Eelco Dolstra
2007-09-04* nix-push / generate-patches: bzip the manifest.Eelco Dolstra
2007-08-28* Doh! Broken test.Eelco Dolstra
2007-08-28* Test case to show that parallel builds of different fixed-outputEelco Dolstra
derivations that produce the same output path don't work properly wrt locking. This happens a lot in the build farm when fetchurl derivations downloading the same file on different platforms are executed in parallel and then copied back to the main machine.
2007-08-18primop functions listToAttrs (+test), __isAttrs, __trace addedMarc Weber
new configuration style proposal in lib/default-unstable.nix
2007-08-14* Hopefully this fixes the test on FreeBSD.Eelco Dolstra
2007-08-13* A test for the nix-worker.Eelco Dolstra
2007-08-13* Fix the tests.Eelco Dolstra
2007-05-15* Allow empty argument lists in function definitions (e.g., `{}:Eelco Dolstra
bla'). Also allow trailing commas (`{x, y,}: ...') as a unintented consequence. Hopefully the reduce/reduce conflict won't cause any problems.
2007-02-21* Don't use $SHELL.Eelco Dolstra
2007-01-29New primitives:Eelco Dolstra
* `sub' to subtract two numbers. * `stringLength' to get the length of a string. * `substring' to get a substring of a string. These should be enough to allow most string operations to be expressed.
2007-01-15* builtins.filterSource: pass the type of the file ("regular",Eelco Dolstra
"directory", "symlink") as the second argument to the filter predicate.
2007-01-14* Don't forget the .flags files.Eelco Dolstra
2007-01-14* Option --argstr for passing string arguments easily. (NIX-75)Eelco Dolstra
2007-01-13* Canonicalise ASTs in `nix-instantiate --eval': remove positionEelco Dolstra
info, sort attribute sets.
2006-12-12* New primop builtins.filterSource, which can be used to filter filesEelco Dolstra
from a source directory. All files for which a predicate function returns true are copied to the store. Typical example is to leave out the .svn directory: stdenv.mkDerivation { ... src = builtins.filterSource (path: baseNameOf (toString path) != ".svn") ./source-dir; # as opposed to # src = ./source-dir; } This is important because the .svn directory influences the hash in a rather unpredictable and variable way.
2006-12-12* New built-in function `builtins.attrNames' that returns theEelco Dolstra
names of the attributes in an attribute set.
2006-12-02* Clear NIX_REMOTE in the tests.Eelco Dolstra
2006-10-19* Checks for allowedReferences and some other features.Eelco Dolstra
* Use nix-build in a test.
2006-10-17* Another test.Eelco Dolstra
2006-10-17* Fix the tests wrt the AST changes, i.e., Str(s) -> Str(s, []), andEelco Dolstra
the semantic changes.