aboutsummaryrefslogtreecommitdiff
path: root/tests/install-darwin.sh
AgeCommit message (Collapse)Author
2023-12-01Put functional tests in `tests/functional`John Ericson
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/ ``` (cherry picked from commit 68c81c737571794f7246db53fb4774e94fcf4b7e)
2023-03-08Harden tests' bashJohn Ericson
Use `set -u` and `set -o pipefail` to catch accidental mistakes and failures more strongly. - `set -u` catches the use of undefined variables - `set -o pipefail` catches failures (like `set -e`) earlier in the pipeline. This makes the tests a bit more robust. It is nice to read code not worrying about these spurious success paths (via uncaught) errors undermining the tests. Indeed, I caught some bugs doing this. There are a few tests where we run a command that should fail, and then search its output to make sure the failure message is one that we expect. Before, since the `grep` was the last command in the pipeline the exit code of those failing programs was silently ignored. Now with `set -o pipefail` it won't be, and we have to do something so the expected failure doesn't accidentally fail the test. To do that we use `expect` and a new `expectStderr` to check for the exact failing exit code. See the comments on each for why. `grep -q` is replaced with `grepQuiet`, see the comments on that function for why. `grep -v` when we just want the exit code is replaced with `grepInverse, see the comments on that function for why. `grep -q -v` together is, surprise surprise, replaced with `grepQuietInverse`, which is both combined. Co-authored-by: Robert Hensing <roberth@users.noreply.github.com>
2020-09-12docs+test: fix remaining installer downloads without -L (#4006)Jade
Co-authored-by: lf- <lf-@users.noreply.github.com>
2019-07-25Use $HOME instead of $USERMatthew Bauer
$USER/.nix-profile will not be a path. I think $HOME/.nix-profile was the origininal intent. /cc @Grahamc
2017-07-14Rename PINCH_ME_IM_SILLY to ALLOW_PREEXISTING_INSTALLATIONGraham Christensen
2017-07-14If there is no TTY, also skip verbose sudo messagesGraham Christensen
2017-07-14Ensure PINCH_ME_IM_SILLY allows a /nix/store to stick around between buildsGraham Christensen
Also output in the status report that the user is very silly
2017-07-14Assume yes if we have no TTYGraham Christensen
Starve the TTY of input to ensure this works, but provide yes to the current installer to handle the current broken case.
2017-07-14Cleanup and more specificity around set -eGraham Christensen
2017-07-14Only clean if the file existsGraham Christensen
2017-07-14Clean up nix hints from the old insstallerGraham Christensen
2017-07-14Run nix-build inside a fresh bash loginGraham Christensen
2017-07-14chmodGraham Christensen
2017-07-14Test the installerGraham Christensen