summaryrefslogtreecommitdiff
path: root/gnu/tests/install.scm
Commit message (Collapse)AuthorAge
* system: tests: Add a Btrfs RAID system test.Maxim Cournoyer2020-03-31
| | | | | | * gnu/tests/install.scm (%btrfs-raid-root-os) (%btrfs-raid-root-os-source, %btrfs-raid-root-installation-script) (%test-btrfs-raid-root-os): New variables.
* tests: install: Add %test-gui-installed-desktop-os-encrypted.Mathieu Othacehe2020-03-26
| | | | | | | | | | | | * gnu/tests/install.scm (gui-test-program): Add a desktop? argument, and pass it to choose-services, (installation-target-os-for-gui-tests): new procedure, (installation-target-desktop-os-for-gui-tests): new procedure, (guided-installation-test): add target-os and desktop? arguments. Use target-os instead of the previous os variable. Pass desktop? argument to gui-test-program. (%test-gui-installed-os): Adapt accordingly, (%test-gui-installed-os-encrypted): ditto, (%test-gui-installed-desktop-os-encrypted): new exported variable.
* tests: install: Abort when one installation step fails.Mathieu Othacehe2020-03-22
| | | | | | | | | | | | | | | | | When marionette-eval calls fail in gui-test-program, the installation continues which results in two scenarios: - hang forever at the next marionette-eval call, - keep going and start a broken installation, which is annoying because it clears the terminal and hides the error. Make sure that gui-test-program is exited with #f return code when one of the marionette-eval calls fail. * gnu/tests/install.scm (gui-test-program): Add a new macro "marionette-eval*". Throw an exception when one on the marionette-eval calls fail.
* tests: Accept manual installation scripts that exit with SIGTERM.Ludovic Courtès2020-03-19
| | | | | | | | | | | | | Fixes <https://bugs.gnu.org/39926>. Reported by Maxim Cournoyer <maxim.cournoyer@gmail.com>. Previously we'd error out if the installation script exits with non-zero, which was the case because the 'reboot' program would typically not get a reply, and thus would eventually be killed by PID 1 as the system is brought down. * gnu/tests/install.scm (run-install)[install]: Expect SCRIPT to exit with SIGTERM in addition to exiting with zero.
* tests: install: Add %test-gui-installed-os-encrypted.Mathieu Othacehe2020-03-05
| | | | | * gnu/tests/install.scm (%test-gui-installed-os-encrypted): New variable, (guided-installation-test): set a swap-device only if there is no encryption.
* tests: install: Add "gui-installed-os".Ludovic Courtès2020-03-05
| | | | | | | | | | | | | * gnu/installer/tests.scm: New file. * gnu/local.mk (INSTALLER_MODULES): Add it. * gnu/tests/install.scm (run-install): Add #:gui-test. Add (gnu installer tests) to the marionette imported modules. Honor GUI-TEST. Check whether SCRIPT is true. (%root-password, %syslog-conf): New variable. (operating-system-with-console-syslog, gui-test-program) (guided-installation-test): New procedures. (%extra-packages, installation-os-for-gui-tests) (%test-gui-installed-os): New variable.
* tests: Factorize LUKS passphrase.Ludovic Courtès2020-02-22
| | | | | | * gnu/tests/install.scm (%luks-passphrase): New variable. (%encrypted-root-installation-script): Use it. (enter-luks-passphrase): Use it.
* tests: install: "raid-root-os" test uses RAID-1 instead of RAID-0.Ludovic Courtès2020-01-19
| | | | | | | | | | | | Fixes <https://bugs.gnu.org/38086>. Thanks to Vagrant and Tobias! * gnu/tests/install.scm (%raid-root-os)[initrd-modules]: Add "raid1" instead of "raid0". (%raid-root-installation-script): Make the partitions twice as big. Invoke 'mdadm' with '--level=mirror' instead of '--level=stripe'; connect "yes" to its stdin. (%test-raid-root-os): Set #:target-size to 2.8 GiB.
* tests: install: Test a JFS root file system.Tobias Geerinckx-Rice2020-01-03
| | | | | * gnu/tests/install.scm (%jfs-root-os, %jfs-root-installation-script) (%test-jfs-root-os): New variables.
* tests: install: Fix typo.Maxim Cournoyer2019-11-18
| | | | * gnu/tests/install.scm (run-install): Fix typo in docstring.
* tests: install: Increase root partition size.Ludovic Courtès2019-11-06
| | | | | | | | | 1.2G had become slightly too small on x86_64. This is a followup to 8dfb0c969e513276c632b8d26fb3601fa02993ca. * gnu/tests/install.scm (%simple-installation-script) (%extlinux-gpt-installation-script) (%simple-installation-script-for-/dev/vda): Switch from 1.2G to 1.4G.
* tests: encrypted-root-os: Increase root partition size.Ludovic Courtès2019-07-06
| | | | | | | 1.2G had become slightly too small on x86_64. * gnu/tests/install.scm (%encrypted-root-installation-script): Increase root partition size to 1.3G.
* tests: Import (guix build utils) in the marionette.Ludovic Courtès2019-06-24
| | | | | | | * gnu/tests/install.scm (%minimal-os)[marionette-configuration](imported-modules): Add (guix build utils). * gnu/tests/base.scm (run-basic-test)["skeletons in home directories"]: Use (guix build utils) explicitly.
* system: Add 'operating-system-with-gc-roots'.Ludovic Courtès2019-05-15
| | | | | | * gnu/tests/install.scm (operating-system-with-gc-roots): Move to... * gnu/system.scm (operating-system-with-gc-roots): ... here. New procedure.
* tests: separate-store-os: Increase root partition size.Ludovic Courtès2019-04-14
| | | | | | * gnu/tests/install.scm (%separate-store-installation-script): Increase size of the root partition so that it's big enough to contain downloaded nars and temporary files. Add 'df -h /mnt/gnu'.
* accounts: Add default value for the 'home-directory' field of <user-account>.Ludovic Courtès2019-03-25
| | | | | | | | | | | | | | | | | | * gnu/system/accounts.scm (<user-account>)[home-directory]: Mark as thunked and add a default value. (default-home-directory): New procedure. * doc/guix.texi (User Accounts): Remove 'home-directory' from example. * gnu/system/examples/bare-bones.tmpl: Likewise. * gnu/system/examples/beaglebone-black.tmpl: Likewise. * gnu/system/examples/desktop.tmpl: Likewise. * gnu/system/examples/docker-image.tmpl: Likewise. * gnu/system/examples/lightweight-desktop.tmpl: Likewise. * gnu/system/install.scm (installation-os): Likewise. * gnu/tests.scm (%simple-os): Likewise. * gnu/tests/install.scm (%minimal-os, %minimal-os-on-vda): (%separate-home-os, %encrypted-root-os, %btrfs-root-os): Likewise. * tests/accounts.scm ("allocate-passwd") ("allocate-passwd with previous state"): Likewise.
* Remove traces of "GuixSD".Ludovic Courtès2019-03-13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * gnu/bootloader/extlinux.scm (extlinux-configuration-file): Remove mentions of "GuixSD". * gnu/bootloader/grub.scm (install-grub-efi): Likewise. * gnu/build/vm.scm (make-iso9660-image): Change default #:volume-id to "Guix_image". (initialize-hard-disk): Search for the "Guix_image" label. * gnu/ci.scm (system-test-jobs, tarball-jobs): Remove "GuixSD". * gnu/installer/newt/welcome.scm (run-welcome-page): Likewise. * gnu/packages/audio.scm (supercollider)[description]: Likewise. * gnu/packages/curl.scm (curl): Likewise. * gnu/packages/emacs.scm (emacs): Likewise. * gnu/packages/gnome.scm (network-manager): Likewise. * gnu/packages/julia.scm (julia): Likewise. * gnu/packages/linux.scm (alsa-plugins): Likewise. (powertop, wireless-regdb): Likewise. * gnu/packages/package-management.scm (guix): Likewise. * gnu/packages/polkit.scm (polkit): Likewise. * gnu/packages/tex.scm (texlive-bin): Likewise. * gnu/services/base.scm (file-systems->fstab): Likewise. * gnu/services/cups.scm (%cups-activation): Likewise. * gnu/services/mail.scm (%dovecot-activation): Likewise. * gnu/services/messaging.scm (prosody-configuration)[log]: Likewise. * gnu/system/examples/vm-image.tmpl (vm-image-motd): Likewise. * gnu/system/install.scm (installation-os)[file-systems]: Change root file system label to "Guix_image". * gnu/system/mapped-devices.scm (check-device-initrd-modules): Remove "GuixSD". * gnu/system/vm.scm (system-docker-image): Likewise. (system-disk-image)[root-label]: Change to "Guix_image". * gnu/tests/install.scm (run-install): Remove "GuixSD". * guix/modules.scm (guix-module-name?): Likewise. * nix/libstore/optimise-store.cc: Likewise.
* gnu: Remove duplicate record fields.Ludovic Courtès2019-01-22
| | | | | | | | | * gnu/packages/haskell.scm (ghc-case-insensitive): Remove duplicate 'inputs' field. * gnu/packages/python-xyz.scm (python2-pysnptools): Remove duplicate 'native-inputs' field. * gnu/tests/install.scm (%separate-home-os): Remove duplicate 'type' field.
* tests: Rename %test-encrypted-os to %test-encrypted-root-os.Mathieu Othacehe2019-01-17
| | | | | * gnu/tests/install.scm (%test-encrypted-os): Rename to %test-encrypted-root-os for consistency with its system-test name.
* tests: Increase root partitions size to 1.2G.Ludovic Courtès2018-12-04
| | | | | | | | | | | The system closure has grown slightly above 1GiB so adjust accordingly. * gnu/tests/install.scm (%simple-installation-script): Increase vdb2 size of 1.2G, (%extlinux-gpt-installation-script); ditto (%simple-installation-script-for-/dev/vda): ditto, (%separate-store-installation-script): ditto for vdb3, (%encrypted-root-installation-script): ditto.
* system: Remove uses of the 'title' field of <file-system>.Ludovic Courtès2018-05-28
| | | | | | | | | | | | | | * gnu/system/install.scm (installation-os): Remove uses of the 'title' field of 'file-system'; use 'file-system-label' as appropriate. * gnu/system/vm.scm (system-disk-image, system-qemu-image): Likewise. * gnu/tests.scm (%simple-os): Likewise. * gnu/tests/install.scm (%minimal-os, %minimal-extlinux-os) (%minimal-os-on-vda, %separate-home-os, %separate-store-os) (%raid-root-os, %encrypted-root-os, %btrfs-root-os): Likewise. * gnu/build/shepherd.scm (default-mounts)[tmpfs]: Likewise. * tests/guix-system.sh: Likewise. * tests/system.scm (%root-fs): Likewise. ("operating-system-boot-mapped-devices, implicit dependency"): Likewise.
* system: Add 'initrd-modules' field.Ludovic Courtès2018-03-02
| | | | | | | | | | | | | | * gnu/system.scm (<operating-system>)[initrd-modules]: New field. (operating-system-initrd-file): Pass #:linux-modules to 'make-initrd'. * gnu/system/linux-initrd.scm (default-initrd-modules): New procedure. (%base-initrd-modules): New macro. (base-initrd): Add #:linux-modules and honor it. * gnu/system/install.scm (embedded-installation-os): Use 'initrd-modules' instead of 'initrd'. * gnu/tests/install.scm (%raid-root-os): Likewise. * doc/guix.texi (operating-system Reference): Add 'initrd-modules'. (Initial RAM Disk): Document it. Adjust example to not use #:extra-modules.
* gnu, doc, tests: Use ‘bootloader-configuration’ everywhere.Tobias Geerinckx-Rice2017-12-06
| | | | | | | | | | | | | | * doc/guix.texi (Proceeding with the Installation): Replace the old-style ‘grub-configuration’ with the newer ‘bootloader-configuration’ syntax. * gnu/system/examples/vm-image.tmpl: Likewise. * gnu/system/install.scm (installation-os): Likewise. * gnu/tests.scm (%simple-os): Likewise. * gnu/tests/install.scm (%minimal-os, %minimal-os-on-vda, %separate-home-os) (%separate-store-os, %raid-root-os, %encrypted-root-os, %btrfs-root-os): Likewise. * gnu/tests/nfs.scm (%base-os): Likewise. * tests/guix-system.scm (OS_BASE, make_user_config): Likewise. * tests/system.scm (%os, %os-with-mapped-device): Likewise.
* tests: install: Increase target-size.Oleg Pykhalov2017-11-15
| | | | | | | 1200 MiB are too small for a btrfs-root-os, thus let increase it. * gnu/tests/install.scm (run-install): Increase target-size to 2200 MiB. (%btrfs-root-installation-script): Increase my-root partition size to 2G.
* tests: install: Estimate the installation system disk size.Hartmut Goebel2017-10-30
| | | | | | | | 1500 MiB are too small for a current system, thus let system-disk-image estimate the required size. * gnu/tests/install.scm: (run-install): Pass "#:disk-image-size 'guess" to system-disk-image.
* tests: install: Switch to modifying the gc-root-service-type.Ludovic Courtès2017-09-26
| | | | | | | | | | | Fixes <https://bugs.gnu.org/28600>. Fixes a regression introduced in 4e854b1814a9216ae7cc90aef4d82fd989a519c3. Reported by Christopher Baines <mail@cbaines.net>. * gnu/tests/install.scm (operating-system-with-gc-roots): Use 'simple-service' to extend GC-ROOT-SERVICE-TYPE instead of instantiating it.
* tests: Fix incorrect use of 'file-append'.Ludovic Courtès2017-09-08
| | | | | | | | Fixes a regression introduced in fbc7b1f12561159e0ec3f6459d336f95cf2ce503. * gnu/tests/install.scm (run-install)[install]: Don't use 'file-append' with a string as its first argument; use a gexp with 'string-append' instead. Use a gexp instead of a list for "-cdrom IMG".
* tests: Add test for installing from an ISO Image.Christopher Baines2017-09-06
| | | | | | * gnu/tests/install.scm (%test-iso-image-installer): New variable. (run-install): Add #:installation-disk-image-file-system-type as a keyword argument.
* gnu: bootloader: Deprecate "device" field in favor of "target".Andy Wingo2017-08-23
| | | | | | | | | | | | | | | | | | | | | * gnu/bootloader.scm (<bootloader-configuration>): Deprecate "device" field in favor of "target" field. This is mostly a renaming but also a generalization to support UEFI targets being paths to a mounted partition instead of a device name. * gnu/system/examples/bare-bones.tmpl: * gnu/system/examples/desktop.tmpl: * gnu/system/examples/lightweight-desktop.tmpl: * gnu/system/examples/vm-image.tmpl: * gnu/system/install.scm: * gnu/tests.scm: * gnu/tests/install.scm: * gnu/tests/nfs.scm: * tests/system.scm: Adapt all invocations of bootloader-configuration. * guix/scripts/system.scm (perform-action): Rename device argument to bootloader-target. (process-action): Adapt caller. * doc/guix.texi (Proceeding with the Installation): * doc/guix.texi (Bootloader Configuration): Update documentation.
* gnu: Rename (gnu packages qemu) to (gnu packages virtualization).宋文武2017-07-15
| | | | | | | | | * gnu/packages/qemu.scm: Rename this ... * gnu/packages/virtualization.scm: ... to this. * gnu/local.mk (GNU_SYSTEM_MODULES), gnu/packages/bootloaders.scm, gnu/packages/debug.scm, gnu/packages/gnome.scm, gnu/system/vm.scm, gnu/tests/install.scm: Adjust accordingly.
* tests: Add extlinux gpt test.Mathieu Othacehe2017-06-21
| | | | | | | | | * gnu/tests/install.scm (%test-installed-extlinux-os): New exported variable. (%minimal-extlinux-os, %minimal-extlinux-os-source): New variables. (%extlinux-gpt-installation-script): New variable. (run-install)[packages]: New argument. The packages specified are appended to the installation image.
* system: Create home directories once 'file-systems' is up.Ludovic Courtès2017-02-01
| | | | | | | | | | | | | | | | | Fixes <http://bugs.gnu.org/21108>. Reported by Andy Patterson <ajpatter@uwaterloo.ca> and Leo Famulari <leo@famulari.name>. * gnu/build/activation.scm (activate-users+groups)[activate-user]: Pass #:create-home? #t iff CREATE-HOME? and SYSTEM?. (activate-user-home): New procedure. * gnu/system/shadow.scm (account-shepherd-service): New procedure. (account-service-type)[extensions]: Add SHEPHERD-ROOT-SERVICE-TYPE extension. * gnu/tests/base.scm (run-basic-test)["home"] ["skeletons in home directories"]: New tests. * gnu/tests/install.scm (%separate-home-os, %separate-home-os-source) (%test-separate-home-os): New variables.
* file-systems: 'file-system-needed-for-boot?' is #t for parents of the store.Ludovic Courtès2017-01-16
| | | | | | | | | | | | Suggested by John Darrington <john@darrington.wattle.id.au>. * gnu/system/file-systems.scm (%not-slash): New variable. (file-prefix?): New procedure. (file-system-needed-for-boot?): Use it to check whether FS holds the store. * tests/file-systems.scm ("file-system-needed-for-boot?"): New test. * gnu/tests/install.scm (%separate-store-os)[file-systems]: Remove 'needed-for-boot?' field for "/gnu".
* system: Add btrfs file system support.David Craven2017-01-10
| | | | | | | | | | | | | | | | * gnu/build/file-systems.scm (%btrfs-endianness, btrfs-superblock?, read-btrfs-superblock, btrfs-superblock-uuid, btrfs-superblock-volume-name, check-btrfs-file-system): New variables. (%paritition-label-readers, %partition-uuid-readers): Add btrfs readers. * gnu/system/linux-initrd.scm (linux-modules): Add btrfs modules when a btrfs file-system is used. * gnu/tests/install.scm (%btrfs-root-os %btrfs-root-os-source, %btrfs-root-installation-script, %test-btrfs-root-os): New system test. * doc/guix.texi: Adjust accordingly. Fixes <http://bugs.gnu.org/19280>.
* tests: Create a copy-on-write image instead of copying eagerly.Ludovic Courtès2016-11-30
| | | | | * gnu/tests/install.scm (qemu-command/writable-image): Invoke 'qemu-img -o backing_file' instead of calling 'copy-file'.
* install: Enable "cryptodisk" handling in GRUB.Ludovic Courtès2016-11-23
| | | | | | | | | | | | | | | | | | This allows 'grub-install' to do the right thing when / or /boot is a LUKS-encrypted partition. Fixes <http://bugs.gnu.org/21843>. * gnu/build/install.scm (install-grub): Add 'setenv' to set 'GRUB_ENABLE_CRYPTODISK'. (wait-for-screen-text): New test. * gnu/tests/base.scm (run-basic-test): Add #:initialization parameter and honor it. * gnu/tests/install.scm (%encrypted-root-os)[kernel-arguments]: Remove. (%encrypted-root-installation-script): Pass '--uuid' to 'cryptsetup luksFormat'. Remove 'sed' invocation. (enter-luks-passphrase): New procedure. (%test-encrypted-os)[value]: Pass #:initialization to 'run-basic-test'.
* tests: Test installation with a RAID root partition.Ludovic Courtès2016-10-27
| | | | | * gnu/tests/install.scm (%raid-root-os, %raid-root-os-source) (%raid-root-installation-script, %test-raid-root-os): New variables.
* tests: Add #:memory-size parameter for the command to run the installed OS.Ludovic Courtès2016-10-27
| | | | | * gnu/tests/install.scm (qemu-command/writable-image): Add #:memory-size parameter and honor it.
* tests: Test installation with store on a separate partition.Ludovic Courtès2016-10-27
| | | | | | | | This is a followup to 0f65f54ebd76324653fd5506a7dab42ee44d9255. * gnu/tests/install.scm (%separate-store-os, %separate-store-os-source) (%separate-store-installation-script, %test-separate-store-os): New variables.
* tests: install: Generalize 'run-install'.Ludovic Courtès2016-07-18
| | | | | | | | | * gnu/tests/install.scm (%simple-installation-script): New variable. Contains installation script formerly in 'run-install'. (run-install): Add 'target-os', 'target-os-source', and #:script parameters. Honor them. (qemu-command/writable-image): New procedure. (%test-installed-os): Use it.
* gnu: Switch to 'with-imported-modules'.Ludovic Courtès2016-07-12
| | | | | | | | | | | | | | | | | | | | | | | | * gnu/services.scm (directory-union): Use 'with-imported-modules' instead of the '#:modules' argument of 'computed-file'. * gnu/services/base.scm (udev-rules-union): Likewise. * gnu/services/dbus.scm (system-service-directory): Likewise. * gnu/services/desktop.scm (wrapped-dbus-service): (polkit-directory): Likewise. * gnu/services/networking.scm (tor-configuration->torrc): Likewise. * gnu/services/xorg.scm (xorg-configuration-directory): Likewise. * gnu/system/install.scm (self-contained-tarball): Likewise. * gnu/system/linux-container.scm (container-script): Likewise. * gnu/system/linux-initrd.scm (expression->initrd): Likewise, and remove #:modules parameter. (flat-linux-module-directory): Use 'with-imported-modules'. (base-initrd): Likewise. * gnu/system/locale.scm (locale-directory): Likewise. * gnu/system/shadow.scm (default-skeletons): Likewise. * gnu/system/vm.scm (expression->derivation-in-linux-vm): Likewise. * gnu/tests/base.scm (run-basic-test): Likewise. * gnu/tests/install.scm (run-install): Likewise. * doc/guix.texi (Initial RAM Disk): Update 'expression->initrd' documentation.
* tests: install: Adjust to new 'marionette-service-type' interface.Ludovic Courtès2016-07-02
| | | | | | | | This is a followup to 037f9e07cd03d6894a6b5fc9a252c34d3b163962. Reported by Mark H Weaver. * gnu/tests/install.scm (%minimal-os): Pass a <marionette-configuration> object as the value for the MARIONETTE-SERVICE-TYPE.
* tests: Installation test no longer requires KVM.Ludovic Courtès2016-06-23
| | | | | * gnu/tests/install.scm (%test-installed-os): Use '-enable-kvm' only when /dev/kvm exists.
* tests: Add a mechanism to describe and discover system tests.Ludovic Courtès2016-06-20
| | | | | | | | | | * gnu/tests.scm (<system-test>): New record type. (write-system-test, test-modules, fold-system-tests) (all-system-tests): New procedures. * gnu/tests/base.scm (%test-basic-os): Turn into a <system-test>. * gnu/tests/install.scm (%test-installed-os): Likewise. * build-aux/run-system-tests.scm (%system-tests): Remove. (run-system-tests): Use 'all-system-tests'.
* tests: Add system installation test.Ludovic Courtès2016-06-20
* gnu/tests.scm (define-os-with-source): New macro. * gnu/tests/install.scm: New file. * gnu/local.mk (GNU_SYSTEM_MODULES): Add it. * build-aux/run-system-tests.scm (%system-tests): Likewise.