Eelco Dolstra
e8f951289f
EvalState: Don't maintain stats by default
...
These counters are extremely expensive in a multi-threaded
program. For instance, disabling them speeds up evaluation of the
NixOS/nix/2.21.2 from 32.6s to 17.8s.
2025-09-25 08:03:24 +02:00
Eelco Dolstra
8d257f5510
EvalState: Make the counters atomic
2025-09-25 08:03:24 +02:00
Jörg Thalheim
f3416913d4
Merge pull request #14069 from fzakaria/fzakaria/shellcheck-compute-levels
...
shellcheck fix for functional/compute-levels.sh
2025-09-25 07:52:56 +02:00
John Ericson
7f9867b548
Merge pull request #14076 from fzakaria/fzakaria/shellcheck-functional-dyn-drv-build-built-drv
...
shellcheck fix functional/dyn-drv/build-built-drv.sh
2025-09-25 01:51:21 -04:00
Jörg Thalheim
8ff5aeb367
Merge pull request #14065 from obsidiansystems/realisation-json-unit-test
...
Add JSON tests for `Realisation`
2025-09-25 07:42:15 +02:00
Jörg Thalheim
31695f3690
Merge branch 'master' into fzakaria/shellcheck-compute-levels
2025-09-25 07:39:25 +02:00
Jörg Thalheim
5d6af1243a
Merge branch 'master' into fzakaria/shellcheck-functional-dyn-drv-build-built-drv
2025-09-25 07:35:10 +02:00
Farid Zakaria
bc13130497
shellcheck fix tests/functional/dyn-drv/dep-built-drv.sh ( #14078 )
2025-09-25 03:28:16 +00:00
John Ericson
d1958e1b2c
Merge pull request #14066 from fzakaria/fzakaria/shellcheck-install-multi-user
...
shellcheck fix scripts/install-multi-user.sh
2025-09-24 23:00:16 -04:00
John Ericson
d0e2babee1
Merge pull request #14072 from fzakaria/fzakaria/shellcheck-functional-debugger
...
shellcheck fix: functional/debugger.sh
2025-09-24 22:58:32 -04:00
John Ericson
d2595130c6
Merge pull request #14074 from fzakaria/fzakaria/shellcheck-functional-dependencies
...
shellcheck fix functional/dependencies.sh
2025-09-24 22:57:09 -04:00
John Ericson
db25195bb2
Merge pull request #14077 from fzakaria/fzakaria/shellcheck-dyn-drv-common
...
shellcheck fix functional/dyn-drv/common.sh
2025-09-24 22:51:55 -04:00
John Ericson
5842aa2cac
Merge pull request #14070 from fzakaria/fzakaria/shellcheck-functional-config.sh
...
shellcheck fix functional/config.sh
2025-09-24 22:47:21 -04:00
John Ericson
1e1c6d1042
Merge pull request #14068 from fzakaria/fzakaria/shellcheck-functional-completions.sh
...
shellcheck fix tests/functional/completions.sh
2025-09-24 22:44:32 -04:00
Farid Zakaria
614ef6cfb1
shellcheck fix functional/dyn-drv/common.sh
2025-09-24 19:18:30 -07:00
Farid Zakaria
59791082fa
shellcheck fix functional/dyn-drv/build-built-drv.sh
2025-09-24 19:17:12 -07:00
Farid Zakaria
98f716f78c
Revert change for SC2059 for nix_user_for_core
2025-09-24 19:13:46 -07:00
Farid Zakaria
c7c74fec67
shellcheck fix functional/dependencies.sh
2025-09-24 19:11:00 -07:00
Farid Zakaria
67d43f3b12
shellcheck fix: functional/debugger.sh
2025-09-24 19:06:23 -07:00
Farid Zakaria
832100f543
shellcheck fix functional/config.sh
2025-09-24 18:59:41 -07:00
Farid Zakaria
2732812524
Enable shellcheck for functional/compute-levels.sh
2025-09-24 18:57:30 -07:00
Farid Zakaria
92f8f87dd1
shellcheck fix tests/functional/completions.sh
2025-09-24 18:56:00 -07:00
Farid Zakaria
c77b15a178
shellcheck fix scripts/install-multi-user.sh
2025-09-24 18:49:53 -07:00
John Ericson
30691c38c2
Add JSON tests for Realisation
2025-09-24 18:09:24 -04:00
John Ericson
9f26c20ebd
Merge pull request #14057 from obsidiansystems/derived-path-json
...
Modernize and test derived path JSON
2025-09-24 18:08:06 -04:00
John Ericson
f2cd6235a7
Merge pull request #14056 from obsidiansystems/better-output-spec-json-tests
...
Convert `{Extended,}OutputsSpec` JSON tests to characterization tests
2025-09-24 17:41:25 -04:00
Sergei Zimmerman
05279f2ba0
Merge pull request #14061 from xokdvium/k-way-update
...
libexpr: Preparation for more k-way updates of attribute sets (NFC)
2025-09-25 00:29:54 +03:00
John Ericson
19fa132a8c
Merge pull request #14049 from NixOS/per-object-fs-accessor
...
Create a second `Store::getFSAccessor` for a single store object
2025-09-24 17:29:10 -04:00
John Ericson
a97d6d89d8
Create a second Store::getFSAccessor for a single store object
...
This is sometimes easier / more performant to implement, and
independently it is also a more convenient interface for many callers.
The existing store-wide `getFSAccessor` is only used for
- `nix why-depends`
- the evaluator
I hope we can get rid of it for those, too, and then we have the option
of getting rid of the store-wide method.
Co-authored-by: Sergei Zimmerman <sergei@zimmerman.foo>
2025-09-24 15:49:14 -04:00
Sergei Zimmerman
97ce7759d0
libexpr: Use same naive iterative merging but with evalForUpdate
2025-09-24 21:47:59 +03:00
Jörg Thalheim
0175f7e836
Merge pull request #14059 from xokdvium/formatting-ci
...
ci: Split formatting check into a separate job, gate other jobs
2025-09-24 13:29:22 +02:00
Jörg Thalheim
00775ad83c
Apply suggestion from @getchoo
...
Co-authored-by: Seth Flynn <getchoo@tuta.io>
2025-09-24 13:14:00 +02:00
Sergei Zimmerman
9789019a50
libexpr: Move *StackReservation constants to gc-small-vector.hh
...
There are other places where it's useful to use these constants
(notably in eval.hh).
2025-09-24 01:05:18 +03:00
Sergei Zimmerman
b7c6cf900f
libexpr: Explicitly define ExprOpUpdate
2025-09-24 01:04:26 +03:00
Sergei Zimmerman
e282175f48
libexpr: Split out MakeBinOpMembers from MakeBinOp
2025-09-24 01:04:23 +03:00
Sergei Zimmerman
35d8ffe01d
ci: Split formatting check into a separate job, gate other jobs
...
This makes the CI fail fast and more explicitly in case the formatting
is incorrect and provides a better error messages. This also ensures
that we don't burn CI on useless checks for code that wouldn't pass lints
anyway.
2025-09-24 00:34:35 +03:00
John Ericson
d23e59bb6b
Modernize and test derived path JSON
...
Old code is now just used for `nix build` --- there is no CLI breaking
change.
Test the new format, too.
The new format is not currently used, but will be used going forward,
for example in the C API.
Progress on #13570
2025-09-23 15:05:56 -04:00
Eelco Dolstra
73d3ab05b6
Merge pull request #14054 from obsidiansystems/to-json-no-copy
...
Fix `JSON_IMPL` macro to avoid extraneous copies
2025-09-23 20:58:12 +02:00
John Ericson
f24e00710e
Convert {Extended,}OutputsSpec JSON tests to characterization tests
...
This brings them in line with the other tests, and furthers my goals of
separating unit test data from code.
Doing this cleanup as part of my #13570 effort, but strictly-speaking,
this is separate as these data types' JSON never contained and store
paths or store dirs, just simple output name strings.
2025-09-23 14:47:00 -04:00
Eelco Dolstra
03440946cd
Merge pull request #14055 from obsidiansystems/rm-pointless-std-visit
...
Remove some pointless `std::visit`
2025-09-23 20:14:33 +02:00
John Ericson
1c71cb4005
Remove some pointless std::visit
...
These are not needed, because the `toJSON` methods are already
implemented for the variant wrapper too.
2025-09-23 13:59:27 -04:00
John Ericson
af71a9dbd9
Fix JSON_IMPL macro to avoid extraneous copies
...
Should take the thing we're serializing by reference.
2025-09-23 13:05:12 -04:00
John Ericson
d9de675357
Merge pull request #14027 from obsidiansystems/more-ca-tests
...
More floating content-addressing derivation tests
2025-09-22 17:09:39 -04:00
John Ericson
7ea31c6e56
Run multiple outputs and build-delete test for CA drvs also
2025-09-22 16:54:30 -04:00
Jörg Thalheim
af82c847a7
Merge pull request #14048 from roberth/shellcheck
...
Shellcheck
2025-09-22 21:57:42 +02:00
Robert Hensing
8a9d9bb0e9
pre-commit: Remove exclusion for removed file
2025-09-22 21:06:26 +02:00
Robert Hensing
4183308ee2
tests/func*/characterisation-test-infra: Fix shellcheck
2025-09-22 21:06:26 +02:00
Robert Hensing
993ea14f52
pre-commit: Remove exclude that passes
2025-09-22 21:06:26 +02:00
Robert Hensing
926287d813
tests/func*/ca/common: Fix shellcheck
2025-09-22 21:06:26 +02:00
Robert Hensing
8c31e07cce
tests/func*/ca/build-with-garbage-path: Fix shellcheck
2025-09-22 21:06:26 +02:00