nixpkgs/nixos/lib
Robert Hensing b3de22483c nixos/testing-python.nix: Add evalTest
This is a decomposition of the testing-python.nix and build-vms.nix
files into modules.

By refactoring the glue, we accomplish the following:

 - NixOS tests can now use `imports` and other module system features.
    - Network-wide test setup can now be reusable; example:
       - A setup with all VMs configured to use a DNS server
       - Split long, slow tests into multiple tests that import a
         common module that has most of the setup.
    - Type checking for the test arguments
    - (TBD) "generated" options reference docs
 - Aspects that had to be wired through all the glue are now in their
   own files.
    - Chief example: interactive.nix.
    - Also: network.nix

In rewriting this, I've generally stuck as close as possible to the
existing code; copying pieces of logic and rewiring them, without
changing the logic itself.

I've made two exceptions to this rule

 - Introduction of `extraDriverArgs` instead of hardcoded
   interactivity logic.

 - Incorporation of https://github.com/NixOS/nixpkgs/pull/144110
   in testScript.nix.

I might revert the latter and split it into a new commit.
2022-09-21 10:55:11 +01:00
..
make-options-doc lib/options: deprecate docbook text and literalDocBook 2022-09-10 18:23:13 +02:00
test-driver Merge pull request #189999 from sbruder/test-driver-formatting-closed-port 2022-09-06 14:48:13 +02:00
testing nixos/testing-python.nix: Add evalTest 2022-09-21 10:55:11 +01:00
build-vms.nix treewide: nixosTest -> testers.nixosTest 2022-05-09 14:16:06 +02:00
default.nix nixos/lib: Add featureFlags, use it for minimal modules 2022-01-10 12:36:57 +01:00
eval-cacheable-options.nix nixos/documentation: split options doc build 2022-01-02 19:46:13 +01:00
eval-config-minimal.nix nixos/lib: Clarify that nixos.evalModules impl is NOT experimental 2022-01-10 12:36:57 +01:00
eval-config.nix nixos/eval-config: Allow system to be set modularly when arg is null 2022-07-10 13:35:54 +02:00
from-env.nix
make-channel.nix
make-disk-image.nix make-disk-image: add systemdMinimal to PATH 2022-04-05 11:57:53 +02:00
make-ext4-fs.nix honor sdImage.compressImage in intermediate build steps 2021-12-21 21:31:44 +01:00
make-iso9660-image.nix
make-iso9660-image.sh installer/cd-dvd/iso-image: avoid leaking build timestamps on non-x86 2022-01-05 12:05:15 -06:00
make-multi-disk-zfs-image.nix treewide: don't use utillinux alias 2022-06-27 04:55:23 +00:00
make-single-disk-zfs-image.nix treewide: don't use utillinux alias 2022-06-27 04:55:23 +00:00
make-squashfs.nix make-squashfs: use $NIX_BUILD_CORES or 48 cores if above 48 2021-12-08 19:23:31 +02:00
make-system-tarball.nix
make-system-tarball.sh
qemu-common.nix nixos/qemu: Add QEMU arguments for HVF on Darwin 2022-08-25 17:00:14 +04:00
systemd-lib.nix nixos/systemd: Add onSuccess module option for units 2022-04-07 13:25:52 +02:00
systemd-types.nix nixos/*: automatically convert option descriptions 2022-08-31 16:32:53 +02:00
systemd-unit-options.nix nixos/*: convert internal option descriptions to MD 2022-08-31 16:32:54 +02:00
test-script-prepend.py nixos/test-driver: Typecheck TestScript 2022-06-02 10:05:45 +02:00
testing-python.nix nixos/testing-python.nix: Add evalTest 2022-09-21 10:55:11 +01:00
utils.nix nixos: Fix up systemd shutdown ramfs 2022-04-28 14:12:14 -04:00