Fix #1762
nix-store --export, nix-store --dump, and nix dump-path would previously fail silently if writing the data out failed, because a) FdSink::write ignored exceptions, and b) the commands relied on FdSink's destructor, which ignores exceptions, to flush the data out. This could cause rather opaque issues with installing nixos, because nix-store --export would happily proceed even if it couldn't write its data out (e.g. if nix-store --import on the other side of the pipe failed). This commit adds tests that expose these issues in the nix-store commands, and fixes them for all three.
Showing
- src/libutil/serialise.cc 2 additions, 1 deletionsrc/libutil/serialise.cc
- src/nix-store/nix-store.cc 2 additions, 0 deletionssrc/nix-store/nix-store.cc
- src/nix/dump-path.cc 1 addition, 0 deletionssrc/nix/dump-path.cc
- tests/export.sh 5 additions, 0 deletionstests/export.sh
- tests/nar-access.sh 6 additions, 0 deletionstests/nar-access.sh
Loading
Please register or sign in to comment