aboutsummaryrefslogtreecommitdiff
path: root/tests
AgeCommit message (Collapse)Author
2022-07-05Merge pull request #6664 from Ma27/innixshell-backwards-compatThéophane Hufschmitt
nix-shell: restore backwards-compat with old nixpkgs
2022-06-29Merge pull request #6699 from tennox/better-flake-new-error-messageThéophane Hufschmitt
flakes: apply templates partially on conflicts
2022-06-29Merge pull request #6233 from flox/nix-repl-flakesThéophane Hufschmitt
Nix repl flakes
2022-06-29Add some test for `nix flake init` with conflictsThéophane Hufschmitt
2022-06-25Merge pull request #6717 from edolstra/move-flake-registryEelco Dolstra
Fetch flake-registry.json from channels.nixos.org
2022-06-24tests: enable ca-derivations for simple.nix in repl testsTom Bereknyei
2022-06-24Merge pull request #6698 from tweag/forbid-tilde-paths-in-pure-modeThéophane Hufschmitt
Forbid the tilde expansion in pure eval mode
2022-06-23Fetch flake-registry.json from channels.nixos.orgEelco Dolstra
Using fastly is slightly faster, provides some resilience due to a high stale TTL, and allows some usage metrics.
2022-06-22Enable/fix tests in nix-staticEelco Dolstra
pkgsStatic is apparently considered a cross environment, so checkPhase and installCheckPhase are disabled even when we ask for them.
2022-06-22tests/nix-shell: more meaningful testcaseMaximilian Bosch
2022-06-21Forbid the tilde expansion in pure eval modeThéophane Hufschmitt
Fix #6684
2022-06-20Add another test for `--exclude` in `nix search`Fishhh
2022-06-15Merge branch 'master' into nix-repl-flakesTom Bereknyei
2022-06-13nix-shell: restore backwards-compat with old nixpkgsMaximilian Bosch
Basically an attempt to resume fixing #5543 for a breakage introduced earlier[1]. Basically, when evaluating an older `nixpkgs` with `nix-shell` the following error occurs: λ ma27 [~] → nix-shell -I nixpkgs=channel:nixos-18.03 -p nix error: anonymous function at /nix/store/zakqwc529rb6xcj8pwixjsxscvlx9fbi-source/pkgs/top-level/default.nix:20:1 called with unexpected argument 'inNixShell' at /nix/store/zakqwc529rb6xcj8pwixjsxscvlx9fbi-source/pkgs/top-level/impure.nix:82:1: 81| 82| import ./. (builtins.removeAttrs args [ "system" "platform" ] // { | ^ 83| inherit config overlays crossSystem; This is a problem because one of the main selling points of Nix is that you can evaluate any old Nix expression and still get the same result (which also means that it *still evaluates*). In fact we're deprecating, but not removing a lot of stuff for that reason such as unquoted URLs[2] or `builtins.toPath`. However this property was essentially thrown away here. The change is rather simple: check if `inNixShell` is specified in the formals of an auto-called function. This means that { inNixShell ? false }: builtins.trace inNixShell (with import <nixpkgs> { }; makeShell { name = "foo"; }) will show `trace: true` while args@{ ... }: builtins.trace args.inNixShell (with import <nixpkgs> { }; makeShell { name = "foo"; }) will throw the following error: error: attribute 'inNixShell' missing This is explicitly needed because the function in `pkgs/top-level/impure.nix` of e.g. NixOS 18.03 has an ellipsis[3], but passes the attribute-set on to another lambda with formals that doesn't have an ellipsis anymore (hence the error from above). This was perhaps a mistake, but we can't fix it anymore. This also means that there's AFAICS no proper way to check if the attr-set that's passed to the Nix code via `EvalState::autoCallFunction` is eventually passed to a lambda with formals where `inNixShell` is missing. However, this fix comes with a certain price. Essentially every `shell.nix` that assumes `inNixShell` to be passed to the formals even without explicitly specifying it would break with this[4]. However I think that this is ugly, but preferable: * Nix 2.3 was declared stable by NixOS up until recently (well, it still is as long as 21.11 is alive), so most people might not have even noticed that feature. * We're talking about a way shorter time-span with this change being in the wild, so the fallout should be smaller IMHO. [1] https://github.com/NixOS/nix/commit/9d612c393abc3a73590650d24bcfe2ee57792872 [2] https://github.com/NixOS/rfcs/pull/45#issuecomment-488232537 [3] https://github.com/NixOS/nixpkgs/blob/release-18.03/pkgs/top-level/impure.nix#L75 [4] See e.g. the second expression in this commit-message or the changes for `tests/ca/nix-shell.sh`.
2022-06-13Merge pull request #6027 from Ma27/pure-replEelco Dolstra
repl: `--option pure-eval true` actually enables pure eval mode
2022-06-11fix sourcehut brach/tag resolving regressionGabriel Fontes
nixos/nix#6290 introduced a regex pattern to account for tags when resolving sourcehut refs. nixos/nix#4638 reafactored the code, accidentally treating the pattern as a regular string, causing all non-HEAD ref resolving to break. This fixes the regression and adds more test cases to avoid future breakage.
2022-06-07Merge pull request #6618 from afishhh/search-excludeEelco Dolstra
Add `-e`/`--exclude` flag to `nix search`
2022-06-07Use `grep -c` instead of `grep|wc -l` in some `nix search` testsFishhh
2022-06-07Add tests for `--exclude` flag in `nix search`Fishhh
2022-06-07Merge pull request #6598 from cole-h/update-flake-for-realEelco Dolstra
flake: update to 22.05
2022-06-07Fix 22.05 eval warningsEelco Dolstra
2022-06-02Merge branch 'master' into nix-repl-flakesTom Bereknyei
2022-06-02TypoEelco Dolstra
2022-06-02tests/flakes.sh: Fix some ignored breakageEelco Dolstra
2022-05-31repl: `--option pure-eval true` actually enables pure eval modeMaximilian Bosch
To quote Eelco in #5867: > Unfortunately we can't do > > evalSettings.pureEval.setDefault(false); > > because then we have to do the same in main.cc (where > pureEval is set to true), and that would allow pure-eval > to be disabled globally from nix.conf. Instead, a command should specify that it should be impure by default. Then, `evalSettings.pureEval` will be set to `false;` unless it's overridden by e.g. a CLI flag. In that case it's IMHO OK to be (theoretically) able to override `pure-eval` via `nix.conf` because it doesn't have an effect on commands where `forceImpureByDefault` returns `false` (i.e. everything where pure eval actually matters). Closes #5867
2022-05-31tests/nss-preload: move nix-fetch bindingCole Helbling
2022-05-25Handle EOFs in string literals correctlyEelco Dolstra
We can't return a STR token without setting a valid StringToken, otherwise the parser will crash. Fixes #6562.
2022-05-20Apply suggestions from code reviewtomberek
Co-authored-by: Théophane Hufschmitt <7226587+thufschmitt@users.noreply.github.com>
2022-05-20repl: add repl-flake experimental feature for gatingTom Bereknyei
2022-05-20repl: fix tests to run on any testing storeTom Bereknyei
2022-05-20Add some tests for the new REPL cliThéophane Hufschmitt
- Test that without the XP feature things work as before - Test that with or without the XP feature `--file file` works - Test that with XP feature passing a flakeref works - Test `:reload` with a flake
2022-05-19fetchTree: Allow fetching plain filesTony Olagbaiye
Add a new `file` fetcher type, which will fetch a plain file over http(s), or from the local file. Because plain `http(s)://` or `file://` urls can already correspond to `tarball` inputs (if the path ends-up with a know archive extension), the URL parsing logic is a bit convuluted in that: - {http,https,file}:// urls will be interpreted as either a tarball or a file input, depending on the extensions of the path part (so `https://foo.com/bar` will be a `file` input and `https://foo.com/bar.tar.gz` as a `tarball` input) - `file+{something}://` urls will be interpreted as `file` urls (with the `file+` part removed) - `tarball+{something}://` urls will be interpreted as `tarball` urls (with the `tarball+` part removed) Fix #3785 Co-Authored-By: Tony Olagbaiye <me@fron.io>
2022-05-18Merge pull request #6544 from ncfavier/getFlake-no-write-lock-fileThéophane Hufschmitt
Do not attempt to write a lock file in builtins.getFlake
2022-05-18Do not attempt to write a lock file in builtins.getFlakeNaïm Favier
Fixes https://github.com/NixOS/nix/issues/6541
2022-05-13Integrate review changesEli Kogan-Wang
2022-05-11Add priority for nix profile installEli Kogan-Wang
2022-05-05Merge pull request #6489 from alexshpilkin/fix-6488Eelco Dolstra
nix: Add forgotten null check in AttrCursor::getListOfStrings()
2022-05-05Make sure that `nix build` works in `--impure` modeThéophane Hufschmitt
Regression test for <https://github.com/NixOS/nix/issues/6488>
2022-05-05Change json example to be originalthkoch2001
Closes: #3391
2022-05-03nix profile: Support overriding outputsEelco Dolstra
2022-05-03Allow selecting derivation outputs using 'installable!outputs'Eelco Dolstra
E.g. 'nixpkgs#glibc^dev,static' or 'nixpkgs#glibc^*'.
2022-05-03Merge pull request #6426 from edolstra/respect-outputs-to-installEelco Dolstra
nix: Respect meta.outputsToInstall, and use all outputs by default
2022-05-03Merge pull request #6465 from layus/fix-test-crashesThéophane Hufschmitt
tests: Distinguish crashes from expected failures
2022-05-02tests/lang: Distinguish crashes from expected failuresGuillaume Maudoux
2022-05-02Revert "tests: Distinguish crashes from expected failures"Guillaume Maudoux
This reverts commit 143b73f52dabb35cd56551c24caef95466bce488.
2022-05-02Merge pull request #4638 from orbekk/read_headEelco Dolstra
Resolve reference for remote git repositories (makes fetchGit work with non-'master' branch)
2022-05-02tests: Don't create tests/resultEelco Dolstra
https://hydra.nixos.org/log/lns780srkka4dv7r69mn4zfy6fdij4yr-nix-2.9.0pre20220428_4bb111c.drv
2022-04-29Test fetchGit with non-'master' remote repoKjetil Orbekk
2022-04-29Resolve reference for remote repositoryKjetil Orbekk
Resolves the HEAD reference from the remote repository instead of assuming "master".
2022-04-29tests: Distinguish crashes from expected failuresGuillaume Maudoux