summary refs log tree commit diff
path: root/nixos/tests/installer.nix
Commit message (Collapse)AuthorAge
* nixos.tests.installer.swraid: increase drive sizeVladimír Čunát2017-11-25
| | | | | | The latest staging caused this test not to fit anymore. I'm all for keeping closure sizes under control, but I don't think *this* is a good place.
* nixos: run parted with --script option (3rd)Bjørn Forsman2017-11-19
| | | | | | | Doh, should have included this in previous commit. Ref. 0ff4bb5f875afe8eb208bbabb3f52dc29539d2bc ("nixos: run parted with --script option").
* nixos: run parted with --script option (2nd)Bjørn Forsman2017-11-19
| | | | | Ref. 0ff4bb5f875afe8eb208bbabb3f52dc29539d2bc ("nixos: run parted with --script option")
* Merge pull request #29269 from Moredread/test_crypt_with_keyfileFranz Pletz2017-11-19
|\ | | | | Test opening encrypted filesystem with keyfile
| * Test opening encrypted filesystem with keyfileAndré-Patrick Bubel2017-09-14
| | | | | | | | | | Checks for regression of missing cryptsetup, when no luks device without keyfile is configured
* | nixos installer tests: Add UEFI Grub testTuomas Tynkkynen2017-11-14
| | | | | | | | Fixed merge conflict. Closes #22923.
* | nixos: run parted with --script optionBjørn Forsman2017-10-14
|/ | | | | | | | | | | | | | | | | -s, --script: never prompts for user intervention Sometimes the NixOS installer tests fail when they invoke parted, e.g. https://hydra.nixos.org/build/62513826/nixlog/1. But instead of exiting right there, the tests hang until the Nix builder times out (and kills the build). With this change the tests would instead fail immediately, which is preferred. While at it, use "parted --script" treewide, so nobody gets build timeout due to parted error (or misuse). (Only nixos/ use it, and only non-interactive.) A few instances already use the short option "-s", convert them to long option "--short".
* rogue: omit from the installation mediaVladimír Čunát2017-08-29
| | | | | At least for now. It would increase the ISO size by ~10 MB, after the fixup in the parent commit.
* nixos/tests/installer: Add stdenvNoCC to extraDependenciesTuomas Tynkkynen2017-08-24
| | | | | | | | | | | | | | | | | | The installer tests are failing after 505e94256ef247dc54250 due to `nixos-rebuild switch` in the installed system trying to build stdenvNoCC. Seems that previously, stdenvNoCC wasn't in the installed system either, but all the direct dependencies for the build were (I don't really understand why, for that matter), so the building actually went fine and everything worked. But now gcc is also a direct build dependency due to allowedRequisites containing gcc (even though it doesn't become a runtime dependency) which doesn't get to the installed system. All in all, let's ensure stdenvNoCC actually gets to the installed system. It's after all necessary in almost any NixOS config build.
* tests/installer: Rename simpleUefiGummiboot -> simpleUefiSystemdBootTuomas Tynkkynen2017-08-19
| | | | It hasn't been called Gummiboot for ages.
* nixos: installer.nix test: test ZFS install use caseGraham Christensen2017-06-28
|
* nixos-artwork: add more wallpapersromildo2017-06-07
| | | | | | | | | Restructure the nixos-artwork to make it easy to selectively incorporate other components from upstream without needing to download the full package. Until now only the Gnome_Dark wallpaper was included. Add other wallpapers available in the package repository.
* OVMF: separate output for ovmf binariesJoachim Fasting2017-05-20
| | | | | | | | | | | | | | | | | | OVMF{,CODE,VARS}.fd are now available in a dedicated fd output, greatly reducing the closure in the common case where only those files are used (a few MBs versus several hundred MBs for the full OVMF). Note: it's unclear why `dontPatchELF` is now necessary for the build to pass (on my end, at any rate) but it doesn't make much sense to run this fixup anyway, Note: my reading of xen's INSTALL suggests that --with-system-ovmf should point directly to the OVMF binary. As such, the previous invocation was incorrect (it pointed to the root of the OVMF tree). In any case, I have only built xen with `--with-system-ovmf`, I have not tested it. Fixes https://github.com/NixOS/nixpkgs/issues/25854 Closes https://github.com/NixOS/nixpkgs/pull/25855
* Refactor nixos-install to separate out filesystem build logicDan Peebles2017-04-16
| | | | | | | | | | | The key distinction I'm drawing is that there's a component that deals with the store of the machine being built, and another component for the store building it. The inner part of it assumes nothing from the builder (doesn't need chroot or root powers) so it can run comfortably inside a Nix build, as well as nixos-rebuild. I have some upcoming work that will use that to significantly speed up and streamline image builds for NixOS, especially on virtualized hosts like EC2, but it's also a reasonable speedup on native hosts.
* tests.installer: rely on swap.target in testsRobin Gloster2017-01-25
| | | | fixes #5258
* nixos/tests/installer.nix: add libxml2 & libxslt to prevent download attemptsobadz2016-08-09
|
* nixos/tests/installer.nix: add curl on host machineobadz2016-07-17
| | | | | add curl so that rather than seeing the test attempt to download curl's tarball, we see what it's trying to download.
* Revert "nixos/tests/installer: Fix matching LUKS prompt"Nikolay Amiantov2016-07-17
| | | | | | This reverts commit ec072cbc4c87edd4ece210121dba83abeff0a018. See also 193ab8be67ef941321e6b079db7e73b1d04cf9a8
* nixos/tests/installer: Fix matching LUKS promptaszlig2016-07-17
| | | | | | | | | | | | | | | | The LUKS passphrase prompt has changed from "Enter passphrase" to "Enter LUKS Passphrase" in c69c76ca7efecba24aba555c2a03f933997d1fd5, so the OCR detection of the test fails indefinitely. Unfortunately, this doesn't fix the test because we have a real problem here: Enter LUKS Passphrase: killall: cryptsetup: no process killed Enter LUKS Passphrase: Signed-off-by: aszlig <aszlig@redmoonstudios.org> Cc: @abbradar
* Rename boot.loader.gummiboot.enable -> boot.loader.systemd-boot.enableEelco Dolstra2016-06-01
|
* Use systemd-boot instead of gummibootEelco Dolstra2016-05-31
| | | | Gummiboot is part of systemd now so we may as well use it.
* nixos/tests/installer.nix: nixos-generate-config detects LUKS since a7baec7obadz2016-05-26
| | | | Fixes nix-build '<nixos/release.nix>' -A tests.installer.luksroot.x86_64-linux
* boot.initrd.luks.devices: Change into an attribute setEelco Dolstra2016-05-25
| | | | | | | | | | | | | | | This allows setting options for the same LUKS device in different modules. For example, the auto-generated hardware-configuration.nix can contain boot.initrd.luks.devices.crypted.device = "/dev/disk/..."; while configuration.nix can add boot.initrd.luks.devices.crypted.allowDiscards = true; Also updated the examples/docs to use /disk/disk/by-uuid instead of /dev/sda, since we shouldn't promote the use of the latter.
* nixos.tests.swraid: Drop mdadm -WEelco Dolstra2016-05-24
| | | | | | | | | This command is racy because it will return a non-zero exit code if the array is already clean. This caused numerous random failures. It should be unnecessary anyway. (Maybe in the past we needed this because of #15226.) http://hydra.nixos.org/job/nixos/release-16.03/nixos.tests.installer.swraid.i686-linux
* nixos/tests/installer/swraid: Check for safemodeaszlig2016-05-06
| | | | | | | | This is a regression test for #15226, so that the test will fail once we accidentally kill one or more of the md kthreads (aka: if safe mode is enabled). Signed-off-by: aszlig <aszlig@redmoonstudios.org>
* NixOS installer tests: Add a test using GummibootTuomas Tynkkynen2016-04-24
| | | | Issue #14956
* installer tests: Use different package for testing `nix-env -iA`Tuomas Tynkkynen2016-04-12
| | | | | | | | | | | | | | | | | | | Coreutils is multi-output and the `info` output doesn't seem to be included on the install disk, failing like this (because now nix-env wants to build coreutils): ```` machine# these derivations will be built: machine# /nix/store/0jk4wzg11sa6cqyw8g7w5lb35axji969-bison-3.0.4.tar.gz.drv ... machine# /nix/store/ybjgqwxx63l8cj1s7b8axx09wz06kxbv-coreutils-8.25.drv machine# building path(s) ‘/nix/store/4xvdi5740vq8vlsi48lik3saz0v5jsx0-coreutils-8.25.tar.xz’ machine# downloading ‘http://ftpmirror.gnu.org/coreutils/coreutils-8.25.tar.xz’... machine# error: unable to download ‘http://ftpmirror.gnu.org/coreutils/coreutils-8.25.tar.xz’: Couldn't resolve host name (6) machine# builder for ‘/nix/store/5j3bc5sjr6271fnjh9gk9hrid8kgbpx3-coreutils-8.25.tar.xz.drv’ failed with exit code 1 machine# cannot build derivation ‘/nix/store/ybjgqwxx63l8cj1s7b8axx09wz06kxbv-coreutils-8.25.drv’: 1 dependencies couldn't be built machine# error: build of ‘/nix/store/ybjgqwxx63l8cj1s7b8axx09wz06kxbv-coreutils-8.25.drv’ failed ````
* nixos.tests.installer.swraid: mdadm verbosityGraham Christensen2016-03-28
| | | These two steps seem to fail intermittently with exit code 1. It isn't clear to me why, or what the issue is. Adding the `--verbose` option, hoping to capture some debugging information which might aid stabilization. Also: I was unable to replicate the failure locally.
* Attempt to fix transient grub1 test kernel panicsDomen Kožar2016-03-02
| | | | Example: http://hydra.nixos.org/build/32469819/nixlog/26/raw
* correctly fix 313fa2ebc69aa9b49055c6242ae6d4b78e9f0467Domen Kožar2016-01-10
|
* nixos installer tests: use -A nix-env flag to prevent out of memoryDomen Kožar2016-01-10
|
* nixos/tests: increase ram from 768 to 1024Luca Bruno2015-12-01
| | | | | | | Fixes simpleProvided test failing on unionfs using more ram than available. cc @edolstra @wkennington
* all tests: added meta.maintainers sectionJoachim Schiele2015-07-12
|
* nixos/tests/installer: Add a testcase for fat32 /bootWilliam A. Kennington III2015-07-08
|
* Installer test: Fix booting from SCSIEelco Dolstra2015-06-17
| | | | This is required by the GRUB 1 test.
* Installer test: Remove apparently useless setting of nix.readOnlyStoreEelco Dolstra2015-06-10
|
* Installer tests: Don't use the ISOEelco Dolstra2015-06-10
| | | | | | | | | We already have separate tests for checking whether the ISO boots correctly, so it's not necessary to do that here. So now tests/installer.nix just tests nixos-install, from a regular NixOS VM that uses the host's Nix store. This makes running the tests more convenient because we don't have to build a new ISO after every change.
* Remove dead codeEelco Dolstra2015-06-03
|
* nixos/installer: Make test install disk larger to support the expressionsWilliam A. Kennington III2015-05-25
|
* nixos/test-driver: Make tesseract OCR optional.aszlig2015-05-22
| | | | | | | | | | | | | | | | | By default this is now enabled, and it has to be explicitely enabled using "enableOCR = true". If it is set to false, any usage of getScreenText or waitForText will fail with an error suggesting to pass enableOCR. This should get rid of the rather large dependency on tesseract which we don't need for most tests. Note, that I'm using system("type -P") here to check whether tesseract is in PATH. I know it's a bashism but we already have other bashisms within the test scripts and we also run it with bash, so IMHO it's not a problem here. Signed-off-by: aszlig <aszlig@redmoonstudios.org>
* nixos/tests/luksroot: Switch to use waitForText.aszlig2015-05-21
| | | | | | | | Fixes the "blindly hope that 60 seconds is enough" issue from 1f34503, so that we now have a (hopefully) reliable way to wait for the passphrase prompt. Signed-off-by: aszlig <aszlig@redmoonstudios.org>
* nixos/tests/installer: Add test for LUKS rootfs.aszlig2015-05-21
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This serves as a regression test for #7859. It's pretty straightforward, except from the fact that nixos-generate- config doesn't detect LUKS devices and the "sleep 60". As for the former, I have tried to add support for LUKS devices for nixos-generate-config, but it's not so easy as it sounds, because we need to create a device tree across all possible mappers and/or LVM up to the "real" device and then decide whether it is relevant to what is currently mounted. So I guess this is something for the nixpart branch (see #2079). And the latter isn't very trivial as well, because the LUKS passphrase prompt is issued on /dev/console, which is the last "console=..." kernel parameter (thus the `mkAfter`). So we can't simply grep the log, because the prompt ends up being on one terminal only (tty0) and using select() on $machine->{socket} doesn't work very well, because the FD is always "ready for read". If we would read the FD, we would conflict with $machine->connect and end up having an inconsistent state. Another idea would be to use multithreading to do $machine->connect while feeding the passphrase prompt in a loop and stop the thread once $machine->connect is done. Turns out that this is not so easy as well, because the threads need to share the $machine object and of course need to do properly locking. In the end I decided to use the "blindly hope that 60 seconds is enough" approach for now and come up with a better solution later. Other VM tests surely use sleep as well, but it's $machine->sleep, which is bound to the clock of the VM, so if the build machine is on high load, a $machine->sleep gets properly delayed but the timer outside the VM won't get that delay, so the test is not deterministic. Tested against the following revisions: 5e3fe39: Before the libgcrypt cleanup (a71f78a) that broke cryptsetup. 69a6848: While cryptsetup was broken (obviously the test failed). 15faa43: After cryptsetup has been switched to OpenSSL (fd588f9). Signed-off-by: aszlig <aszlig@redmoonstudios.org>
* nixos/tests/installer: Allow pre-boot commands.aszlig2015-05-21
| | | | | | | | These commands will be executed directly after the machine is created, so it gives us the chance to for example type in passphrases using the virtual keyboard. Signed-off-by: aszlig <aszlig@redmoonstudios.org>
* nixos/tests/installer: Allow to pass extra config.aszlig2015-05-21
| | | | | | | | We're going to need it for installer tests where nixos-generate-config isn't yet able to fully detect the filesystems/hardware. for example for device mapper configurations other than LVM. Signed-off-by: aszlig <aszlig@redmoonstudios.org>
* nixos/tests/swraid: Increase boot partition size.aszlig2015-04-01
| | | | | | | | | | I'm increasing it to 100MB to make sure, any bootloader will fit with all its stages. Of course, right now the reason why GRUB doesn't fit into the partition is because of mdadm 3.3.2 and thus the initrd taking all the space, but in order to avoid confusion on why the *boot* loader fails in the VM tests, I've increased the size. Signed-off-by: aszlig <aszlig@redmoonstudios.org>
* nixos/tests/installer: Add all bootloaders to the storeWilliam A. Kennington III2015-02-13
|
* nixos/tests: Fix installer test by providing a missing dependencyWilliam A. Kennington III2015-02-12
|
* ParanoiaEelco Dolstra2015-01-15
|
* Use https://cache.nixos.orgEelco Dolstra2014-12-09
|
* installer tests: don't rely on swap.target until systemd bug is fixedDomen Kožar2014-12-07
|