mirror of
https://github.com/privatevoid-net/nix-super.git
synced 2024-11-23 14:36:16 +02:00
68c81c7375
I think it is bad for these reasons when `tests/` contains a mix of functional and integration tests - Concepts is harder to understand, the documentation makes a good unit vs functional vs integration distinction, but when the integration tests are just two subdirs within `tests/` this is not clear. - Source filtering in the `flake.nix` is more complex. We need to filter out some of the dirs from `tests/`, rather than simply pick the dirs we want and take all of them. This is a good sign the structure of what we are trying to do is not matching the structure of the files. With this change we have a clean: ```shell-session $ git show 'HEAD:tests' tree HEAD:tests functional/ installer/ nixos/ ```
21 lines
793 B
Bash
21 lines
793 B
Bash
#!/usr/bin/env bash
|
|
|
|
source common.sh
|
|
|
|
# In the corresponding nix file, we have two derivations: the first, named `hello`,
|
|
# is a normal recursive derivation, while the second, named dependent, has the
|
|
# new outputHashMode "text". Note that in "dependent", we don't refer to the
|
|
# build output of `hello`, but only to the path of the drv file. For this reason,
|
|
# we only need to:
|
|
#
|
|
# - instantiate `hello`
|
|
# - build `producingDrv`
|
|
# - check that the path of the output coincides with that of the original derivation
|
|
|
|
out1=$(nix build -f ./text-hashed-output.nix hello --no-link)
|
|
|
|
clearStore
|
|
|
|
drvDep=$(nix-instantiate ./text-hashed-output.nix -A producingDrv)
|
|
|
|
expectStderr 1 nix build "${drvDep}^out^out" --no-link | grepQuiet "Building dynamic derivations in one shot is not yet implemented"
|