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
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
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
Eelco Dolstra
bd37a70d8f
Update tests/functional/tarball.sh
...
Co-authored-by: Robert Hensing <roberth@users.noreply.github.com>
2024-06-11 19:39:42 +02:00
Eelco Dolstra
35bdb9cee7
Support hard links in tarballs
...
Fixes #10395 .
2024-06-11 16:05:57 +02:00
Robert Hensing
de3fd52a95
Add tests/f/lang/eval-okay-derivation-legacy
2024-06-10 16:31:46 +02:00
John Ericson
b0283240a1
Merge pull request #10864 from Mic92/tarball-flakes-test
...
tests/nixos: make the tarball-flakes test better reflect real use cases
2024-06-05 18:40:16 -04:00
John Ericson
1a32490aca
Merge pull request #10835 from hercules-ci/update-nixpkgs-24.05
...
Update to Nixpkgs 24.05
2024-06-05 17:56:16 -04:00
Pierre Bourdon
162d94d975
tests/nixos: make the tarball-flakes test better reflect real use cases
...
In most real world cases, the Link header is set on the redirect, not on
the final file. This regressed in Lix earlier and while new unit tests
were added to cover it, this integration test should probably have also
caught it.
Source: a3256a9375
2024-06-05 20:14:24 +02:00
Robert Hensing
5d460d563e
TMP: Disable tests.setuid.i686-linux
...
Temporarily(?) blocked on https://github.com/NixOS/nixpkgs/pull/297475#issuecomment-2145589501
2024-06-03 18:47:53 +02:00
Robert Hensing
27f880c098
Format after clang-format update
2024-06-03 18:38:56 +02:00
Robert Hensing
8a510f4ede
Add tests.remoteBuilds_*_2_18
2024-06-03 17:34:55 +02:00
Robert Hensing
efc2508e8b
Refactor hydraJobs.tests.remoteBuilds_*_2_18
2024-06-03 17:34:55 +02:00
Robert Hensing
6558025e77
Fix eval remoteBuilds_*_2_13
2024-06-03 17:34:55 +02:00
Robert Hensing
449e4b9232
Change checkOverrideNixVersion for NixOS 24.05
2024-06-03 17:34:55 +02:00
Eelco Dolstra
da92ad7dd2
Merge pull request #10592 from hercules-ci/builtins-warn
...
Add `builtins.warn`
2024-06-03 17:16:32 +02:00
Robert Hensing
da82d67022
builtins.warn: Require string argument
...
... so that we may perhaps later extend the interface.
Note that Nixpkgs' lib.warn already requires a string coercible
argument, so this is reasonable. Also note that string coercible
values aren't all strings, but in practice, for warn, they are.
2024-06-03 16:24:21 +02:00
Robert Hensing
2d4c9d8f4a
Add builtins.warn
2024-06-03 16:24:21 +02:00
Eelco Dolstra
54a9fbe5d6
Merge remote-tracking branch 'origin/master' into large-path-warning
2024-06-03 16:17:52 +02:00
Eelco Dolstra
d07cdbd9c2
Merge pull request #10834 from obsidiansystems/fix-shellcheck
...
Fix shellcheck issue
2024-06-03 16:14:41 +02:00
Eelco Dolstra
ac3e5d22e3
Merge pull request #10028 from DavHau/fetchTree-shallow-default
...
fetchTree: shallow git fetching by default
2024-06-03 16:02:34 +02:00
John Ericson
1e99f324d9
Fix shellcheck issue
...
8b86f415c1
was merged from a CI run that
predated the new linting.
2024-06-03 09:36:48 -04:00
Eelco Dolstra
7f5b57d18f
Merge remote-tracking branch 'origin/master' into large-path-warning
2024-06-03 15:32:27 +02:00
Eelco Dolstra
ecfad6a828
Merge pull request #10564 from edolstra/remove-forceErrors
...
AttrCursor: Remove forceErrors
2024-06-03 15:30:01 +02:00
Eelco Dolstra
d16fcaee21
Merge pull request #10782 from obsidiansystems/both-connections
...
Factor our connection code for worker proto like serve proto
2024-06-03 15:10:38 +02:00
John Ericson
c6add8873e
Merge pull request #9995 from NixOS/json-empty-sigs
...
`ValidPathInfo` JSON format should use `null` not omit field
2024-06-03 08:58:49 -04:00
Robert Hensing
de5050f73b
Merge pull request #9590 from wh0/patch-1
...
nix-profile: fix both profile links detection
2024-06-03 14:37:08 +02:00
John Ericson
84c65135a5
ValidPathInfo
JSON format should use null
not omit field
...
Co-authored-by: Robert Hensing <roberth@users.noreply.github.com>
Co-authored-by: Robert Hensing <roberth@users.noreply.github.com>
2024-06-03 08:21:22 -04:00
Robert Hensing
f8bd4ba561
Merge pull request #10827 from SkamDart/skamdart/functional-add-sc
...
housekeeping: shellcheck test/functional/add.sh
2024-06-03 12:31:39 +02:00
Cameron Dart
6a507f5d3b
housekeeping: shellcheck test/functional/add.sh
2024-06-02 13:41:51 -07:00
Ivan Trubach
68090d7ff1
Fix empty outputsToInstall for InstallableAttrPath
...
Fixes assertion failure if outputsToInstall is empty by defaulting to the "out"
output. That is, behavior between the following commands should be consistent:
$ nix build --no-link --json .#nothing-to-install-no-out
error: derivation '/nix/store/eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee-nothing-to-install-no-out.drv' does not have wanted outputs 'out'
$ nix build --no-link --file default.nix --json nothing-to-install-no-out
error: derivation '/nix/store/eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee-nothing-to-install-no-out.drv' does not have wanted outputs 'out'
Real-world example of this issue:
$ nix build --json .#.legacyPackages.aarch64-linux.texlive.pkgs.iwona
error: derivation '/nix/store/dj0h6b0pnlnan5nidnhqa0bmzq4rv6sx-iwona-0.995b.drv' does not have wanted outputs 'out'
$ git rev-parse HEAD
eee33247cf6941daea8398c976bd2dda7962b125
$ nix build --json --file . texlive.pkgs.iwona
nix: src/libstore/outputs-spec.hh:46: nix::OutputsSpec::Names::Names(std::set<std::__cxx11::basic_string<char> >&&): Assertion `!empty()' failed.
Aborted (core dumped)
2024-06-02 14:26:18 +03:00