Robert Hensing
7c5a0b06a4
tests/nixos/remote-builds: Wait for multi-user
...
This should make the test more robust, considering the strange hang
in https://hydra.nixos.org/build/267517233/nixlog/8
`builder` seems to have reached `multi-user.target` before the
SSH connection was established, but this seems to be coincidental.
This does tell us that enforcing this has a minimal cost in terms
of runtime.
Waiting for `multi-user.target` on the client is honestly paranoid,
but flaky tests are very bad for productivity.
2024-07-27 13:08:30 +02:00
Robert Hensing
f4464873f5
tests/nixos/remote-builds: Print hello world to stderr
...
Trying to learn more about enigmatic spurious hang at
https://hydra.nixos.org/build/267517233/nixlog/8
- builder1 seems to have started properly
- ssh connection and session are established
- ssh client doesn't exit or client.succeed does not return
for some reason.
Seeing the stdout on the console might give a tiny bit more info.
2024-07-27 13:01:56 +02:00
Robert Hensing
861bd102a6
Merge pull request #11167 from NixOS/repl-test-rejiggle
...
Fix repl test for `buildReadlineNoMarkdown`
2024-07-27 00:55:57 +02:00
Eelco Dolstra
5e83c0427f
Fix test
2024-07-26 20:46:07 +02:00
Eelco Dolstra
06b686b62d
Handle tarballs that don't consist of a single top-level directory
...
Fixes #4785 (top-level directories are no longer merged into one).
Fixes #10983 (top-level non-directories are no longer discarded).
2024-07-26 20:24:58 +02:00
Ryan Hendrickson
6e3b9e6a4d
parser.y: eliminate conflicts
2024-07-25 15:48:58 -04:00
Robert Hensing
6ec123ad6b
Merge pull request #11131 from rhendric/rhendric/pipe-operators
...
libexpr: experimental pipe operators
2024-07-25 16:58:43 +02:00
Robert Hensing
76f04b4146
Merge pull request #11111 from NixOS/grep-safety-AGAIN
...
Grep newline safety
2024-07-25 16:30:33 +02:00
Robert Hensing
baa28159d3
Update tests/functional/test-infra.sh
...
Co-authored-by: John Ericson <John.Ericson@Obsidian.Systems>
2024-07-25 15:38:02 +02:00
John Ericson
36252fed6b
Merge pull request #11176 from obsidiansystems/flake-test-group
...
Put flake functional tests in their own group
2024-07-25 02:41:11 -04:00
Robert Hensing
6662c9012d
Merge pull request #11177 from obsidiansystems/skip-exit-code
...
Change skipped test error code from 99 to 77
2024-07-25 06:59:18 +02:00
John Ericson
90f7f2139e
Merge pull request #11115 from NixOS/doc-derivation
...
Document builtins.derivation
2024-07-25 00:21:53 -04:00
John Ericson
3b49f7a143
Deduplicate our many package.nix
a bit ( #11175 )
...
- They should all be built in parallel
- They should all use strict deps by default
2024-07-25 03:12:39 +00:00
John Ericson
dcbe2453f5
Change skipped test error code from 99 to 77
...
Meson uses a venerable GNU convention described in
https://www.gnu.org/software/automake/manual/html_node/Scripts_002dbased-Testsuites.html
in which:
> When no test protocol is in use, an exit status of 0 from a test
> script will denote a success, an exit status of 77 a skipped test, an
> exit status of 99 a hard error, and any other exit status will denote
> a failure.
77 is thus what we want, not 99.
2024-07-24 22:36:43 -04:00
John Ericson
f4915af71c
Put flake functional tests in their own group
...
This is a nice thing to have, and it made it easier to work on the
Meson-ifcation of these functional tests too.
2024-07-24 22:31:37 -04:00
Valentin Gagarin
e062021314
fix NIX_PATH
for real ( #11079 )
...
* fix NIX_PATH overriding
- test restricted evaluation
- test precedence for setting the search path
Co-authored-by: Robert Hensing <robert@roberthensing.nl>
Co-authored-by: John Ericson <git@JohnEricson.me>
2024-07-24 21:17:15 +00:00
Ryan Hendrickson
e086d5d899
libexpr: experimental pipe operators
2024-07-24 13:17:28 -04:00
Eelco Dolstra
3be7c0037e
WorkerProto: Support fine-grained protocol feature negotiation
...
Currently, the worker protocol has a version number that we increment
whenever we change something in the protocol. However, this can cause
a collision between Nix PRs / forks that make protocol changes
(e.g. PR #9857 increments the version, which could collide with
another PR). So instead, the client and daemon now exchange a set of
protocol features (such as `auth-forwarding`). They will use the
intersection of the sets of features, i.e. the features they both
support.
Note that protocol features are completely distinct from
`ExperimentalFeature`s.
2024-07-24 16:23:37 +02:00
Robert Hensing
6e680a6644
tests/functional/repl: Improve failure reporting
2024-07-24 12:48:38 +02:00
Robert Hensing
c4ae9bb45b
tests/functional/repl: Normalize final prompt
2024-07-24 12:48:38 +02:00
Robert Hensing
ca2cc26e12
tests/functional/repl: Improve precision and readability
...
... as well as match buildReadlineNoMarkdown.
Unfortunately it doesn't support long inputs or multiline inputs
for now.
This needs to make better use of the interacter interface.
2024-07-24 12:48:38 +02:00
Robert Hensing
4457cebe05
Update comment in tests//vars-and-functions.sh
...
Co-authored-by: tomberek <tomberek@users.noreply.github.com>
2024-07-23 10:24:18 +02:00
Eelco Dolstra
babfd0cd99
Merge pull request #11150 from hercules-ci/issue-11141-broken-sp-corrector
...
Fix issue #11141 broken stack pointer corrector
2024-07-22 19:59:46 +02:00
John Ericson
046cc8cbb3
Merge pull request #11156 from obsidiansystems/fix-bsd-pthread
...
Fix some BSD builds missing pthread functions
2024-07-22 13:58:41 -04:00
John Ericson
00fd180a79
Merge pull request #11153 from nix-windows/wine-ci
...
Run unit tests with wine
2024-07-22 13:35:32 -04:00
John Ericson
d3cee8160c
Add missing threads deps
2024-07-22 11:46:54 -04:00
Robert Hensing
f2e0cecf34
tests/functional/lang-gc: Disable for now
2024-07-22 17:46:08 +02:00
Eelco Dolstra
d08bb025e1
Merge pull request #11043 from hercules-ci/assert-eq
...
`assert`: Report why values aren't equal
2024-07-22 17:34:28 +02:00
John Ericson
eea63d5f99
Run unit tests with wine
...
Fix #10547
The tests do not all run successfully, but that is a separate issue.
2024-07-22 10:31:26 -04:00
John Ericson
dc6dbbc1a5
Test exes do not need dev outputs
2024-07-22 10:26:05 -04:00
Eelco Dolstra
40f80e1b5c
Merge pull request #11142 from detroyejr/fix-alias-flags
...
Allow flag aliases
2024-07-22 15:53:41 +02:00
Robert Hensing
380becf0db
Fix #11141 broken sp corrector
2024-07-22 14:52:08 +02:00
Robert Hensing
584f8cb065
Merge pull request #11120 from tweag/early-string-cutoff
...
parser: Remove empty multiline string parts earlier
2024-07-20 19:10:50 +02:00
detroyejr
d54dfbf879
addFlag: test that alias flags are allowed
2024-07-19 15:56:54 -04:00
Silvan Mosberger
0c91bb97e5
parser: Remove empty multiline string parts earlier
...
Makes parsing more consistent and is a super minor optimisation
Co-authored-by: Robert Hensing <roberth@users.noreply.github.com>
2024-07-19 00:43:44 +02:00
Farid Zakaria
57399bfc0e
Refactor unix domain socket store config ( #11109 )
...
Following what is outlined in #10766 refactor the uds-remote-store such
that the member variables (state) don't live in the store itself but in
the config object.
Additionally, the config object includes a new necessary constructor
that takes a scheme & authority.
Tests are commented out because of linking errors with the current config system.
When there is a new config system we can reenable them.
Co-authored-by: John Ericson <John.Ericson@Obsidian.Systems>
2024-07-17 23:32:27 -04:00
Eelco Dolstra
1e1a8e8ad1
Merge pull request #11058 from hercules-ci/more-nix-shell
...
Make `#!nix-shell` arguments and options relative to script
2024-07-17 21:52:34 +02:00
Eelco Dolstra
b23da1ceca
Merge pull request #11100 from NixOS/pretty-print-idempotent
...
Pretty print idempotently
2024-07-17 21:35:27 +02:00
Eelco Dolstra
05751de32b
Merge pull request #10931 from hercules-ci/test-run-and-shell-envs
...
Test the `run` and `shell` envs for stray variables
2024-07-17 21:21:14 +02:00
Robert Hensing
da3eff60bc
printList: Force item before determining whether to print multi-line
2024-07-17 13:42:05 +02:00
Robert Hensing
a0635a80b2
printAttrs: Force item before determining whether to print multi-line
2024-07-17 13:42:05 +02:00
Robert Hensing
ece334b532
tests/functional/repl: Characterize side effecting print behavior
...
Reported on matrix by aleksana:
https://matrix.to/#/!VRULIdgoKmKPzJZzjj:nixos.org/$7wZp5lUDTd-_u6MYo8kWWcysjtqTiQqP8dLI0RDNVVM?via=nixos.org&via=matrix.org&via=nixos.dev
2024-07-17 13:42:05 +02:00
Silvan Mosberger
9fae50ed4b
Add parser test for indented strings
...
So that in the next commit we can see what changes about this test
2024-07-17 02:43:47 +02:00
Las Safin
5b6a21acc5
Avoid casting function pointer in libutil test support
...
Casting function pointers seems to be almost always UB.
See https://stackoverflow.com/questions/559581/casting-a-function-pointer-to-another-type
Fixed by doing the casting of `void*` to `std::string*` inside the function instead.
Caught by UBSan.
2024-07-16 22:01:34 +00:00
Robert Hensing
7dce074634
tests/functional/lang: Avoid /usr/bin/env for sandbox
2024-07-16 22:43:56 +02:00
Robert Hensing
f9a1d6b018
tests/functional/lang: Add post processing and remove certain line numbers
2024-07-16 17:36:30 +02:00
Robert Hensing
74698d54c8
Document builtins.derivation
2024-07-16 17:20:09 +02:00
John Ericson
4bbadba83a
Merge pull request #11108 from obsidiansystems/remote-store-constructors
...
Ensure we can construct remote store configs in isolation
2024-07-15 22:51:22 -04:00
Robert Hensing
41a03738d6
tests/functional: Also keep plain grep calls safe from newlines
2024-07-16 01:54:12 +02:00
Robert Hensing
644b97ce25
tests/functional: Make our grep* helpers reject newlines in the query
...
Newlines behave like *OR*; not "and then".
2024-07-16 01:41:22 +02:00
Robert Hensing
f2df3f0c6c
tests/vars-and-functions: Add callerPrefix helper
2024-07-16 01:40:33 +02:00
Robert Hensing
783a8341ee
tests/functional: Support negative codes in expect, expectStderr
2024-07-16 01:32:54 +02:00
John Ericson
808082ea03
Ensure we can construct remote store configs in isolation
...
Progress towards #10766
I thought that #10768 achieved, but when I went to use this stuff (in
Hydra), turns out it did not. (Those `using FooConfig;` lines were not
working --- they are so finicky!) This PR gets the job done, and adds
some trivial unit tests to make sure I did what I intended.
I had to add add a header to expose `SSHStoreConfig`, after which the
preexisting `ssh-store-config.*` were very confusingly named files, so I
renamed them to `common-ssh-store-config.hh` to match the type defined
therein.
2024-07-15 17:32:49 -04:00
Goldstein
1bec90e3c4
tests/functional/repl.sh: fail test on wrong stdout
...
Previous test implementation assumed that grep supports newlines
in patterns. It doesn't, so tests spuriously passed, even though
some tests outputs were broken.
This patches output (and expected output) before grepping,
so there're no newlines in pattern.
2024-07-15 23:11:26 +03:00
Robert Hensing
61a4d3d45c
getSnippetUpTo: Return optional
...
This makes it possible to certain discern failures from empty
snippets, which I think is an ok review comment.
Maybe it should do so for swapped column indexes too, but I'm not
sure.
I don't think it matters in the grand scheme. We don't even have
a real use case for `nullopt` now anyway.
Since we don't have a use case, I'm not applying this logic to
higher level functions yet.
2024-07-15 20:10:45 +02:00
Robert Hensing
8a855296f5
tests/function/repl: Characterise the missing doc comment behavior
2024-07-15 19:56:40 +02:00
Robert Hensing
f9243eca75
tests/functional/repl.sh: Work around GHA failure
2024-07-15 19:56:40 +02:00
Robert Hensing
cef11b23e8
Add missing .sh in _NIX_TEST_ACCEPT=1 message
2024-07-15 19:56:40 +02:00
Robert Hensing
d4f576b0b2
nix repl: Render docs for attributes
2024-07-15 19:56:40 +02:00
Robert Hensing
7fae378835
Track doc comments and render them in :doc
2024-07-15 19:56:40 +02:00
Robert Hensing
e5af7cbeb9
libutil: Add Pos::getSnippetUpTo(Pos)
2024-07-15 18:41:11 +02:00
Robert Hensing
d3e49ac881
dropEmptyInitThenConcatStringsSep -> concatStringSep: shortRefs are not empty
2024-07-13 03:06:24 +02:00
Robert Hensing
a681d354e7
Add fresh concatStringsSep without bug
...
The buggy version was previously renamed to
dropEmptyInitThenConcatStringsSep
2024-07-13 03:06:24 +02:00
Robert Hensing
1a8defd06f
Refactor: rename C++ concatStringsSep -> dropEmptyInitThenConcatStringsSep
2024-07-13 03:05:50 +02:00
John Ericson
bc83b9dc1f
Remove comparator.hh
and switch to <=>
in a bunch of places
...
Known behavior changes:
- `MemorySourceAccessor`'s comparison operators no longer forget to
compare the `SourceAccessor` base class.
Progress on #10832
What remains for that issue is hopefully much easier!
2024-07-12 14:54:18 -04:00
John Ericson
337a5a23b7
Merge pull request #11089 from NixOS/warnings-includes
...
Fix warnings and optimize includes
2024-07-12 10:29:26 -04:00
Robert Hensing
8df041cbc6
Solve unused header warnings reported by clangd
2024-07-12 15:37:54 +02:00
John Ericson
3fc77f281e
No global settings in libnixfetchers
and libnixflake
...
Progress on #5638
There are still a global fetcher and eval settings, but they are pushed
down into `libnixcmd`, which is a lot less bad a place for this sort of
thing.
Continuing process pioneered in
52bfccf8d8
.
2024-07-12 08:50:28 -04:00
Robert Hensing
4fd8f19ecf
Fix build to use CanonPath in new FSO sinks
2024-07-11 12:14:48 +02:00
Robert Hensing
86420753ec
Merge remote-tracking branch 'upstream/master' into support-hardlinks-in-tarballs
2024-07-11 11:43:02 +02:00
Robert Hensing
d942d505ca
Merge remote-tracking branch 'upstream/master' into more-nix-shell
2024-07-10 16:19:18 +02:00
John Ericson
1439de874f
Merge pull request #11063 from obsidiansystems/config-expr
...
Forgot to include `config-expr.hh` in two places
2024-07-08 11:27:57 -04:00
John Ericson
c5284a84f3
Forgot to include config-expr.hh
in some places
2024-07-08 10:37:34 -04:00
Robert Hensing
cfe3ee3de8
nix-shell
: look up shell.nix
when argument is a directory (#11057 )
...
* Refactor: rename runEnv -> isNixShell
* Refactor: rename left -> remainingArgs
* nix-build.cc: Refactor: extract baseDir variable
* nix-build.cc: Refactor: extract sourcePath, resolvedPath variables
* nix-shell: Look for shell.nix when directory is specified
* Add legacy setting: nix-shell-always-looks-for-shell-nix
* rl-next: Add note about shell.nix lookups
* tests/functional/shell.nix: Implement runHook for dummy stdenv
2024-07-08 14:36:36 +02:00
Robert Hensing
193dd5d934
Fixup: add missing test file
2024-07-07 14:49:52 +02:00
Robert Hensing
3e424b1040
Merge branch 'nix-shell-lookup-shell-nix' into more-nix-shell
2024-07-07 14:16:15 +02:00
Robert Hensing
e1106b45a3
tests/functional/nix-shell.sh: Fix Polo test for VM test
...
It is unclear to me why this worked when not in a VM test, but the
explanation would be in the part of nix-shell we're getting rid of
with the devShell attribute.
2024-07-07 13:03:19 +02:00
Robert Hensing
0f8a655023
tests/functional/shell.nix: Implement runHook for dummy stdenv
2024-07-07 13:02:21 +02:00
Robert Hensing
2f1fada76b
Add legacy setting: nix-shell-always-looks-for-shell-nix
2024-07-07 01:22:00 +02:00
Robert Hensing
73602a7c6f
nix-shell: Look for shell.nix when directory is specified
2024-07-07 01:22:00 +02:00
Robert Hensing
63262e78c7
Add opt-out: nix-shell-shebang-arguments-relative-to-script
2024-07-07 00:55:33 +02:00
Robert Hensing
f5b59fbc64
Fix and extend nix-shell baseDir test
2024-07-07 00:23:22 +02:00
Robert Hensing
8838f5c746
Merge remote-tracking branch 'matthewbauer/nix-shell-relative-shebang' into more-nix-shell
2024-07-07 00:18:03 +02:00
Robert Hensing
32fb127b9c
Add legacy setting: nix-shell-always-looks-for-shell-nix
2024-07-06 23:05:34 +02:00
Robert Hensing
b865625a8e
nix-shell: Look for shell.nix when directory is specified
2024-07-06 23:05:34 +02:00
Robert Hensing
bea54d116e
Add resolvePath, filesetToSource indirections for Nixpkgs
2024-07-06 19:49:55 +02:00
Robert Hensing
0729f0a113
packaging: Pass version directly
2024-07-06 17:52:57 +02:00
Robert Hensing
0b901e10ee
Merge pull request #11050 from hercules-ci/issue-10677
...
Explain when `man` is missing
2024-07-05 22:25:38 +02:00
Eelco Dolstra
d5461b9009
Merge pull request #11051 from Mic92/fix-prefetch
...
src/nix/prefetch: fix prefetch containing current directory instead o…
2024-07-05 20:33:05 +02:00
Robert Hensing
ddff76f667
Merge pull request #10973 from NixOS/meson-libexpr
...
Meson build for libexpr libflake, external C API, unit tests
2024-07-05 20:27:12 +02:00
Jörg Thalheim
8cea1fbd97
src/nix/prefetch: fix prefetch containing current directory instead of tarball
...
When --unpack was used the nix would add the current directory to the
nix store instead of the content of unpacked.
The reason for this is that std::distance already consumes the iterator.
To fix this we re-instantiate the directory iterator in case the
directory only contains a single entry.
2024-07-05 19:18:49 +02:00
Robert Hensing
6ef00a503a
Explain when man is missing
...
Have you seen this man?
Fixes #10677
2024-07-05 19:18:23 +02:00
Eelco Dolstra
8f280d72ff
Merge pull request #11019 from DeterminateSystems/fix-failed-to-open-archive
...
Tarball fetcher: Fix handling of cached tarballs
2024-07-05 17:10:02 +02:00
Robert Hensing
d63bd8295e
assert: Report why values aren't equal
2024-07-05 16:43:48 +02:00
Eelco Dolstra
e1b6b3ce27
Merge pull request #11020 from DeterminateSystems/fix-tarball-caching
...
Tarball fetcher: Fix fetchToStore() and eval caching
2024-07-05 16:30:12 +02:00
Eelco Dolstra
e7e070d36b
Document
2024-07-05 16:29:16 +02:00
John Ericson
e4056b9afd
Apply suggestions from code review
...
Co-authored-by: Robert Hensing <roberth@users.noreply.github.com>
2024-07-04 17:48:27 -04:00
Eelco Dolstra
1ff186fc6e
nix flake metadata: Show flake fingerprint
...
This is useful for testing/debugging and maybe for sharing eval caches
(since it tells you what file in ~/.cache/nix/eval-cache-v5 to copy).
2024-07-03 17:00:30 +02:00
John Ericson
30de61f16d
Merge pull request #11018 from siddhantk232/canonpath-fs-sink
...
Use `CanonPath` in `fs-sink.hh`
2024-07-03 10:36:18 -04:00
Eelco Dolstra
8bdd0ecd80
Add a test
2024-07-03 15:57:05 +02:00
siddhantCodes
2cf24a2df0
fix tests and minor changes
...
- use the iterator in `CanonPath` to count `level`
- use the `CanonPath::basename` method
- use `CanonPath::root` instead of `CanonPath{""}`
- remove `Path` and `PathView`, use `std::filesystem::path` directly
2024-07-03 17:43:55 +05:30
John Ericson
b0bc2a97bf
Put unit tests back in old build system for now
2024-07-02 09:26:22 -04:00
John Ericson
451f8a8c19
Put back files for now
...
We'll revert this sometime later
2024-07-02 09:26:22 -04:00
John Ericson
17a8c2bfce
Unit tests and external libraries
2024-07-02 09:23:24 -04:00
John Ericson
31257009e1
Meson build for libexpr and libflake
2024-07-02 09:23:24 -04:00
Jörg Thalheim
101915c9b7
enable -Werror=unused-result
...
Inspired by
010ff57ebb
From the original PR:
> We do not have any of these warnings appearing at the moment, but
> it seems like a good idea to enable [[nodiscard]] checking anyway.
> Once we start introducing more functions with must-use conditions we will
> need such checking, and the rust stdlib has proven them very useful.
2024-07-02 08:46:06 +02:00
Eelco Dolstra
6600b1c7e0
tests/functional/flakes/eval-cache.sh: Don't write a result symlink in the wrong location
2024-07-01 19:10:41 +02:00
Robert Hensing
f0329568b5
GitFileSystemObjectSink: catch an overflow
2024-07-01 17:29:07 +02:00
Robert Hensing
a409c1a882
Start unit testing GitFileSystemObjectSink
2024-07-01 17:29:07 +02:00
Robert Hensing
992912f3b4
test-support: Add TracingFileSystemObjectSink
2024-07-01 17:29:07 +02:00
Eelco Dolstra
10c9764c27
Merge pull request #10992 from hercules-ci/issue-10947-dont-cache-disallowed-ifd
...
Fix #10947 ; don't cache disallowed IFD
2024-07-01 11:20:27 +02:00
siddhantCodes
72bb530141
use CanonPath
in fs-sink
and its derivatives
2024-06-30 19:03:15 +05:30
Robert Hensing
b2c7f09b0a
Fix underflow in Printer::printList
...
Analogous to 9b88bf8adf
/ three commits back
2024-06-29 14:10:58 +02:00
Robert Hensing
9b88bf8adf
Fix underflow in Printer::printAttrs
...
The code that counts the number of elided attrs incorrectly used the
per-printer "global" attribute counter instead of a counter that
was relevant only to the current attribute set.
This bug flew under the radar because often the attribute sets aren't
nested, not big enough, or we wouldn't pay attention to the numbers.
I've noticed the issue because the difference underflowed.
Although this behavior is tested by the functional test
lang/eval-fail-bad-string-interpolation-4.nix, the underflow slipped
through review. A simpler reproducer would be as follows, but I
haven't added it to the test suite to keep it simple and marginally
faster.
```
$ nix run nix/2.23.1 -- eval --expr '"" + (let v = { a = { a = 1; b = 2; c = 1; d = 1; e = 1; f = 1; g = 1; h = 1; }; b = { a = 1; b = 1; c = 1; }; }; in builtins.deepSeq v v)'
error:
… while evaluating a path segment
at «string»:1:6:
1| "" + (let v = { a = { a = 1; b = 2; c = 1; d = 1; e = 1; f = 1; g = 1; h = 1; }; b = { a = 1; b = 1; c = 1; }; }; in builtins.deepSeq v v)
| ^
error: cannot coerce a set to a string: { a = { a = 1; b = 2; c = 1; d = 1; e = 1; f = 1; g = 1; h = 1; }; b = { a = 1; «4294967289 attributes elided» }; }
```
2024-06-29 13:53:05 +02:00
Robert Hensing
fd94b74ee5
Fix #10947 ; don't cache disallowed IFD
2024-06-29 13:19:04 +02:00
Cole Helbling
9e9730ef0f
Test that commit-lock-file-summary and its alias work
2024-06-28 14:53:40 -07:00
John Ericson
0084a486cc
Split out a new libnixflake
...
Co-authored-by: Robert Hensing <roberth@users.noreply.github.com>
2024-06-26 19:56:21 -04:00
John Ericson
8a420162ab
Merge branch 'master' into fix-sandbox-escape
2024-06-26 18:11:39 -04:00
Robert Hensing
85de5a60c7
Use lib instead of explicit fileset passing
2024-06-26 04:11:20 +02:00
John Ericson
65d7c80365
Merge pull request #10955 from NixOS/meson-nix-util-c
...
Build nix-util-c with meson + unit tests
2024-06-25 19:06:06 -04:00
Robert Hensing
ac89828b5a
Build nix-util-c with meson and unit test
2024-06-25 21:35:23 +02:00
Robert Hensing
7df9d6da65
Improve error messages for invalid derivation names
2024-06-25 19:41:29 +02:00
John Ericson
5c497a992b
Merge pull request #10922 from hercules-ci/functional-tests-on-nixos
...
Run the functional tests in a NixOS environment
2024-06-24 13:36:13 -04:00
Robert Hensing
c66f1e7660
Merge pull request #10913 from NixOS/no-global-eval-settings-in-libexpr
...
No global eval settings in `libnixexpr`
2024-06-24 18:52:19 +02:00
John Ericson
fda4c78921
Merge pull request #10951 from obsidiansystems/load-just-one-config
...
Small global config refactors
2024-06-24 12:38:04 -04:00
John Ericson
52bfccf8d8
No global eval settings in libnixexpr
...
Progress on #5638
There is still a global eval settings, but it pushed down into
`libnixcmd`, which is a lot less bad a place for this sort of thing.
2024-06-24 12:15:16 -04:00
Robert Hensing
5a7ccd6580
tests/functional: Print all args of fail()
2024-06-24 18:11:58 +02:00
Robert Hensing
d4ca634508
tests/functional: Differentiate die and fail
2024-06-24 18:11:10 +02:00
Robert Hensing
602c444411
Merge remote-tracking branch 'upstream/master' into functional-tests-on-nixos
2024-06-24 18:07:21 +02:00
John Ericson
1620ad4587
Split out GlobalConfig
into its own header
...
This makes it easier to understand the reach of global variables /
global state in the config system.
2024-06-24 11:36:21 -04:00
John Ericson
b51e161af5
Cleanup ContentAddressMethod
to match docs
...
The old `std::variant` is bad because we aren't adding a new case to
`FileIngestionMethod` so much as we are defining a separate concept ---
store object content addressing rather than file system object content
addressing. As such, it is more correct to just create a fresh
enumeration.
Co-authored-by: Robert Hensing <roberth@users.noreply.github.com>
2024-06-24 10:24:06 -04:00
John Ericson
64e599ebe1
Rename Recursive
-> NixArchive
...
For enums:
- `FileIngestionMethod`
- `FileSerialisationMethod`
2024-06-24 10:24:06 -04:00
Robert Hensing
6f64154eea
Merge pull request #10884 from tomberek/tomberek.warn_structuredAttrs_advanced
...
fix: warn and document when advanced attributes will have no impact d…
2024-06-24 07:56:26 +02:00
HaeNoe
7fb14201af
Unit test for derivation "advanced attrs"
...
This tests the parser and JSON format using the DRV files from the tests
added in the previous commit.
Co-Authored-By: John Ericson <John.Ericson@Obsidian.Systems>
2024-06-23 21:42:56 -04:00
HaeNoe
9f9984e4d0
Functional test for derivation "advanced attrs"
...
This tests the Nix language side of things.
We are purposely skipping most of `common.sh` because it is overkill for
this test: we don't want to have an "overfit" test environment.
Co-Authored-By: John Ericson <John.Ericson@Obsidian.Systems>
2024-06-23 21:42:56 -04:00
John Ericson
490ca93cf8
Factor out a bit more language testings infra
...
Will be used in a second test after `lang.sh`.
2024-06-23 15:33:45 -04:00
Eelco Dolstra
d54590fdf3
Fix --no-sandbox
...
When sandboxing is disabled, we cannot put $TMPDIR underneath an
inaccessible directory.
2024-06-21 17:06:19 +02:00
Théophane Hufschmitt
1d3696f0fb
Run the builds in a daemon-controled directory
...
Instead of running the builds under
`$TMPDIR/{unique-build-directory-owned-by-the-build-user}`, run them
under `$TMPDIR/{unique-build-directory-owned-by-the-daemon}/{subdir-owned-by-the-build-user}`
where the build directory is only readable and traversable by the daemon user.
This achieves two things:
1. It prevents builders from making their build directory world-readable
(or even writeable), which would allow the outside world to interact
with them.
2. It prevents external processes running as the build user (either
because that somehow leaked, maybe as a consequence of 1., or because
`build-users` isn't in use) from gaining access to the build
directory.
2024-06-21 17:06:19 +02:00
Théophane Hufschmitt
717f3eea39
Add a test for the user sandboxing
2024-06-21 17:06:18 +02:00
Robert Hensing
d9684664c8
Revert "tests/functional/common/init.sh: Use parentheses around negation"
...
ShellCheck doesn't want us to add extra parentheses for show.
This reverts commit 7c9f3eeef8
.
2024-06-20 22:31:32 +02:00
Robert Hensing
dcee46a0ef
Apply suggestions from code review
...
Co-authored-by: Valentin Gagarin <valentin.gagarin@tweag.io>
2024-06-20 14:54:11 +02:00
Robert Hensing
7c9f3eeef8
tests/functional/common/init.sh: Use parentheses around negation
...
roberth: Not strictly necessary, but probably a good habit
Co-authored-by: Eelco Dolstra <edolstra@gmail.com>
2024-06-20 14:54:11 +02:00
Robert Hensing
648302b833
tests/functional: Enable more tests in NixOS VM
2024-06-20 14:54:11 +02:00
Robert Hensing
d208e9dd9f
tests: Add quickBuild to all VM tests
2024-06-20 14:54:11 +02:00
Robert Hensing
8557d79650
tests/functional: Skip tests that don't work in NixOS environment yet
2024-06-20 14:54:11 +02:00
Robert Hensing
211aec473e
tests/functional/timeout.sh: Find missing test case
...
This reproduces an instance of
https://github.com/NixOS/nix/issues/4813
2024-06-20 14:54:11 +02:00
Robert Hensing
439022c5ac
tests: Add hydraJobs.tests.functional_*
2024-06-20 14:54:11 +02:00
PoweredByPie
8b81d083a7
Remove lookupPathForProgram and implement initial runProgram test
...
Apparently, CreateProcessW already searches path, so manual path search
isn't really necessary.
2024-06-18 01:01:52 -07:00
PoweredByPie
4f6e3b9402
Implement tests for lookupPathForProgram and fix bugs caught by tests
2024-06-17 18:46:08 -07:00
PoweredByPie
d7537f6955
Implement initial spawn tests (just testing windowsEscape for now)
2024-06-17 14:58:17 -07:00
Robert Hensing
316b58dd5f
tests/shell.sh: Check that env is mostly unmodified
2024-06-17 17:03:58 +02:00
Robert Hensing
68b8a28bc4
tests/run.sh: Check that env is mostly unmodified
2024-06-17 17:03:58 +02:00
Robert Hensing
2894c1b38e
WIP add testresults output
2024-06-16 16:34:54 +02:00
Robert Hensing
573e385a68
Merge pull request #10907 from hercules-ci/issue-10561
...
C API: Use opaque struct instead of void for `nix_value`
2024-06-15 10:12:13 +02:00
Robert Hensing
2dc7598779
C API: Add nix_clear_err
2024-06-14 16:30:34 +02:00
Robert Hensing
b94e1d6218
C API: Value -> nix_value
...
See issue https://github.com/NixOS/nix/issues/10434
2024-06-13 18:51:58 +02:00
Robert Hensing
0b56c98b1c
C API: Value -> nix_value
2024-06-13 18:18:36 +02:00
Eelco Dolstra
1dc7c8e599
eval-fail-infinite-recursion-lambda: Reduce recursion depth
...
This prevents the test from failing in environments with a smaller
configured stack size.
2024-06-13 13:55:42 +02:00
John Ericson
33241887d1
More quote coalescing
2024-06-12 17:47:54 -04:00
John Ericson
d8ae28617d
Try to fix quotes that don't go to end with sed
2024-06-12 17:41:16 -04:00
Cameron Dart
2d467b4731
housekeeping: shellcheck for tests/functional/import-derivation.sh
2024-06-12 17:41:16 -04:00
Cameron Dart
1c93360989
housekeeping: shellcheck for tests/functional/hash-path.sh
2024-06-12 17:41:16 -04:00
Cameron Dart
d1c476865a
housekeeping: shellcheck for tests/functional/gc-runtime.sh
2024-06-12 17:41:16 -04:00
Cameron Dart
cd46ec17f9
housekeeping: shellcheck for tests/functional/function-trace.sh
2024-06-12 17:41:16 -04:00
Cameron Dart
b764dd9aa4
housekeeping: shellcheck for tests/functional/flakes/unlocked-override.sh
2024-06-12 17:41:16 -04:00
Cameron Dart
e1ce349d05
housekeeping: shellcheck for tests/functional/flakes/search-root.sh
2024-06-12 17:41:16 -04:00
Cameron Dart
b9768b4872
housekeeping: shellcheck for tests/functional/flakes/mercurial.sh
2024-06-12 17:41:16 -04:00
Cameron Dart
c7b3468968
housekeeping: shellcheck for tests/functional/flakes/inputs.sh
2024-06-12 17:41:16 -04:00
Cameron Dart
d95adb531e
housekeeping: shellcheck for tests/functional/flakes/init.sh
2024-06-12 17:41:16 -04:00
Cameron Dart
71d5baca47
housekeeping: shellcheck for tests/functional/flakes/flake-in-submodule.sh
2024-06-12 17:41:16 -04:00
Cameron Dart
3b853e795b
housekeeping: shellcheck for tests/functional/flakes/circular.sh
2024-06-12 17:41:16 -04:00
Cameron Dart
ece86b7191
housekeeping: shellcheck for tests/functional/flakes/bundle.sh
2024-06-12 17:41:16 -04:00
Cameron Dart
ee57c610ae
housekeeping: shellcheck for tests/functional/flakes/build-paths.sh
2024-06-12 17:41:16 -04:00
Cameron Dart
d81fd4a1c3
housekeeping: shellcheck for tests/functional/flakes/absolute-attr-paths.sh
2024-06-12 17:41:16 -04:00
Cameron Dart
ae6a842c55
housekeeping: shellcheck for tests/functional/filter-source.sh
2024-06-12 17:41:16 -04:00
Cameron Dart
224f5515b9
housekeeping: shellcheck for tests/functional/fetchTree-file.sh
...
Co-authored-by: Sandro <sandro.jaeckel@gmail.com>
2024-06-12 17:41:16 -04:00
Cameron Dart
f0492a6197
housekeeping: shellcheck for tests/functional/fetchPath.sh
2024-06-12 17:41:16 -04:00
Cameron Dart
823d53c643
housekeeping: shellcheck for tests/functional/experimental-features.sh
2024-06-12 17:41:16 -04:00
Cameron Dart
1c1abefdd2
housekeeping: shellcheck for tests/functional/dyn-drv/text-hashed-output.sh
2024-06-12 17:41:16 -04:00
Cameron Dart
847842c4bb
housekeeping: shellcheck for tests/functional/derivation-json.sh
2024-06-12 17:41:16 -04:00
Cameron Dart
58a653dcc6
housekeeping: shellcheck for tests/functional/compression-levels.sh
2024-06-12 17:41:16 -04:00
Cameron Dart
48520cb71e
housekeeping: shellcheck for tests/functional/chroot-store.sh
2024-06-12 17:41:16 -04:00
Cameron Dart
63272235e2
housekeeping: shellcheck for tests/functional/case-hacks.sh
...
Co-authored-by: Sandro <sandro.jaeckel@gmail.com>
2024-06-12 17:41:16 -04:00
Cameron Dart
4f04006bc1
housekeeping: shellcheck for tests/functional/check-reqs.sh
2024-06-12 17:41:16 -04:00
Cameron Dart
d7bb5bde48
housekeeping: shellcheck for tests/functional/check-refs.sh
2024-06-12 17:41:16 -04:00
Cameron Dart
259b502773
housekeeping: shellcheck for tests/functional/ca/substitute.sh
2024-06-12 17:41:16 -04:00
Cameron Dart
04876c39e4
housekeeping: shellcheck for tests/functional/ca/signatures.sh
2024-06-12 17:41:16 -04:00
Cameron Dart
8f85537629
housekeeping: shellcheck for tests/functional/ca/nix-run.sh
2024-06-12 17:41:16 -04:00
Cameron Dart
deacc421eb
housekeeping: shellcheck for tests/functional/ca/nix-copy.sh
2024-06-12 17:41:16 -04:00
Cameron Dart
195c0da849
housekeeping: shellcheck for tests/functional/ca/duplicate-realisation-in-closure.sh
2024-06-12 17:41:16 -04:00
Cameron Dart
2dfbba3e5e
housekeeping: shellcheck for tests/functional/ca/derivation-json.sh
2024-06-12 17:41:16 -04:00
Cameron Dart
627176fd54
housekeeping: shellcheck for tests/functional/ca/build.sh
2024-06-12 17:41:16 -04:00
Cameron Dart
80c44138cb
housekeeping: shellcheck for tests/functional/ca/build-cache.sh
...
Co-authored-by: Sandro <sandro.jaeckel@gmail.com>
2024-06-12 17:41:16 -04:00
Cameron Dart
c127625095
housekeeping: shellcheck for tests/functional/build-dry.sh
2024-06-12 17:41:16 -04:00
Cameron Dart
f615489e0e
housekeeping: shellcheck for tests/functional/build-delete.sh
2024-06-12 17:41:16 -04:00
Cameron Dart
7186c68f75
housekeeping: shellcheck for tests/functional/brotli.sh
...
Co-authored-by: Sandro <sandro.jaeckel@gmail.com>
2024-06-12 17:41:15 -04:00
Cameron Dart
aeed835a2e
housekeeping: shellcheck for tests/functional/binary-cache.sh
...
Co-authored-by: Sandro <sandro.jaeckel@gmail.com>
2024-06-12 17:41:08 -04:00
Cameron Dart
4a28ba7877
housekeeping: shellcheck for tests/functional/binary-cache-build-remote.sh
2024-06-12 16:58:25 -04:00
Cameron Dart
7738b295e5
housekeeping: shellcheck for tests/functional/bash-profile.sh
2024-06-12 16:58:25 -04:00
John Ericson
7c2981fc55
Fix FreeBSD build
...
This restores some CPP'd code that was added in
c18911602e
and accidentally lost in
2477e4e3b8
.
Co-authored-by: Eelco Dolstra <edolstra@gmail.com>
2024-06-12 15:59:54 -04:00