mirror of
https://github.com/NixOS/nix
synced 2025-06-25 02:21:16 +02:00
This fixes dynamic derivations, reverting #9081.
I believe that this time around, #9052 is fixed. When I first rebased
this, tests were failing (which wasn't the case before). The cause of
those test failures were due to the crude job in which the outer goal
tried to exit with the inner goal's status.
Now, that error handling has been reworked to be more faithful. The exit
exit status and exception of the inner goal is returned by the outer
goal. The exception was what was causing the test failures, but I
believe it was not having the right error code (there is more than one
for failure) that caused #9081.
The only cost of doing things the "right way" was that I had to
introduce a hacky `preserveException` boolean. I don't like this, but,
then again, none of us like anything about how the scheduler works.
Issue #11927 is still there to clean everything up, subsuming the need
for any `preserveException` because I doubt we will be fishing
information out of state machines like this at all.
This reverts commit 8440afbed7
.
Co-Authored-By: Eelco Dolstra <edolstra@gmail.com>
20 lines
400 B
Meson
20 lines
400 B
Meson
configure_file(
|
|
input : 'config.nix.in',
|
|
output : 'config.nix',
|
|
configuration : test_confdata,
|
|
)
|
|
|
|
suites += {
|
|
'name': 'dyn-drv',
|
|
'deps': [],
|
|
'tests': [
|
|
'text-hashed-output.sh',
|
|
'recursive-mod-json.sh',
|
|
'build-built-drv.sh',
|
|
'eval-outputOf.sh',
|
|
'failing-outer.sh',
|
|
'dep-built-drv.sh',
|
|
'old-daemon-error-hack.sh',
|
|
],
|
|
'workdir': meson.current_source_dir(),
|
|
}
|