eldritch horrors
2e1f5e2666
Merge pull request #9105 from Ericson2314/split-out-nixos-tests
...
Define NixOS tests in `tests/nixos/default.nix` rather than `flake.nix`
(cherry picked from commit c29b8ba142
)
Change-Id: Ieae1b6476d95024485df7067e008013bc5542039
2024-03-05 21:11:59 +01:00
eldritch horrors
96a3683308
Ban building Nix with NDEBUG
...
When reviewing old PRs, I found that #9997 adds some code to ensure one
particular assert is always present. But, removing asserts isn't
something we do in our own release builds either in the flake here or in
nixpkgs, and is plainly a bad idea that increases support burden,
especially if other distros make bad choices of build flags in their Nix
packaging.
For context, the assert macro in the C standard is defined to do nothing
if NDEBUG is set.
There is no way in our build system to set -DNDEBUG without manually
adding it to CFLAGS, so this is simply a configuration we do not use.
Let's ban it at compile time.
I put this preprocessor directive in src/libutil.cc because it is not
obvious where else to put it, and it seems like the most logical file
since you are not getting a usable nix without it.
Upstream-PR: https://github.com/NixOS/nix/pull/10126
Original-Change-Id: I513cceaac1371decb3d96231e6ef9181c910c218
Change-Id: I531a51f6348a746e8e41d88203b08f614898356c
2024-03-04 09:24:58 +01:00
eldritch horrors
647d762ab5
Merge pull request #9933 from pennae/debugger-fix
...
fix debugger crashing while printing envs
(cherry picked from commit 9b8b486091
)
Change-Id: Ica6a17e4b3e3b8b8093719f442c28be7f13be09d
2024-03-04 08:57:44 +01:00
eldritch horrors
9ef32cf3b8
Merge pull request #9930 from rvl/print-dev-env-unbound-variables
...
print-dev-env: Avoid using unbound shellHook variable
(cherry picked from commit 25385a408e
)
Change-Id: Id1aca13942adfa628f7bdcfc0b6fc03bb3bab9ea
2024-03-04 08:51:49 +01:00
eldritch horrors
74272a9bc4
Merge pull request #9861 from 9999years/colored-diff-in-lang-tests
...
Color `diff` output in `tests/functional/lang` tests
(cherry picked from commit 1dc55c0f2f
)
Change-Id: Ie9b3fc3446bd3caa0fd8885de88639516a2ff862
2024-03-04 08:50:00 +01:00
eldritch horrors
2bb0a06346
Merge pull request #9841 from obsidiansystems/float-speed-factor
...
Convert `Machine::speedFactor` from a non-neg int to a non-neg float
(cherry picked from commit 69d0ae27e3
)
Change-Id: I2afb5cf9e4fe1384985c58353946135c3d102b42
2024-03-04 08:40:38 +01:00
eldritch horrors
044c117a9f
Merge pull request #9481 from iFreilicht/disallow-nix-search-without-search-terms
...
nix search: Disallow empty regex
(cherry picked from commit 1c260fa6d1
)
Change-Id: Iaaf3605c24a342fcb05d0b534a9f305533d3b5fa
2024-03-04 08:40:12 +01:00
eldritch horrors
b6bb869e52
Merge pull request #9632 from cole-h/nix-daemon-testing
...
Use `nix daemon` in the test suite
(cherry picked from commit e6e160a075
)
Change-Id: I537a25d3d48f609cd77b2c3a8ad68e87aebabfe8
2024-03-04 08:17:32 +01:00
eldritch horrors
e81ee8b337
Merge pull request #9785 from hercules-ci/test-substring-negative
...
tests/functional/lang: Test substring with negative length
(cherry picked from commit 86156d05dd
)
Change-Id: I2e2086027a43f8111ba5068ac16590eaa0b798d4
2024-03-04 08:07:16 +01:00
eldritch horrors
2c85fcce87
Merge pull request #9747 from awakesecurity/mz/fix-quadratic-splitString
...
Fix performance of builtins.substring for empty substrings
(cherry picked from commit b2deff1947
)
Change-Id: I4ddfc8d26a4781c9520fff9807849a073ee7bed8
2024-03-04 08:06:36 +01:00
eldritch horrors
e310bbf913
Merge pull request #8043 from bobvanderlinden/pr-shell-env
...
nix: develop: use SHELL from rc script
(cherry picked from commit 0d55d660d5
)
Change-Id: I83be6c63b282d7f01a0defa78d9e787c77f1f02d
2024-03-04 07:59:32 +01:00
eldritch horrors
180984178d
Merge pull request #9648 from cole-h/nix-shell-ordering
...
nix shell: reflect command line order in PATH order
(cherry picked from commit b91c935c2f
)
Change-Id: If16c120bb74857c2817366e74e5b0877eb997260
2024-03-04 07:50:55 +01:00
eldritch horrors
5f2eaa1b35
Merge pull request #9662 from shlevy/flat-fixed-references-assert
...
Improve error message for fixed-outputs with references.
(cherry picked from commit ff6de4a9ee
)
Change-Id: I733c49760b9a3f1b76a6bece3b250b8579cd6cac
2024-03-04 07:50:02 +01:00
eldritch horrors
96f1a404d0
Merge pull request #9617 from 9999years/stack-overflow-segfault
...
Fix segfault on infinite recursion in some cases
(cherry picked from commit bf1b294bd8
)
Change-Id: Id137541426ec8536567835953fccf986a3aebf16
2024-03-04 07:35:20 +01:00
eldritch horrors
859da103ae
Merge pull request #9637 from 9999years/fix-logging-test-on-macos
...
Fix `logging.sh` test on macOS
(cherry picked from commit 94a03a810e
)
Change-Id: I65dde18ee53ccded31790e0cf1f836c3ad6dc492
2024-03-04 07:26:34 +01:00
eldritch horrors
2ddf453e0d
Merge pull request #9619 from 9999years/remove-blank-lines-in-errors
...
Remove some blank lines from stack traces
(cherry picked from commit cea8354436
)
Change-Id: Ic1af8b09e9994d3c69fd3b37ae47a4bb786a15a1
2024-03-04 07:23:44 +01:00
eldritch horrors
7614aa9797
Merge pull request #4093 from matthewbauer/eval-system
...
Add eval-system option
(cherry picked from commit 071dbbee33
)
Change-Id: Ia81358c8cfb60241da07a4d0e84b9ee62a18a53f
2024-03-04 07:21:01 +01:00
eldritch horrors
13f78c557b
Merge pull request #9589 from obsidiansystems/floating-content-addressing-derivations-eval-store
...
Fix building CA derivations with and eval store
(cherry picked from commit dfc0cee702
)
Change-Id: I28feb5a36d4fe75f0ed3e3e2db6eb56b67d0f371
2024-03-04 07:15:08 +01:00
eldritch horrors
2ba9788003
Merge pull request #9555 from 9999years/positions-in-errors
...
Pass positions when evaluating
(cherry picked from commit c8458bd731
)
Change-Id: I1b4a5d58973be6264ffdb23b4492da200fdb71be
2024-03-04 07:11:25 +01:00
eldritch horrors
e9243c849a
Merge pull request #9529 from wh0/patch-1
...
tests: avoid a chroot store without sandbox support
(cherry picked from commit 5910140f25
)
Change-Id: Ic2255261334012f36a465a96073f50669952dc26
2024-03-04 07:11:25 +01:00
eldritch horrors
4018fcb9b8
Merge pull request #9233 from bouk/bouk/apply-config-inner
...
config: add included files into parsedContents before applying
(cherry picked from commit 82359eba6b
)
Change-Id: Idde3177010fec7b8bafe6088c3c23d5caf491845
2024-03-04 07:11:25 +01:00
eldritch horrors
a089d8f5f6
Merge pull request #9465 from obsidiansystems/build-dir
...
Use `buildprefix` in a few more places
(cherry picked from commit b6a3fde6b7
)
Change-Id: I2790663fa9f8242ac2db6582b7e421d2fdf42942
2024-03-04 07:11:25 +01:00
eldritch horrors
c208e918e5
fix: nlohmann::adl_serializer
for std::optional
( #9147 )
...
This allows templates such as `NLOHMANN_DEFINE_TYPE_*` templates and other generators with things like `std::vector<std::optional<T>>`.
Co-authored-by: John Ericson <John.Ericson@Obsidian.Systems>
(cherry picked from commit 02bd821f2e
)
Change-Id: I8b0ebcf2af4226610dadd565962f2d2327415a03
2024-03-04 07:11:25 +01:00
eldritch horrors
340a6cf977
Merge pull request #9257 from Artturin/nixenvjsondrvpath
...
`nix-env --query`: fix `--json` ignoring `--drv-path`
(cherry picked from commit 516e7ddc41
)
Change-Id: I84b5bccea9d0383e2e74544743b703942e7be547
2024-03-04 05:59:15 +01:00
eldritch horrors
3f3badffc9
Merge pull request #9395 from nbraud/buitlins
...
builtins.concatMap: Fix typo in error message
(cherry picked from commit 4292d99756
)
Change-Id: Ia33d1b02e41f699ef0c8c2d6487c9f70b2cc8cf4
2024-03-04 05:56:04 +01:00
eldritch horrors
5e182235cb
Merge pull request #7348 from thufschmitt/dont-use-vlas
...
Remove the usage of VLAs in the code
(cherry picked from commit ac4431e9d0
)
Change-Id: Ifbf5fbfc2e27122362a2aaea4b62c7cf3ca46b1a
2024-03-04 05:51:23 +01:00
eldritch horrors
1b135e6e7b
Fix boost::bad_format_string
exception in builtins.addErrorContext
( #9291 )
...
* Fix boost::bad_format_string exception in builtins.addErrorContext
The message passed to addTrace was incorrectly being used as a format
string and this this would cause an exception when the string contained
a '%', which can be hit in places where arbitrary file paths are
interpolated.
* add test
(cherry picked from commit 61d6fe059e
)
Change-Id: Idd671127a9c1ccc8b94e58e727632fcc064f3cbe
2024-03-04 05:39:12 +01:00
eldritch horrors
8ed486ebe6
Merge pull request #9225 from drupol/nixpkgs-pr-107251/make-gnutar-reproducible
...
fix: make sure `tar` reproducibility flags are set
(cherry picked from commit 28dddde0ac
)
Change-Id: I57c4d4374f5195099e6d763827b6d7d05785b3a8
2024-03-04 05:34:19 +01:00
eldritch horrors
2633ca3f88
Merge pull request #9288 from edolstra/fix-nar-access-test
...
Fix nar-access test on macOS
(cherry picked from commit e9a857e418
)
Change-Id: I2fd2ec3e6ccb88350bdcd2ba15ccfd77275399c9
2024-03-04 05:27:18 +01:00
eldritch horrors
7ff1dca1fa
Merge pull request #9247 from obsidiansystems/derivation-test-with-files
...
Turn derivation unit tests into unit characterization tests
(cherry picked from commit a6e587923c
)
Change-Id: Ia2a2e65aabfee8d5d52142b8fdaacbae4a27242c
2024-03-04 05:21:10 +01:00
eldritch horrors
ea10088703
Merge pull request #9216 from obsidiansystems/addDrvOutputDependencies-pre
...
Add `builtins.addDrvOutputDependencies`
(cherry picked from commit a58d7f143e
)
Change-Id: Ia5a1790bf29dfaf29287cc35cdae6b6d650e7a83
2024-03-04 05:06:56 +01:00
eldritch horrors
032eff7f69
Merge pull request #8470 from ncfavier/shebang-single-quotes
...
nix-shell: support single quotes in shebangs, fix whitespace parsing
(cherry picked from commit 3b99c62913
)
Change-Id: I2a431b21c3467eefa1ef95d5a36d672f45b6937a
2024-03-04 05:06:32 +01:00
eldritch horrors
7f590ea709
Merge pull request #6223 from obsidiansystems/worker-proto-with-version
...
Give `nix daemon` and `nix-store --serve` protocols separate serializers with version info
(cherry picked from commit 8b68bbb777
)
Change-Id: Ia3d3b9fbaf9f0ae62ab225020b7d14790e793655
2024-03-04 04:59:31 +01:00
Robert Hensing
ab40b2c5d0
Merge pull request #9157 from obsidiansystems/protocol-versions
...
Add protocol versions to `{Worker,Serve}Proto::*Conn`
(cherry picked from commit 4d17c59d8d
)
Change-Id: I497af39deb792e50c157a1305d8c9e722798740b
2024-03-04 04:43:35 +01:00
eldritch horrors
5ddd1a9166
Merge pull request #9168 from obsidiansystems/fix-lang-tests-read-only
...
Fix language tests a bit
(cherry picked from commit e92cac789f
)
Change-Id: I527e94c5af0921ff2559ce5a4ac7635be791c22e
2024-03-04 04:42:21 +01:00
eldritch horrors
d28a6618a8
Merge pull request #9167 from obsidiansystems/pre-overhaul-completions
...
Improve tests and docs prior to refactoring completions
(cherry picked from commit 5442d9b472
)
Change-Id: Ief99ac2cd9c92981a9a522d15b9c3daf99182c9d
2024-03-04 04:38:33 +01:00
eldritch horrors
e12e9f2452
Merge pull request #9137 from obsidiansystems/serve-protocol
...
Introduce separate Serve protocol serialisers
(cherry picked from commit d070d8b746
)
Change-Id: Ibcc8639e8997bcd07f7a5318330a147bcadc411b
2024-03-04 04:37:05 +01:00
eldritch horrors
6897e238bd
Merge pull request #9099 from obsidiansystems/common-proto
...
Factor out bits of the worker protocol to use elsewhere
(cherry picked from commit 4b1a97338f
)
Change-Id: If93afa0f8b1cf9b0e705b34fa71e6fd708752758
2024-03-04 04:36:58 +01:00
eldritch horrors
fd1299cef3
Merge pull request #9106 from Ericson2314/positive-source-filtering
...
Use positive source filtering for the standalone functional tests job and Perl bindings
(cherry picked from commit 6b6bd90030
)
Change-Id: I896be67654f893d543ed6beb5d0d0d6c6d36e027
2024-03-04 04:36:42 +01:00
eldritch horrors
4517de00cb
Merge pull request #8905 from hercules-ci/no-unknown-location
...
Don't print unknown locations unless requested for dev purposes
(cherry picked from commit 3dd4475826
)
Change-Id: I04a91277d1d9d09f5c1bf4a28fc99f0702b161e5
2024-03-04 04:36:38 +01:00
eldritch horrors
c36ba796dd
Merge pull request #9096 from NixOS/dont-rebuild-twice-on-ci
...
Don't run the tests that require building if we're not building
(cherry picked from commit 8cfa582f43
)
Change-Id: I6085ca6107349669407340d7a5e52639a2febc90
2024-03-04 04:36:33 +01:00
eldritch horrors
7e966819b5
Merge pull request #9098 from obsidiansystems/test-proto
...
Enable most of the third `BuildResult` worker protocol test
(cherry picked from commit d344c112f7
)
Change-Id: I7b2b72aa84c19a6069f9c12128d901262db6f91c
2024-03-04 04:36:28 +01:00
eldritch horrors
ea0008deea
Merge pull request #9094 from obsidiansystems/test-proto
...
Test the rest of the worker protocol serializers
(cherry picked from commit 2f1c16dfa2
)
Change-Id: Idfd72d32b21d14a260e02f65531d287cef7464d2
2024-03-04 04:36:23 +01:00
eldritch horrors
f17e7b1855
Merge pull request #8923 from obsidiansystems/test-proto
...
Unit test some worker protocol serializers
(cherry picked from commit c6faef61a6
)
Change-Id: I99e36f5f17eb7642211a4e42a16b143424f164b4
2024-03-04 04:36:14 +01:00
Eelco Dolstra
bef68e53b9
Fix symlink handling
...
This restores the symlink handling behaviour prior to
94812cca98
.
Fixes #9298 .
(cherry picked from commit 31ebc6028b
)
2024-01-21 20:53:30 +00:00
Shea Levy
ba48ab4b95
Merge branch '2.18-maintenance' into ifd-buildStore-2.18
2024-01-11 07:21:16 -05:00
Shea Levy
e7c2b35827
Build IFD in the build store when using eval-store.
...
Previously, IFDs would be built within the eval store, even though one
is typically using `--eval-store` precisely to *avoid* local builds.
Because the resulting Nix expression must be copied back to the eval
store in order to be imported, this requires the eval store to trust
the build store's signatures.
(cherry picked from commit c3942ef85f
)
2024-01-11 06:34:27 -05:00
Shea Levy
be208d8e78
remote-store test: Break out IFD expression into a separate file
...
(cherry picked from commit 9cb287657b
)
2024-01-11 06:30:02 -05:00
John Ericson
615bd655e5
Add missing -pthread
for test support libraries
...
This is good in general (see how the other libraries also have long had
it, since 49fe9592a4
) but in particular
needed to fix the NetBSD build.
(cherry picked from commit b23273f6a2
)
2023-12-05 23:44:41 +00:00
John Ericson
f7f37035c8
Move tests to separate directories, and document
...
Today, with the tests inside a `tests` intermingled with the
corresponding library's source code, we have a few problems:
- We have to be careful that wildcards don't end up with tests being
built as part of Nix proper, or test headers being installed as part
of Nix proper.
- Tests in libraries but not executables is not right:
- It means each executable runs the previous unit tests again, because
it needs the libraries.
- It doesn't work right on Windows, which doesn't want you to load a
DLL just for the side global variable . It could be made to work
with the dlopen equivalent, but that's gross!
This reorg solves these problems.
There is a remaining problem which is that sibbling headers (like
`hash.hh` the test header vs `hash.hh` the main `libnixutil` header) end
up shadowing each other. This PR doesn't solve that. That is left as
future work for a future PR.
Co-authored-by: Valentin Gagarin <valentin.gagarin@tweag.io>
(cherry picked from commit 91b6833686
)
(cherry picked from commit a61e42adb528b3d40ce43e07c79368d779a8b624)
2023-12-01 13:05:03 -05:00