at 24.11-pre 54 kB view raw
1{ system, 2 pkgs, 3 4 # Projects the test configuration into a the desired value; usually 5 # the test runner: `config: config.test`. 6 callTest, 7 8}: 9# The return value of this function will be an attrset with arbitrary depth and 10# the `anything` returned by callTest at its test leafs. 11# The tests not supported by `system` will be replaced with `{}`, so that 12# `passthru.tests` can contain links to those without breaking on architectures 13# where said tests are unsupported. 14# Example callTest that just extracts the derivation from the test: 15# callTest = t: t.test; 16 17with pkgs.lib; 18 19let 20 discoverTests = val: 21 if isAttrs val 22 then 23 if hasAttr "test" val then callTest val 24 else mapAttrs (n: s: if n == "passthru" then s else discoverTests s) val 25 else if isFunction val 26 then 27 # Tests based on make-test-python.nix will return the second lambda 28 # in that file, which are then forwarded to the test definition 29 # following the `import make-test-python.nix` expression 30 # (if it is a function). 31 discoverTests (val { inherit system pkgs; }) 32 else val; 33 handleTest = path: args: 34 discoverTests (import path ({ inherit system pkgs; } // args)); 35 handleTestOn = systems: path: args: 36 if elem system systems then handleTest path args 37 else {}; 38 39 nixosLib = import ../lib { 40 # Experimental features need testing too, but there's no point in warning 41 # about it, so we enable the feature flag. 42 featureFlags.minimalModules = {}; 43 }; 44 evalMinimalConfig = module: nixosLib.evalModules { modules = [ module ]; }; 45 46 inherit 47 (rec { 48 doRunTest = arg: ((import ../lib/testing-python.nix { inherit system pkgs; }).evalTest { 49 imports = [ arg readOnlyPkgs ]; 50 }).config.result; 51 findTests = tree: 52 if tree?recurseForDerivations && tree.recurseForDerivations 53 then 54 mapAttrs 55 (k: findTests) 56 (builtins.removeAttrs tree ["recurseForDerivations"]) 57 else callTest tree; 58 59 runTest = arg: let r = doRunTest arg; in findTests r; 60 runTestOn = systems: arg: 61 if elem system systems then runTest arg 62 else {}; 63 }) 64 runTest 65 runTestOn 66 ; 67 68 # Using a single instance of nixpkgs makes test evaluation faster. 69 # To make sure we don't accidentally depend on a modified pkgs, we make the 70 # related options read-only. We need to test the right configuration. 71 # 72 # If your service depends on a nixpkgs setting, first try to avoid that, but 73 # otherwise, you can remove the readOnlyPkgs import and test your service as 74 # usual. 75 readOnlyPkgs = 76 # TODO: We currently accept this for nixosTests, so that the `pkgs` argument 77 # is consistent with `pkgs` in `pkgs.nixosTests`. Can we reinitialize 78 # it with `allowAliases = false`? 79 # warnIf pkgs.config.allowAliases "nixosTests: pkgs includes aliases." 80 { 81 _file = "${__curPos.file} readOnlyPkgs"; 82 _class = "nixosTest"; 83 node.pkgs = pkgs.pkgsLinux; 84 }; 85 86in { 87 88 # Testing the test driver 89 nixos-test-driver = { 90 extra-python-packages = handleTest ./nixos-test-driver/extra-python-packages.nix {}; 91 lib-extend = handleTestOn [ "x86_64-linux" "aarch64-linux" ] ./nixos-test-driver/lib-extend.nix {}; 92 node-name = runTest ./nixos-test-driver/node-name.nix; 93 busybox = runTest ./nixos-test-driver/busybox.nix; 94 driver-timeout = pkgs.runCommand "ensure-timeout-induced-failure" { 95 failed = pkgs.testers.testBuildFailure ((runTest ./nixos-test-driver/timeout.nix).config.rawTestDerivation); 96 } '' 97 grep -F "timeout reached; test terminating" $failed/testBuildFailure.log 98 # The program will always be terminated by SIGTERM (143) if it waits for the deadline thread. 99 [[ 143 = $(cat $failed/testBuildFailure.exit) ]] 100 touch $out 101 ''; 102 }; 103 104 # NixOS vm tests and non-vm unit tests 105 106 _3proxy = runTest ./3proxy.nix; 107 aaaaxy = runTest ./aaaaxy.nix; 108 acme = runTest ./acme.nix; 109 acme-dns = handleTest ./acme-dns.nix {}; 110 adguardhome = runTest ./adguardhome.nix; 111 aesmd = runTestOn ["x86_64-linux"] ./aesmd.nix; 112 agate = runTest ./web-servers/agate.nix; 113 agda = handleTest ./agda.nix {}; 114 airsonic = handleTest ./airsonic.nix {}; 115 akkoma = handleTestOn [ "x86_64-linux" "aarch64-linux" ] ./akkoma.nix {}; 116 akkoma-confined = handleTestOn [ "x86_64-linux" "aarch64-linux" ] ./akkoma.nix { confined = true; }; 117 alice-lg = handleTest ./alice-lg.nix {}; 118 allTerminfo = handleTest ./all-terminfo.nix {}; 119 alps = handleTest ./alps.nix {}; 120 amazon-init-shell = handleTest ./amazon-init-shell.nix {}; 121 amazon-ssm-agent = handleTest ./amazon-ssm-agent.nix {}; 122 amd-sev = runTest ./amd-sev.nix; 123 anbox = runTest ./anbox.nix; 124 angie-api = handleTest ./angie-api.nix {}; 125 anki-sync-server = handleTest ./anki-sync-server.nix {}; 126 anuko-time-tracker = handleTest ./anuko-time-tracker.nix {}; 127 apcupsd = handleTest ./apcupsd.nix {}; 128 apfs = runTest ./apfs.nix; 129 appliance-repart-image = runTest ./appliance-repart-image.nix; 130 apparmor = handleTest ./apparmor.nix {}; 131 archi = handleTest ./archi.nix {}; 132 armagetronad = handleTest ./armagetronad.nix {}; 133 artalk = handleTest ./artalk.nix {}; 134 atd = handleTest ./atd.nix {}; 135 atop = handleTest ./atop.nix {}; 136 atuin = handleTest ./atuin.nix {}; 137 audiobookshelf = handleTest ./audiobookshelf.nix {}; 138 auth-mysql = handleTest ./auth-mysql.nix {}; 139 authelia = handleTest ./authelia.nix {}; 140 avahi = handleTest ./avahi.nix {}; 141 avahi-with-resolved = handleTest ./avahi.nix { networkd = true; }; 142 ayatana-indicators = handleTest ./ayatana-indicators.nix {}; 143 babeld = handleTest ./babeld.nix {}; 144 bazarr = handleTest ./bazarr.nix {}; 145 bcachefs = handleTestOn ["x86_64-linux" "aarch64-linux"] ./bcachefs.nix {}; 146 beanstalkd = handleTest ./beanstalkd.nix {}; 147 bees = handleTest ./bees.nix {}; 148 benchexec = handleTest ./benchexec.nix {}; 149 binary-cache = handleTest ./binary-cache.nix {}; 150 bind = handleTest ./bind.nix {}; 151 bird = handleTest ./bird.nix {}; 152 birdwatcher = handleTest ./birdwatcher.nix {}; 153 bitcoind = handleTest ./bitcoind.nix {}; 154 bittorrent = handleTest ./bittorrent.nix {}; 155 blockbook-frontend = handleTest ./blockbook-frontend.nix {}; 156 blocky = handleTest ./blocky.nix {}; 157 boot = handleTestOn ["x86_64-linux" "aarch64-linux"] ./boot.nix {}; 158 bootspec = handleTestOn ["x86_64-linux"] ./bootspec.nix {}; 159 boot-stage1 = handleTest ./boot-stage1.nix {}; 160 borgbackup = handleTest ./borgbackup.nix {}; 161 botamusique = handleTest ./botamusique.nix {}; 162 bpf = handleTestOn ["x86_64-linux" "aarch64-linux"] ./bpf.nix {}; 163 bpftune = handleTest ./bpftune.nix {}; 164 breitbandmessung = handleTest ./breitbandmessung.nix {}; 165 brscan5 = handleTest ./brscan5.nix {}; 166 btrbk = handleTest ./btrbk.nix {}; 167 btrbk-doas = handleTest ./btrbk-doas.nix {}; 168 btrbk-no-timer = handleTest ./btrbk-no-timer.nix {}; 169 btrbk-section-order = handleTest ./btrbk-section-order.nix {}; 170 budgie = handleTest ./budgie.nix {}; 171 buildbot = handleTest ./buildbot.nix {}; 172 buildkite-agents = handleTest ./buildkite-agents.nix {}; 173 c2fmzq = handleTest ./c2fmzq.nix {}; 174 caddy = handleTest ./caddy.nix {}; 175 cadvisor = handleTestOn ["x86_64-linux"] ./cadvisor.nix {}; 176 cage = handleTest ./cage.nix {}; 177 cagebreak = handleTest ./cagebreak.nix {}; 178 calibre-web = handleTest ./calibre-web.nix {}; 179 calibre-server = handleTest ./calibre-server.nix {}; 180 castopod = handleTest ./castopod.nix {}; 181 cassandra_3_0 = handleTest ./cassandra.nix { testPackage = pkgs.cassandra_3_0; }; 182 cassandra_3_11 = handleTest ./cassandra.nix { testPackage = pkgs.cassandra_3_11; }; 183 cassandra_4 = handleTest ./cassandra.nix { testPackage = pkgs.cassandra_4; }; 184 centrifugo = runTest ./centrifugo.nix; 185 ceph-multi-node = handleTestOn [ "aarch64-linux" "x86_64-linux" ] ./ceph-multi-node.nix {}; 186 ceph-single-node = handleTestOn [ "aarch64-linux" "x86_64-linux" ] ./ceph-single-node.nix {}; 187 ceph-single-node-bluestore = handleTestOn [ "aarch64-linux" "x86_64-linux" ] ./ceph-single-node-bluestore.nix {}; 188 certmgr = handleTest ./certmgr.nix {}; 189 cfssl = handleTestOn ["aarch64-linux" "x86_64-linux"] ./cfssl.nix {}; 190 cgit = handleTest ./cgit.nix {}; 191 charliecloud = handleTest ./charliecloud.nix {}; 192 chromium = (handleTestOn ["aarch64-linux" "x86_64-linux"] ./chromium.nix {}).stable or {}; 193 chrony = handleTestOn ["aarch64-linux" "x86_64-linux"] ./chrony.nix {}; 194 chrony-ptp = handleTestOn ["aarch64-linux" "x86_64-linux"] ./chrony-ptp.nix {}; 195 cinnamon = handleTest ./cinnamon.nix {}; 196 cinnamon-wayland = handleTest ./cinnamon-wayland.nix {}; 197 cjdns = handleTest ./cjdns.nix {}; 198 clatd = handleTest ./clatd.nix {}; 199 clickhouse = handleTest ./clickhouse.nix {}; 200 cloud-init = handleTest ./cloud-init.nix {}; 201 cloud-init-hostname = handleTest ./cloud-init-hostname.nix {}; 202 cloudlog = handleTest ./cloudlog.nix {}; 203 cntr = handleTestOn ["aarch64-linux" "x86_64-linux"] ./cntr.nix {}; 204 cockpit = handleTest ./cockpit.nix {}; 205 cockroachdb = handleTestOn ["x86_64-linux"] ./cockroachdb.nix {}; 206 code-server = handleTest ./code-server.nix {}; 207 coder = handleTest ./coder.nix {}; 208 collectd = handleTest ./collectd.nix {}; 209 commafeed = handleTest ./commafeed.nix {}; 210 connman = handleTest ./connman.nix {}; 211 consul = handleTest ./consul.nix {}; 212 consul-template = handleTest ./consul-template.nix {}; 213 containers-bridge = handleTest ./containers-bridge.nix {}; 214 containers-custom-pkgs.nix = handleTest ./containers-custom-pkgs.nix {}; 215 containers-ephemeral = handleTest ./containers-ephemeral.nix {}; 216 containers-extra_veth = handleTest ./containers-extra_veth.nix {}; 217 containers-hosts = handleTest ./containers-hosts.nix {}; 218 containers-imperative = handleTest ./containers-imperative.nix {}; 219 containers-ip = handleTest ./containers-ip.nix {}; 220 containers-macvlans = handleTest ./containers-macvlans.nix {}; 221 containers-names = handleTest ./containers-names.nix {}; 222 containers-nested = handleTest ./containers-nested.nix {}; 223 containers-physical_interfaces = handleTest ./containers-physical_interfaces.nix {}; 224 containers-portforward = handleTest ./containers-portforward.nix {}; 225 containers-reloadable = handleTest ./containers-reloadable.nix {}; 226 containers-require-bind-mounts = handleTest ./containers-require-bind-mounts.nix {}; 227 containers-restart_networking = handleTest ./containers-restart_networking.nix {}; 228 containers-tmpfs = handleTest ./containers-tmpfs.nix {}; 229 containers-unified-hierarchy = handleTest ./containers-unified-hierarchy.nix {}; 230 convos = handleTest ./convos.nix {}; 231 corerad = handleTest ./corerad.nix {}; 232 coturn = handleTest ./coturn.nix {}; 233 couchdb = handleTest ./couchdb.nix {}; 234 crabfit = handleTest ./crabfit.nix {}; 235 cri-o = handleTestOn ["aarch64-linux" "x86_64-linux"] ./cri-o.nix {}; 236 cups-pdf = handleTest ./cups-pdf.nix {}; 237 curl-impersonate = handleTest ./curl-impersonate.nix {}; 238 custom-ca = handleTest ./custom-ca.nix {}; 239 croc = handleTest ./croc.nix {}; 240 darling = handleTest ./darling.nix {}; 241 dae = handleTest ./dae.nix {}; 242 davis = handleTest ./davis.nix {}; 243 db-rest = handleTest ./db-rest.nix {}; 244 dconf = handleTest ./dconf.nix {}; 245 deconz = handleTest ./deconz.nix {}; 246 deepin = handleTest ./deepin.nix {}; 247 deluge = handleTest ./deluge.nix {}; 248 dendrite = handleTest ./matrix/dendrite.nix {}; 249 devpi-server = handleTest ./devpi-server.nix {}; 250 dex-oidc = handleTest ./dex-oidc.nix {}; 251 dhparams = handleTest ./dhparams.nix {}; 252 disable-installer-tools = handleTest ./disable-installer-tools.nix {}; 253 discourse = handleTest ./discourse.nix {}; 254 dnscrypt-proxy2 = handleTestOn ["x86_64-linux"] ./dnscrypt-proxy2.nix {}; 255 dnscrypt-wrapper = runTestOn ["x86_64-linux"] ./dnscrypt-wrapper; 256 dnsdist = import ./dnsdist.nix { inherit pkgs runTest; }; 257 doas = handleTest ./doas.nix {}; 258 docker = handleTestOn ["aarch64-linux" "x86_64-linux"] ./docker.nix {}; 259 docker-rootless = handleTestOn ["aarch64-linux" "x86_64-linux"] ./docker-rootless.nix {}; 260 docker-registry = handleTest ./docker-registry.nix {}; 261 docker-tools = handleTestOn ["x86_64-linux"] ./docker-tools.nix {}; 262 docker-tools-cross = handleTestOn ["x86_64-linux" "aarch64-linux"] ./docker-tools-cross.nix {}; 263 docker-tools-overlay = handleTestOn ["x86_64-linux"] ./docker-tools-overlay.nix {}; 264 documize = handleTest ./documize.nix {}; 265 documentation = pkgs.callPackage ../modules/misc/documentation/test.nix { inherit nixosLib; }; 266 doh-proxy-rust = handleTest ./doh-proxy-rust.nix {}; 267 dokuwiki = handleTest ./dokuwiki.nix {}; 268 dolibarr = handleTest ./dolibarr.nix {}; 269 domination = handleTest ./domination.nix {}; 270 dovecot = handleTest ./dovecot.nix {}; 271 drawterm = discoverTests (import ./drawterm.nix); 272 drbd = handleTest ./drbd.nix {}; 273 dublin-traceroute = handleTest ./dublin-traceroute.nix {}; 274 earlyoom = handleTestOn ["x86_64-linux"] ./earlyoom.nix {}; 275 early-mount-options = handleTest ./early-mount-options.nix {}; 276 ec2-config = (handleTestOn ["x86_64-linux"] ./ec2.nix {}).boot-ec2-config or {}; 277 ec2-nixops = (handleTestOn ["x86_64-linux"] ./ec2.nix {}).boot-ec2-nixops or {}; 278 ecryptfs = handleTest ./ecryptfs.nix {}; 279 fscrypt = handleTest ./fscrypt.nix {}; 280 fastnetmon-advanced = runTest ./fastnetmon-advanced.nix; 281 ejabberd = handleTest ./xmpp/ejabberd.nix {}; 282 elk = handleTestOn ["x86_64-linux"] ./elk.nix {}; 283 emacs-daemon = handleTest ./emacs-daemon.nix {}; 284 endlessh = handleTest ./endlessh.nix {}; 285 endlessh-go = handleTest ./endlessh-go.nix {}; 286 engelsystem = handleTest ./engelsystem.nix {}; 287 enlightenment = handleTest ./enlightenment.nix {}; 288 env = handleTest ./env.nix {}; 289 envfs = handleTest ./envfs.nix {}; 290 envoy = handleTest ./envoy.nix {}; 291 ergo = handleTest ./ergo.nix {}; 292 ergochat = handleTest ./ergochat.nix {}; 293 eris-server = handleTest ./eris-server.nix {}; 294 esphome = handleTest ./esphome.nix {}; 295 etc = pkgs.callPackage ../modules/system/etc/test.nix { inherit evalMinimalConfig; }; 296 activation = pkgs.callPackage ../modules/system/activation/test.nix { }; 297 activation-var = runTest ./activation/var.nix; 298 activation-nix-channel = runTest ./activation/nix-channel.nix; 299 activation-etc-overlay-mutable = runTest ./activation/etc-overlay-mutable.nix; 300 activation-etc-overlay-immutable = runTest ./activation/etc-overlay-immutable.nix; 301 activation-perlless = runTest ./activation/perlless.nix; 302 etcd = handleTestOn [ "aarch64-linux" "x86_64-linux" ] ./etcd/etcd.nix {}; 303 etcd-cluster = handleTestOn [ "aarch64-linux" "x86_64-linux" ] ./etcd/etcd-cluster.nix {}; 304 etebase-server = handleTest ./etebase-server.nix {}; 305 etesync-dav = handleTest ./etesync-dav.nix {}; 306 evcc = handleTest ./evcc.nix {}; 307 fail2ban = handleTest ./fail2ban.nix { }; 308 fakeroute = handleTest ./fakeroute.nix {}; 309 fancontrol = handleTest ./fancontrol.nix {}; 310 fanout = handleTest ./fanout.nix {}; 311 fcitx5 = handleTest ./fcitx5 {}; 312 fenics = handleTest ./fenics.nix {}; 313 ferm = handleTest ./ferm.nix {}; 314 ferretdb = handleTest ./ferretdb.nix {}; 315 filesender = handleTest ./filesender.nix {}; 316 filesystems-overlayfs = runTest ./filesystems-overlayfs.nix; 317 firefly-iii = handleTest ./firefly-iii.nix {}; 318 firefox = handleTest ./firefox.nix { firefoxPackage = pkgs.firefox; }; 319 firefox-beta = handleTest ./firefox.nix { firefoxPackage = pkgs.firefox-beta; }; 320 firefox-devedition = handleTest ./firefox.nix { firefoxPackage = pkgs.firefox-devedition; }; 321 firefox-esr = handleTest ./firefox.nix { firefoxPackage = pkgs.firefox-esr; }; # used in `tested` job 322 firefox-esr-115 = handleTest ./firefox.nix { firefoxPackage = pkgs.firefox-esr-115; }; 323 firefoxpwa = handleTest ./firefoxpwa.nix {}; 324 firejail = handleTest ./firejail.nix {}; 325 firewall = handleTest ./firewall.nix { nftables = false; }; 326 firewall-nftables = handleTest ./firewall.nix { nftables = true; }; 327 fish = handleTest ./fish.nix {}; 328 flannel = handleTestOn ["x86_64-linux"] ./flannel.nix {}; 329 floorp = handleTest ./firefox.nix { firefoxPackage = pkgs.floorp; }; 330 fluentd = handleTest ./fluentd.nix {}; 331 fluidd = handleTest ./fluidd.nix {}; 332 fontconfig-default-fonts = handleTest ./fontconfig-default-fonts.nix {}; 333 forgejo = handleTest ./forgejo.nix { }; 334 freenet = handleTest ./freenet.nix {}; 335 freeswitch = handleTest ./freeswitch.nix {}; 336 freetube = discoverTests (import ./freetube.nix); 337 freshrss-sqlite = handleTest ./freshrss-sqlite.nix {}; 338 freshrss-pgsql = handleTest ./freshrss-pgsql.nix {}; 339 freshrss-http-auth = handleTest ./freshrss-http-auth.nix {}; 340 freshrss-none-auth = handleTest ./freshrss-none-auth.nix {}; 341 frigate = handleTest ./frigate.nix {}; 342 frp = handleTest ./frp.nix {}; 343 frr = handleTest ./frr.nix {}; 344 fsck = handleTest ./fsck.nix {}; 345 fsck-systemd-stage-1 = handleTest ./fsck.nix { systemdStage1 = true; }; 346 ft2-clone = handleTest ./ft2-clone.nix {}; 347 legit = handleTest ./legit.nix {}; 348 mimir = handleTest ./mimir.nix {}; 349 garage = handleTest ./garage {}; 350 gemstash = handleTest ./gemstash.nix {}; 351 geoserver = runTest ./geoserver.nix; 352 gerrit = handleTest ./gerrit.nix {}; 353 geth = handleTest ./geth.nix {}; 354 ghostunnel = handleTest ./ghostunnel.nix {}; 355 gitdaemon = handleTest ./gitdaemon.nix {}; 356 gitea = handleTest ./gitea.nix { giteaPackage = pkgs.gitea; }; 357 github-runner = handleTest ./github-runner.nix {}; 358 gitlab = runTest ./gitlab.nix; 359 gitolite = handleTest ./gitolite.nix {}; 360 gitolite-fcgiwrap = handleTest ./gitolite-fcgiwrap.nix {}; 361 glusterfs = handleTest ./glusterfs.nix {}; 362 gnome = handleTest ./gnome.nix {}; 363 gnome-extensions = handleTest ./gnome-extensions.nix {}; 364 gnome-flashback = handleTest ./gnome-flashback.nix {}; 365 gnome-xorg = handleTest ./gnome-xorg.nix {}; 366 gns3-server = handleTest ./gns3-server.nix {}; 367 gnupg = handleTest ./gnupg.nix {}; 368 go-neb = handleTest ./go-neb.nix {}; 369 gobgpd = handleTest ./gobgpd.nix {}; 370 gocd-agent = handleTest ./gocd-agent.nix {}; 371 gocd-server = handleTest ./gocd-server.nix {}; 372 gollum = handleTest ./gollum.nix {}; 373 gonic = handleTest ./gonic.nix {}; 374 google-oslogin = handleTest ./google-oslogin {}; 375 goss = handleTest ./goss.nix {}; 376 gotify-server = handleTest ./gotify-server.nix {}; 377 gotosocial = runTest ./web-apps/gotosocial.nix; 378 grafana = handleTest ./grafana {}; 379 grafana-agent = handleTest ./grafana-agent.nix {}; 380 graphite = handleTest ./graphite.nix {}; 381 graylog = handleTest ./graylog.nix {}; 382 grocy = handleTest ./grocy.nix {}; 383 grow-partition = runTest ./grow-partition.nix; 384 grub = handleTest ./grub.nix {}; 385 guacamole-server = handleTest ./guacamole-server.nix {}; 386 guix = handleTest ./guix {}; 387 gvisor = handleTest ./gvisor.nix {}; 388 hadoop = import ./hadoop { inherit handleTestOn; package=pkgs.hadoop; }; 389 hadoop_3_2 = import ./hadoop { inherit handleTestOn; package=pkgs.hadoop_3_2; }; 390 hadoop2 = import ./hadoop { inherit handleTestOn; package=pkgs.hadoop2; }; 391 haka = handleTest ./haka.nix {}; 392 haste-server = handleTest ./haste-server.nix {}; 393 haproxy = handleTest ./haproxy.nix {}; 394 hardened = handleTest ./hardened.nix {}; 395 harmonia = runTest ./harmonia.nix; 396 headscale = handleTest ./headscale.nix {}; 397 healthchecks = handleTest ./web-apps/healthchecks.nix {}; 398 hbase2 = handleTest ./hbase.nix { package=pkgs.hbase2; }; 399 hbase_2_4 = handleTest ./hbase.nix { package=pkgs.hbase_2_4; }; 400 hbase3 = handleTest ./hbase.nix { package=pkgs.hbase3; }; 401 hddfancontrol = handleTest ./hddfancontrol.nix {}; 402 hedgedoc = handleTest ./hedgedoc.nix {}; 403 herbstluftwm = handleTest ./herbstluftwm.nix {}; 404 homepage-dashboard = handleTest ./homepage-dashboard.nix {}; 405 honk = runTest ./honk.nix; 406 installed-tests = pkgs.recurseIntoAttrs (handleTest ./installed-tests {}); 407 invidious = handleTest ./invidious.nix {}; 408 isolate = handleTest ./isolate.nix {}; 409 livebook-service = handleTest ./livebook-service.nix {}; 410 pyload = handleTest ./pyload.nix {}; 411 oci-containers = handleTestOn ["aarch64-linux" "x86_64-linux"] ./oci-containers.nix {}; 412 odoo = handleTest ./odoo.nix {}; 413 odoo15 = handleTest ./odoo.nix { package = pkgs.odoo15; }; 414 # 9pnet_virtio used to mount /nix partition doesn't support 415 # hibernation. This test happens to work on x86_64-linux but 416 # not on other platforms. 417 hibernate = handleTestOn ["x86_64-linux"] ./hibernate.nix {}; 418 hibernate-systemd-stage-1 = handleTestOn ["x86_64-linux"] ./hibernate.nix { systemdStage1 = true; }; 419 hitch = handleTest ./hitch {}; 420 hledger-web = handleTest ./hledger-web.nix {}; 421 hocker-fetchdocker = handleTest ./hocker-fetchdocker {}; 422 hockeypuck = handleTest ./hockeypuck.nix { }; 423 home-assistant = handleTest ./home-assistant.nix {}; 424 hostname = handleTest ./hostname.nix {}; 425 hound = handleTest ./hound.nix {}; 426 hub = handleTest ./git/hub.nix {}; 427 hydra = handleTest ./hydra {}; 428 i3wm = handleTest ./i3wm.nix {}; 429 icingaweb2 = handleTest ./icingaweb2.nix {}; 430 iftop = handleTest ./iftop.nix {}; 431 incron = handleTest ./incron.nix {}; 432 incus = pkgs.recurseIntoAttrs (handleTest ./incus { inherit handleTestOn; inherit (pkgs) incus; }); 433 incus-lts = pkgs.recurseIntoAttrs (handleTest ./incus { inherit handleTestOn; }); 434 influxdb = handleTest ./influxdb.nix {}; 435 influxdb2 = handleTest ./influxdb2.nix {}; 436 initrd-network-openvpn = handleTestOn [ "x86_64-linux" "i686-linux" ] ./initrd-network-openvpn {}; 437 initrd-network-ssh = handleTest ./initrd-network-ssh {}; 438 initrd-luks-empty-passphrase = handleTest ./initrd-luks-empty-passphrase.nix {}; 439 initrdNetwork = handleTest ./initrd-network.nix {}; 440 initrd-secrets = handleTest ./initrd-secrets.nix {}; 441 initrd-secrets-changing = handleTest ./initrd-secrets-changing.nix {}; 442 input-remapper = handleTest ./input-remapper.nix {}; 443 inspircd = handleTest ./inspircd.nix {}; 444 installer = handleTest ./installer.nix {}; 445 installer-systemd-stage-1 = handleTest ./installer-systemd-stage-1.nix {}; 446 intune = handleTest ./intune.nix {}; 447 invoiceplane = handleTest ./invoiceplane.nix {}; 448 iodine = handleTest ./iodine.nix {}; 449 ipv6 = handleTest ./ipv6.nix {}; 450 iscsi-multipath-root = handleTest ./iscsi-multipath-root.nix {}; 451 iscsi-root = handleTest ./iscsi-root.nix {}; 452 isso = handleTest ./isso.nix {}; 453 jackett = handleTest ./jackett.nix {}; 454 jellyfin = handleTest ./jellyfin.nix {}; 455 jenkins = handleTest ./jenkins.nix {}; 456 jenkins-cli = handleTest ./jenkins-cli.nix {}; 457 jibri = handleTest ./jibri.nix {}; 458 jirafeau = handleTest ./jirafeau.nix {}; 459 jitsi-meet = handleTest ./jitsi-meet.nix {}; 460 jool = import ./jool.nix { inherit pkgs runTest; }; 461 jotta-cli = handleTest ./jotta-cli.nix {}; 462 k3s = handleTest ./k3s {}; 463 kafka = handleTest ./kafka.nix {}; 464 kanidm = handleTest ./kanidm.nix {}; 465 karma = handleTest ./karma.nix {}; 466 kavita = handleTest ./kavita.nix {}; 467 kbd-setfont-decompress = handleTest ./kbd-setfont-decompress.nix {}; 468 kbd-update-search-paths-patch = handleTest ./kbd-update-search-paths-patch.nix {}; 469 kea = handleTest ./kea.nix {}; 470 keepalived = handleTest ./keepalived.nix {}; 471 keepassxc = handleTest ./keepassxc.nix {}; 472 kerberos = handleTest ./kerberos/default.nix {}; 473 kernel-generic = handleTest ./kernel-generic.nix {}; 474 kernel-latest-ath-user-regd = handleTest ./kernel-latest-ath-user-regd.nix {}; 475 kernel-rust = handleTest ./kernel-rust.nix {}; 476 keter = handleTest ./keter.nix {}; 477 kexec = handleTest ./kexec.nix {}; 478 keycloak = discoverTests (import ./keycloak.nix); 479 keyd = handleTest ./keyd.nix {}; 480 keymap = handleTest ./keymap.nix {}; 481 knot = handleTest ./knot.nix {}; 482 komga = handleTest ./komga.nix {}; 483 krb5 = discoverTests (import ./krb5); 484 ksm = handleTest ./ksm.nix {}; 485 kthxbye = handleTest ./kthxbye.nix {}; 486 kubernetes = handleTestOn ["x86_64-linux"] ./kubernetes {}; 487 kubo = import ./kubo { inherit recurseIntoAttrs runTest; }; 488 ladybird = handleTest ./ladybird.nix {}; 489 languagetool = handleTest ./languagetool.nix {}; 490 lanraragi = handleTest ./lanraragi.nix {}; 491 latestKernel.login = handleTest ./login.nix { latestKernel = true; }; 492 leaps = handleTest ./leaps.nix {}; 493 lemmy = handleTest ./lemmy.nix {}; 494 libinput = handleTest ./libinput.nix {}; 495 libreddit = handleTest ./libreddit.nix {}; 496 librenms = handleTest ./librenms.nix {}; 497 libresprite = handleTest ./libresprite.nix {}; 498 libreswan = handleTest ./libreswan.nix {}; 499 librewolf = handleTest ./firefox.nix { firefoxPackage = pkgs.librewolf; }; 500 libuiohook = handleTest ./libuiohook.nix {}; 501 libvirtd = handleTest ./libvirtd.nix {}; 502 lidarr = handleTest ./lidarr.nix {}; 503 lightdm = handleTest ./lightdm.nix {}; 504 lighttpd = handleTest ./lighttpd.nix {}; 505 limesurvey = handleTest ./limesurvey.nix {}; 506 listmonk = handleTestOn [ "x86_64-linux" "aarch64-linux" ] ./listmonk.nix {}; 507 litestream = handleTest ./litestream.nix {}; 508 lldap = handleTest ./lldap.nix {}; 509 locate = handleTest ./locate.nix {}; 510 login = handleTest ./login.nix {}; 511 logrotate = handleTest ./logrotate.nix {}; 512 loki = handleTest ./loki.nix {}; 513 luks = handleTest ./luks.nix {}; 514 lvm2 = handleTest ./lvm2 {}; 515 lxd = pkgs.recurseIntoAttrs (handleTest ./lxd { inherit handleTestOn; }); 516 lxd-image-server = handleTest ./lxd-image-server.nix {}; 517 #logstash = handleTest ./logstash.nix {}; 518 lomiri = handleTest ./lomiri.nix {}; 519 lomiri-system-settings = handleTest ./lomiri-system-settings.nix {}; 520 lorri = handleTest ./lorri/default.nix {}; 521 maddy = discoverTests (import ./maddy { inherit handleTest; }); 522 maestral = handleTest ./maestral.nix {}; 523 magic-wormhole-mailbox-server = handleTest ./magic-wormhole-mailbox-server.nix {}; 524 magnetico = handleTest ./magnetico.nix {}; 525 mailcatcher = handleTest ./mailcatcher.nix {}; 526 mailhog = handleTest ./mailhog.nix {}; 527 mailman = handleTest ./mailman.nix {}; 528 man = handleTest ./man.nix {}; 529 mariadb-galera = handleTest ./mysql/mariadb-galera.nix {}; 530 mastodon = discoverTests (import ./web-apps/mastodon { inherit handleTestOn; }); 531 pixelfed = discoverTests (import ./web-apps/pixelfed { inherit handleTestOn; }); 532 mate = handleTest ./mate.nix {}; 533 mate-wayland = handleTest ./mate-wayland.nix {}; 534 matter-server = handleTest ./matter-server.nix {}; 535 matomo = handleTest ./matomo.nix {}; 536 matrix-appservice-irc = handleTest ./matrix/appservice-irc.nix {}; 537 matrix-conduit = handleTest ./matrix/conduit.nix {}; 538 matrix-synapse = handleTest ./matrix/synapse.nix {}; 539 matrix-synapse-workers = handleTest ./matrix/synapse-workers.nix {}; 540 mautrix-meta-postgres = handleTest ./matrix/mautrix-meta-postgres.nix {}; 541 mautrix-meta-sqlite = handleTest ./matrix/mautrix-meta-sqlite.nix {}; 542 mattermost = handleTest ./mattermost.nix {}; 543 mealie = handleTest ./mealie.nix {}; 544 mediamtx = handleTest ./mediamtx.nix {}; 545 mediatomb = handleTest ./mediatomb.nix {}; 546 mediawiki = handleTest ./mediawiki.nix {}; 547 meilisearch = handleTest ./meilisearch.nix {}; 548 memcached = handleTest ./memcached.nix {}; 549 merecat = handleTest ./merecat.nix {}; 550 metabase = handleTest ./metabase.nix {}; 551 mihomo = handleTest ./mihomo.nix {}; 552 mindustry = handleTest ./mindustry.nix {}; 553 minecraft = handleTest ./minecraft.nix {}; 554 minecraft-server = handleTest ./minecraft-server.nix {}; 555 minidlna = handleTest ./minidlna.nix {}; 556 miniflux = handleTest ./miniflux.nix {}; 557 minio = handleTest ./minio.nix {}; 558 miriway = handleTest ./miriway.nix {}; 559 misc = handleTest ./misc.nix {}; 560 mjolnir = handleTest ./matrix/mjolnir.nix {}; 561 mobilizon = handleTest ./mobilizon.nix {}; 562 mod_perl = handleTest ./mod_perl.nix {}; 563 molly-brown = handleTest ./molly-brown.nix {}; 564 mollysocket = handleTest ./mollysocket.nix { }; 565 monado = handleTest ./monado.nix {}; 566 monetdb = handleTest ./monetdb.nix {}; 567 monica = handleTest ./web-apps/monica.nix {}; 568 mongodb = handleTest ./mongodb.nix {}; 569 moodle = handleTest ./moodle.nix {}; 570 moonraker = handleTest ./moonraker.nix {}; 571 morph-browser = handleTest ./morph-browser.nix { }; 572 morty = handleTest ./morty.nix {}; 573 mosquitto = handleTest ./mosquitto.nix {}; 574 moosefs = handleTest ./moosefs.nix {}; 575 movim = discoverTests (import ./web-apps/movim { inherit handleTestOn; }); 576 mpd = handleTest ./mpd.nix {}; 577 mpv = handleTest ./mpv.nix {}; 578 mtp = handleTest ./mtp.nix {}; 579 multipass = handleTest ./multipass.nix {}; 580 mumble = handleTest ./mumble.nix {}; 581 # Fails on aarch64-linux at the PDF creation step - need to debug this on an 582 # aarch64 machine.. 583 musescore = handleTestOn ["x86_64-linux"] ./musescore.nix {}; 584 munin = handleTest ./munin.nix {}; 585 mutableUsers = handleTest ./mutable-users.nix {}; 586 mxisd = handleTest ./mxisd.nix {}; 587 mycelium = handleTest ./mycelium {}; 588 mympd = handleTest ./mympd.nix {}; 589 mysql = handleTest ./mysql/mysql.nix {}; 590 mysql-autobackup = handleTest ./mysql/mysql-autobackup.nix {}; 591 mysql-backup = handleTest ./mysql/mysql-backup.nix {}; 592 mysql-replication = handleTest ./mysql/mysql-replication.nix {}; 593 n8n = handleTest ./n8n.nix {}; 594 nagios = handleTestOn [ "x86_64-linux" "aarch64-linux" ] ./nagios.nix {}; 595 nar-serve = handleTest ./nar-serve.nix {}; 596 nat.firewall = handleTest ./nat.nix { withFirewall = true; }; 597 nat.standalone = handleTest ./nat.nix { withFirewall = false; }; 598 nat.nftables.firewall = handleTest ./nat.nix { withFirewall = true; nftables = true; }; 599 nat.nftables.standalone = handleTest ./nat.nix { withFirewall = false; nftables = true; }; 600 nats = handleTest ./nats.nix {}; 601 navidrome = handleTest ./navidrome.nix {}; 602 nbd = handleTest ./nbd.nix {}; 603 ncdns = handleTest ./ncdns.nix {}; 604 ndppd = handleTest ./ndppd.nix {}; 605 nebula = handleTest ./nebula.nix {}; 606 netbird = handleTest ./netbird.nix {}; 607 nimdow = handleTest ./nimdow.nix {}; 608 neo4j = handleTest ./neo4j.nix {}; 609 netdata = handleTest ./netdata.nix {}; 610 networking.scripted = handleTest ./networking/networkd-and-scripted.nix { networkd = false; }; 611 networking.networkd = handleTest ./networking/networkd-and-scripted.nix { networkd = true; }; 612 networking.networkmanager = handleTest ./networking/networkmanager.nix {}; 613 netbox_3_6 = handleTest ./web-apps/netbox.nix { netbox = pkgs.netbox_3_6; }; 614 netbox_3_7 = handleTest ./web-apps/netbox.nix { netbox = pkgs.netbox_3_7; }; 615 netbox-upgrade = handleTest ./web-apps/netbox-upgrade.nix {}; 616 # TODO: put in networking.nix after the test becomes more complete 617 networkingProxy = handleTest ./networking-proxy.nix {}; 618 nextcloud = handleTest ./nextcloud {}; 619 nexus = handleTest ./nexus.nix {}; 620 # TODO: Test nfsv3 + Kerberos 621 nfs3 = handleTest ./nfs { version = 3; }; 622 nfs4 = handleTest ./nfs { version = 4; }; 623 nghttpx = handleTest ./nghttpx.nix {}; 624 nginx = handleTest ./nginx.nix {}; 625 nginx-auth = handleTest ./nginx-auth.nix {}; 626 nginx-etag = handleTest ./nginx-etag.nix {}; 627 nginx-etag-compression = handleTest ./nginx-etag-compression.nix {}; 628 nginx-globalredirect = handleTest ./nginx-globalredirect.nix {}; 629 nginx-http3 = handleTest ./nginx-http3.nix {}; 630 nginx-modsecurity = handleTest ./nginx-modsecurity.nix {}; 631 nginx-moreheaders = handleTest ./nginx-moreheaders.nix {}; 632 nginx-njs = handleTest ./nginx-njs.nix {}; 633 nginx-proxyprotocol = handleTest ./nginx-proxyprotocol {}; 634 nginx-pubhtml = handleTest ./nginx-pubhtml.nix {}; 635 nginx-redirectcode = handleTest ./nginx-redirectcode.nix {}; 636 nginx-sso = handleTest ./nginx-sso.nix {}; 637 nginx-status-page = handleTest ./nginx-status-page.nix {}; 638 nginx-tmpdir = handleTest ./nginx-tmpdir.nix {}; 639 nginx-unix-socket = handleTest ./nginx-unix-socket.nix {}; 640 nginx-variants = handleTest ./nginx-variants.nix {}; 641 nifi = handleTestOn ["x86_64-linux"] ./web-apps/nifi.nix {}; 642 nitter = handleTest ./nitter.nix {}; 643 nix-config = handleTest ./nix-config.nix {}; 644 nix-ld = handleTest ./nix-ld.nix {}; 645 nix-serve = handleTest ./nix-serve.nix {}; 646 nix-serve-ssh = handleTest ./nix-serve-ssh.nix {}; 647 nixops = handleTest ./nixops/default.nix {}; 648 nixos-generate-config = handleTest ./nixos-generate-config.nix {}; 649 nixos-rebuild-install-bootloader = handleTestOn ["x86_64-linux"] ./nixos-rebuild-install-bootloader.nix {}; 650 nixos-rebuild-specialisations = handleTestOn ["x86_64-linux"] ./nixos-rebuild-specialisations.nix {}; 651 nixos-rebuild-target-host = handleTest ./nixos-rebuild-target-host.nix {}; 652 nixpkgs = pkgs.callPackage ../modules/misc/nixpkgs/test.nix { inherit evalMinimalConfig; }; 653 nixseparatedebuginfod = handleTest ./nixseparatedebuginfod.nix {}; 654 node-red = handleTest ./node-red.nix {}; 655 nomad = handleTest ./nomad.nix {}; 656 non-default-filesystems = handleTest ./non-default-filesystems.nix {}; 657 non-switchable-system = runTest ./non-switchable-system.nix; 658 noto-fonts = handleTest ./noto-fonts.nix {}; 659 noto-fonts-cjk-qt-default-weight = handleTest ./noto-fonts-cjk-qt-default-weight.nix {}; 660 novacomd = handleTestOn ["x86_64-linux"] ./novacomd.nix {}; 661 npmrc = handleTest ./npmrc.nix {}; 662 nscd = handleTest ./nscd.nix {}; 663 nsd = handleTest ./nsd.nix {}; 664 ntfy-sh = handleTest ./ntfy-sh.nix {}; 665 ntfy-sh-migration = handleTest ./ntfy-sh-migration.nix {}; 666 ntpd-rs = handleTest ./ntpd-rs.nix {}; 667 nvmetcfg = handleTest ./nvmetcfg.nix {}; 668 nzbget = handleTest ./nzbget.nix {}; 669 nzbhydra2 = handleTest ./nzbhydra2.nix {}; 670 ocis = handleTest ./ocis.nix {}; 671 oddjobd = handleTestOn [ "x86_64-linux" "aarch64-linux" ] ./oddjobd.nix {}; 672 oh-my-zsh = handleTest ./oh-my-zsh.nix {}; 673 ollama = handleTest ./ollama.nix {}; 674 ombi = handleTest ./ombi.nix {}; 675 openarena = handleTest ./openarena.nix {}; 676 openldap = handleTest ./openldap.nix {}; 677 opensearch = discoverTests (import ./opensearch.nix); 678 openresty-lua = handleTest ./openresty-lua.nix {}; 679 opensmtpd = handleTest ./opensmtpd.nix {}; 680 opensmtpd-rspamd = handleTest ./opensmtpd-rspamd.nix {}; 681 opensnitch = handleTest ./opensnitch.nix {}; 682 openssh = handleTest ./openssh.nix {}; 683 octoprint = handleTest ./octoprint.nix {}; 684 openstack-image-metadata = (handleTestOn ["x86_64-linux"] ./openstack-image.nix {}).metadata or {}; 685 openstack-image-userdata = (handleTestOn ["x86_64-linux"] ./openstack-image.nix {}).userdata or {}; 686 opentabletdriver = handleTest ./opentabletdriver.nix {}; 687 opentelemetry-collector = handleTest ./opentelemetry-collector.nix {}; 688 ocsinventory-agent = handleTestOn [ "x86_64-linux" "aarch64-linux" ] ./ocsinventory-agent.nix {}; 689 owncast = handleTest ./owncast.nix {}; 690 outline = handleTest ./outline.nix {}; 691 image-contents = handleTest ./image-contents.nix {}; 692 openvscode-server = handleTest ./openvscode-server.nix {}; 693 orangefs = handleTest ./orangefs.nix {}; 694 os-prober = handleTestOn ["x86_64-linux"] ./os-prober.nix {}; 695 osquery = handleTestOn ["x86_64-linux"] ./osquery.nix {}; 696 osrm-backend = handleTest ./osrm-backend.nix {}; 697 overlayfs = handleTest ./overlayfs.nix {}; 698 pacemaker = handleTest ./pacemaker.nix {}; 699 packagekit = handleTest ./packagekit.nix {}; 700 pam-file-contents = handleTest ./pam/pam-file-contents.nix {}; 701 pam-oath-login = handleTest ./pam/pam-oath-login.nix {}; 702 pam-u2f = handleTest ./pam/pam-u2f.nix {}; 703 pam-ussh = handleTest ./pam/pam-ussh.nix {}; 704 pam-zfs-key = handleTest ./pam/zfs-key.nix {}; 705 pass-secret-service = handleTest ./pass-secret-service.nix {}; 706 patroni = handleTestOn ["x86_64-linux"] ./patroni.nix {}; 707 pantalaimon = handleTest ./matrix/pantalaimon.nix {}; 708 pantheon = handleTest ./pantheon.nix {}; 709 paperless = handleTest ./paperless.nix {}; 710 parsedmarc = handleTest ./parsedmarc {}; 711 pdns-recursor = handleTest ./pdns-recursor.nix {}; 712 peerflix = handleTest ./peerflix.nix {}; 713 peering-manager = handleTest ./web-apps/peering-manager.nix {}; 714 peertube = handleTestOn ["x86_64-linux"] ./web-apps/peertube.nix {}; 715 peroxide = handleTest ./peroxide.nix {}; 716 pg_anonymizer = handleTest ./pg_anonymizer.nix {}; 717 pgadmin4 = handleTest ./pgadmin4.nix {}; 718 pgbouncer = handleTest ./pgbouncer.nix {}; 719 pgjwt = handleTest ./pgjwt.nix {}; 720 pgmanage = handleTest ./pgmanage.nix {}; 721 pgvecto-rs = handleTest ./pgvecto-rs.nix {}; 722 phosh = handleTest ./phosh.nix {}; 723 photonvision = handleTest ./photonvision.nix {}; 724 photoprism = handleTest ./photoprism.nix {}; 725 php = handleTest ./php {}; 726 php81 = handleTest ./php { php = pkgs.php81; }; 727 php82 = handleTest ./php { php = pkgs.php82; }; 728 php83 = handleTest ./php { php = pkgs.php83; }; 729 phylactery = handleTest ./web-apps/phylactery.nix {}; 730 pict-rs = handleTest ./pict-rs.nix {}; 731 pinnwand = handleTest ./pinnwand.nix {}; 732 plantuml-server = handleTest ./plantuml-server.nix {}; 733 plasma-bigscreen = handleTest ./plasma-bigscreen.nix {}; 734 plasma5 = handleTest ./plasma5.nix {}; 735 plasma6 = handleTest ./plasma6.nix {}; 736 plasma5-systemd-start = handleTest ./plasma5-systemd-start.nix {}; 737 plausible = handleTest ./plausible.nix {}; 738 please = handleTest ./please.nix {}; 739 pleroma = handleTestOn [ "x86_64-linux" "aarch64-linux" ] ./pleroma.nix {}; 740 plikd = handleTest ./plikd.nix {}; 741 plotinus = handleTest ./plotinus.nix {}; 742 podgrab = handleTest ./podgrab.nix {}; 743 podman = handleTestOn ["aarch64-linux" "x86_64-linux"] ./podman/default.nix {}; 744 podman-tls-ghostunnel = handleTestOn ["aarch64-linux" "x86_64-linux"] ./podman/tls-ghostunnel.nix {}; 745 polaris = handleTest ./polaris.nix {}; 746 pomerium = handleTestOn ["x86_64-linux"] ./pomerium.nix {}; 747 portunus = handleTest ./portunus.nix { }; 748 postfix = handleTest ./postfix.nix {}; 749 postfix-raise-smtpd-tls-security-level = handleTest ./postfix-raise-smtpd-tls-security-level.nix {}; 750 postfixadmin = handleTest ./postfixadmin.nix {}; 751 postgis = handleTest ./postgis.nix {}; 752 apache_datasketches = handleTest ./apache_datasketches.nix {}; 753 postgresql = handleTest ./postgresql.nix {}; 754 postgresql-jit = handleTest ./postgresql-jit.nix {}; 755 postgresql-wal-receiver = handleTest ./postgresql-wal-receiver.nix {}; 756 powerdns = handleTest ./powerdns.nix {}; 757 powerdns-admin = handleTest ./powerdns-admin.nix {}; 758 power-profiles-daemon = handleTest ./power-profiles-daemon.nix {}; 759 pppd = handleTest ./pppd.nix {}; 760 predictable-interface-names = handleTest ./predictable-interface-names.nix {}; 761 pretalx = runTest ./web-apps/pretalx.nix; 762 pretix = runTest ./web-apps/pretix.nix; 763 printing-socket = handleTest ./printing.nix { socket = true; }; 764 printing-service = handleTest ./printing.nix { socket = false; }; 765 private-gpt = handleTest ./private-gpt.nix {}; 766 privoxy = handleTest ./privoxy.nix {}; 767 prometheus = handleTest ./prometheus.nix {}; 768 prometheus-exporters = handleTest ./prometheus-exporters.nix {}; 769 prosody = handleTest ./xmpp/prosody.nix {}; 770 prosody-mysql = handleTest ./xmpp/prosody-mysql.nix {}; 771 proxy = handleTest ./proxy.nix {}; 772 prowlarr = handleTest ./prowlarr.nix {}; 773 pt2-clone = handleTest ./pt2-clone.nix {}; 774 pykms = handleTest ./pykms.nix {}; 775 public-inbox = handleTest ./public-inbox.nix {}; 776 pufferpanel = handleTest ./pufferpanel.nix {}; 777 pulseaudio = discoverTests (import ./pulseaudio.nix); 778 qboot = handleTestOn ["x86_64-linux" "i686-linux"] ./qboot.nix {}; 779 qemu-vm-restrictnetwork = handleTest ./qemu-vm-restrictnetwork.nix {}; 780 qemu-vm-volatile-root = runTest ./qemu-vm-volatile-root.nix; 781 qemu-vm-external-disk-image = runTest ./qemu-vm-external-disk-image.nix; 782 qgis = handleTest ./qgis.nix { qgisPackage = pkgs.qgis; }; 783 qgis-ltr = handleTest ./qgis.nix { qgisPackage = pkgs.qgis-ltr; }; 784 qownnotes = handleTest ./qownnotes.nix {}; 785 qtile = handleTest ./qtile.nix {}; 786 quake3 = handleTest ./quake3.nix {}; 787 quicktun = handleTest ./quicktun.nix {}; 788 quorum = handleTest ./quorum.nix {}; 789 rabbitmq = handleTest ./rabbitmq.nix {}; 790 radarr = handleTest ./radarr.nix {}; 791 radicale = handleTest ./radicale.nix {}; 792 ragnarwm = handleTest ./ragnarwm.nix {}; 793 rasdaemon = handleTest ./rasdaemon.nix {}; 794 readarr = handleTest ./readarr.nix {}; 795 redis = handleTest ./redis.nix {}; 796 redlib = handleTest ./redlib.nix {}; 797 redmine = handleTest ./redmine.nix {}; 798 restartByActivationScript = handleTest ./restart-by-activation-script.nix {}; 799 restic-rest-server = handleTest ./restic-rest-server.nix {}; 800 restic = handleTest ./restic.nix {}; 801 retroarch = handleTest ./retroarch.nix {}; 802 rkvm = handleTest ./rkvm {}; 803 robustirc-bridge = handleTest ./robustirc-bridge.nix {}; 804 roundcube = handleTest ./roundcube.nix {}; 805 rosenpass = handleTest ./rosenpass.nix {}; 806 rshim = handleTest ./rshim.nix {}; 807 rspamd = handleTest ./rspamd.nix {}; 808 rspamd-trainer = handleTest ./rspamd-trainer.nix {}; 809 rss2email = handleTest ./rss2email.nix {}; 810 rstudio-server = handleTest ./rstudio-server.nix {}; 811 rsyncd = handleTest ./rsyncd.nix {}; 812 rsyslogd = handleTest ./rsyslogd.nix {}; 813 rxe = handleTest ./rxe.nix {}; 814 sabnzbd = handleTest ./sabnzbd.nix {}; 815 samba = handleTest ./samba.nix {}; 816 samba-wsdd = handleTest ./samba-wsdd.nix {}; 817 sane = handleTest ./sane.nix {}; 818 sanoid = handleTest ./sanoid.nix {}; 819 scaphandre = handleTest ./scaphandre.nix {}; 820 schleuder = handleTest ./schleuder.nix {}; 821 scion-freestanding-deployment = handleTest ./scion/freestanding-deployment {}; 822 scrutiny = handleTest ./scrutiny.nix {}; 823 sddm = handleTest ./sddm.nix {}; 824 seafile = handleTest ./seafile.nix {}; 825 searx = handleTest ./searx.nix {}; 826 seatd = handleTest ./seatd.nix {}; 827 service-runner = handleTest ./service-runner.nix {}; 828 sftpgo = runTest ./sftpgo.nix; 829 sfxr-qt = handleTest ./sfxr-qt.nix {}; 830 sgt-puzzles = handleTest ./sgt-puzzles.nix {}; 831 shadow = handleTest ./shadow.nix {}; 832 shadowsocks = handleTest ./shadowsocks {}; 833 shattered-pixel-dungeon = handleTest ./shattered-pixel-dungeon.nix {}; 834 shiori = handleTest ./shiori.nix {}; 835 signal-desktop = handleTest ./signal-desktop.nix {}; 836 silverbullet = handleTest ./silverbullet.nix {}; 837 simple = handleTest ./simple.nix {}; 838 sing-box = handleTest ./sing-box.nix {}; 839 slimserver = handleTest ./slimserver.nix {}; 840 slurm = handleTest ./slurm.nix {}; 841 snmpd = handleTest ./snmpd.nix {}; 842 smokeping = handleTest ./smokeping.nix {}; 843 snapcast = handleTest ./snapcast.nix {}; 844 snapper = handleTest ./snapper.nix {}; 845 snipe-it = runTest ./web-apps/snipe-it.nix; 846 soapui = handleTest ./soapui.nix {}; 847 soft-serve = handleTest ./soft-serve.nix {}; 848 sogo = handleTest ./sogo.nix {}; 849 soju = handleTest ./soju.nix {}; 850 solanum = handleTest ./solanum.nix {}; 851 sonarr = handleTest ./sonarr.nix {}; 852 sonic-server = handleTest ./sonic-server.nix {}; 853 sourcehut = handleTest ./sourcehut {}; 854 spacecookie = handleTest ./spacecookie.nix {}; 855 spark = handleTestOn [ "x86_64-linux" "aarch64-linux" ] ./spark {}; 856 sqlite3-to-mysql = handleTest ./sqlite3-to-mysql.nix {}; 857 sslh = handleTest ./sslh.nix {}; 858 ssh-agent-auth = handleTest ./ssh-agent-auth.nix {}; 859 ssh-audit = handleTest ./ssh-audit.nix {}; 860 sssd = handleTestOn [ "x86_64-linux" "aarch64-linux" ] ./sssd.nix {}; 861 sssd-ldap = handleTestOn [ "x86_64-linux" "aarch64-linux" ] ./sssd-ldap.nix {}; 862 stalwart-mail = handleTest ./stalwart-mail.nix {}; 863 stargazer = runTest ./web-servers/stargazer.nix; 864 starship = handleTest ./starship.nix {}; 865 static-web-server = handleTest ./web-servers/static-web-server.nix {}; 866 step-ca = handleTestOn ["x86_64-linux"] ./step-ca.nix {}; 867 stratis = handleTest ./stratis {}; 868 strongswan-swanctl = handleTest ./strongswan-swanctl.nix {}; 869 stub-ld = handleTestOn [ "x86_64-linux" "aarch64-linux" ] ./stub-ld.nix {}; 870 stunnel = handleTest ./stunnel.nix {}; 871 sudo = handleTest ./sudo.nix {}; 872 sudo-rs = handleTest ./sudo-rs.nix {}; 873 sunshine = handleTest ./sunshine.nix {}; 874 suwayomi-server = handleTest ./suwayomi-server.nix {}; 875 swap-file-btrfs = handleTest ./swap-file-btrfs.nix {}; 876 swap-partition = handleTest ./swap-partition.nix {}; 877 swap-random-encryption = handleTest ./swap-random-encryption.nix {}; 878 sway = handleTest ./sway.nix {}; 879 swayfx = handleTest ./swayfx.nix {}; 880 switchTest = handleTest ./switch-test.nix { ng = false; }; 881 switchTestNg = handleTest ./switch-test.nix { ng = true; }; 882 sympa = handleTest ./sympa.nix {}; 883 syncthing = handleTest ./syncthing.nix {}; 884 syncthing-no-settings = handleTest ./syncthing-no-settings.nix {}; 885 syncthing-init = handleTest ./syncthing-init.nix {}; 886 syncthing-many-devices = handleTest ./syncthing-many-devices.nix {}; 887 syncthing-relay = handleTest ./syncthing-relay.nix {}; 888 sysinit-reactivation = runTest ./sysinit-reactivation.nix; 889 systemd = handleTest ./systemd.nix {}; 890 systemd-analyze = handleTest ./systemd-analyze.nix {}; 891 systemd-binfmt = handleTestOn ["x86_64-linux"] ./systemd-binfmt.nix {}; 892 systemd-boot = handleTest ./systemd-boot.nix {}; 893 systemd-bpf = handleTest ./systemd-bpf.nix {}; 894 systemd-confinement = handleTest ./systemd-confinement {}; 895 systemd-coredump = handleTest ./systemd-coredump.nix {}; 896 systemd-cryptenroll = handleTest ./systemd-cryptenroll.nix {}; 897 systemd-credentials-tpm2 = handleTest ./systemd-credentials-tpm2.nix {}; 898 systemd-escaping = handleTest ./systemd-escaping.nix {}; 899 systemd-initrd-bridge = handleTest ./systemd-initrd-bridge.nix {}; 900 systemd-initrd-btrfs-raid = handleTest ./systemd-initrd-btrfs-raid.nix {}; 901 systemd-initrd-luks-fido2 = handleTest ./systemd-initrd-luks-fido2.nix {}; 902 systemd-initrd-luks-keyfile = handleTest ./systemd-initrd-luks-keyfile.nix {}; 903 systemd-initrd-luks-empty-passphrase = handleTest ./initrd-luks-empty-passphrase.nix { systemdStage1 = true; }; 904 systemd-initrd-luks-password = handleTest ./systemd-initrd-luks-password.nix {}; 905 systemd-initrd-luks-tpm2 = handleTest ./systemd-initrd-luks-tpm2.nix {}; 906 systemd-initrd-luks-unl0kr = handleTest ./systemd-initrd-luks-unl0kr.nix {}; 907 systemd-initrd-modprobe = handleTest ./systemd-initrd-modprobe.nix {}; 908 systemd-initrd-shutdown = handleTest ./systemd-shutdown.nix { systemdStage1 = true; }; 909 systemd-initrd-simple = handleTest ./systemd-initrd-simple.nix {}; 910 systemd-initrd-swraid = handleTest ./systemd-initrd-swraid.nix {}; 911 systemd-initrd-vconsole = handleTest ./systemd-initrd-vconsole.nix {}; 912 systemd-initrd-networkd = handleTest ./systemd-initrd-networkd.nix {}; 913 systemd-initrd-networkd-ssh = handleTest ./systemd-initrd-networkd-ssh.nix {}; 914 systemd-initrd-networkd-openvpn = handleTestOn [ "x86_64-linux" "i686-linux" ] ./initrd-network-openvpn { systemdStage1 = true; }; 915 systemd-initrd-vlan = handleTest ./systemd-initrd-vlan.nix {}; 916 systemd-journal = handleTest ./systemd-journal.nix {}; 917 systemd-journal-gateway = handleTest ./systemd-journal-gateway.nix {}; 918 systemd-journal-upload = handleTest ./systemd-journal-upload.nix {}; 919 systemd-lock-handler = runTestOn ["aarch64-linux" "x86_64-linux"] ./systemd-lock-handler.nix; 920 systemd-machinectl = handleTest ./systemd-machinectl.nix {}; 921 systemd-networkd = handleTest ./systemd-networkd.nix {}; 922 systemd-networkd-bridge = handleTest ./systemd-networkd-bridge.nix {}; 923 systemd-networkd-dhcpserver = handleTest ./systemd-networkd-dhcpserver.nix {}; 924 systemd-networkd-dhcpserver-static-leases = handleTest ./systemd-networkd-dhcpserver-static-leases.nix {}; 925 systemd-networkd-ipv6-prefix-delegation = handleTest ./systemd-networkd-ipv6-prefix-delegation.nix {}; 926 systemd-networkd-vrf = handleTest ./systemd-networkd-vrf.nix {}; 927 systemd-no-tainted = handleTest ./systemd-no-tainted.nix {}; 928 systemd-nspawn = handleTest ./systemd-nspawn.nix {}; 929 systemd-nspawn-configfile = handleTest ./systemd-nspawn-configfile.nix {}; 930 systemd-oomd = handleTest ./systemd-oomd.nix {}; 931 systemd-portabled = handleTest ./systemd-portabled.nix {}; 932 systemd-repart = handleTest ./systemd-repart.nix {}; 933 systemd-shutdown = handleTest ./systemd-shutdown.nix {}; 934 systemd-sysupdate = runTest ./systemd-sysupdate.nix; 935 systemd-sysusers-mutable = runTest ./systemd-sysusers-mutable.nix; 936 systemd-sysusers-immutable = runTest ./systemd-sysusers-immutable.nix; 937 systemd-timesyncd = handleTest ./systemd-timesyncd.nix {}; 938 systemd-timesyncd-nscd-dnssec = handleTest ./systemd-timesyncd-nscd-dnssec.nix {}; 939 systemd-user-linger = handleTest ./systemd-user-linger.nix {}; 940 systemd-user-tmpfiles-rules = handleTest ./systemd-user-tmpfiles-rules.nix {}; 941 systemd-misc = handleTest ./systemd-misc.nix {}; 942 systemd-userdbd = handleTest ./systemd-userdbd.nix {}; 943 systemd-homed = handleTest ./systemd-homed.nix {}; 944 systemtap = handleTest ./systemtap.nix {}; 945 tandoor-recipes = handleTest ./tandoor-recipes.nix {}; 946 tang = handleTest ./tang.nix {}; 947 taskserver = handleTest ./taskserver.nix {}; 948 tayga = handleTest ./tayga.nix {}; 949 technitium-dns-server = handleTest ./technitium-dns-server.nix {}; 950 teeworlds = handleTest ./teeworlds.nix {}; 951 telegraf = handleTest ./telegraf.nix {}; 952 teleport = handleTest ./teleport.nix {}; 953 thelounge = handleTest ./thelounge.nix {}; 954 terminal-emulators = handleTest ./terminal-emulators.nix {}; 955 tiddlywiki = handleTest ./tiddlywiki.nix {}; 956 tigervnc = handleTest ./tigervnc.nix {}; 957 timescaledb = handleTest ./timescaledb.nix {}; 958 timezone = handleTest ./timezone.nix {}; 959 tinc = handleTest ./tinc {}; 960 tinydns = handleTest ./tinydns.nix {}; 961 tinyproxy = handleTest ./tinyproxy.nix {}; 962 tinywl = handleTest ./tinywl.nix {}; 963 tmate-ssh-server = handleTest ./tmate-ssh-server.nix { }; 964 tomcat = handleTest ./tomcat.nix {}; 965 tor = handleTest ./tor.nix {}; 966 traefik = handleTestOn ["aarch64-linux" "x86_64-linux"] ./traefik.nix {}; 967 trafficserver = handleTest ./trafficserver.nix {}; 968 transfer-sh = handleTest ./transfer-sh.nix {}; 969 transmission = handleTest ./transmission.nix { transmission = pkgs.transmission; }; 970 transmission_4 = handleTest ./transmission.nix { transmission = pkgs.transmission_4; }; 971 # tracee requires bpf 972 tracee = handleTestOn ["x86_64-linux"] ./tracee.nix {}; 973 trezord = handleTest ./trezord.nix {}; 974 trickster = handleTest ./trickster.nix {}; 975 trilium-server = handleTestOn ["x86_64-linux"] ./trilium-server.nix {}; 976 tsja = handleTest ./tsja.nix {}; 977 tsm-client-gui = handleTest ./tsm-client-gui.nix {}; 978 ttyd = handleTest ./web-servers/ttyd.nix {}; 979 txredisapi = handleTest ./txredisapi.nix {}; 980 tuptime = handleTest ./tuptime.nix {}; 981 turbovnc-headless-server = handleTest ./turbovnc-headless-server.nix {}; 982 tuxguitar = handleTest ./tuxguitar.nix {}; 983 twingate = runTest ./twingate.nix; 984 typesense = handleTest ./typesense.nix {}; 985 ucarp = handleTest ./ucarp.nix {}; 986 udisks2 = handleTest ./udisks2.nix {}; 987 ulogd = handleTest ./ulogd/ulogd.nix {}; 988 unbound = handleTest ./unbound.nix {}; 989 unifi = handleTest ./unifi.nix {}; 990 unit-php = handleTest ./web-servers/unit-php.nix {}; 991 upnp.iptables = handleTest ./upnp.nix { useNftables = false; }; 992 upnp.nftables = handleTest ./upnp.nix { useNftables = true; }; 993 uptermd = handleTest ./uptermd.nix {}; 994 uptime-kuma = handleTest ./uptime-kuma.nix {}; 995 urn-timer = handleTest ./urn-timer.nix {}; 996 usbguard = handleTest ./usbguard.nix {}; 997 user-activation-scripts = handleTest ./user-activation-scripts.nix {}; 998 user-expiry = runTest ./user-expiry.nix; 999 user-home-mode = handleTest ./user-home-mode.nix {}; 1000 ustreamer = handleTest ./ustreamer.nix {}; 1001 uwsgi = handleTest ./uwsgi.nix {}; 1002 v2ray = handleTest ./v2ray.nix {}; 1003 varnish60 = handleTest ./varnish.nix { package = pkgs.varnish60; }; 1004 varnish74 = handleTest ./varnish.nix { package = pkgs.varnish74; }; 1005 varnish75 = handleTest ./varnish.nix { package = pkgs.varnish75; }; 1006 vault = handleTest ./vault.nix {}; 1007 vault-agent = handleTest ./vault-agent.nix {}; 1008 vault-dev = handleTest ./vault-dev.nix {}; 1009 vault-postgresql = handleTest ./vault-postgresql.nix {}; 1010 vaultwarden = handleTest ./vaultwarden.nix {}; 1011 vector = handleTest ./vector {}; 1012 vengi-tools = handleTest ./vengi-tools.nix {}; 1013 victoriametrics = handleTest ./victoriametrics.nix {}; 1014 vikunja = handleTest ./vikunja.nix {}; 1015 virtualbox = handleTestOn ["x86_64-linux"] ./virtualbox.nix {}; 1016 vscode-remote-ssh = handleTestOn ["x86_64-linux"] ./vscode-remote-ssh.nix {}; 1017 vscodium = discoverTests (import ./vscodium.nix); 1018 vsftpd = handleTest ./vsftpd.nix {}; 1019 warzone2100 = handleTest ./warzone2100.nix {}; 1020 wasabibackend = handleTest ./wasabibackend.nix {}; 1021 wastebin = handleTest ./wastebin.nix {}; 1022 watchdogd = handleTest ./watchdogd.nix {}; 1023 webhook = runTest ./webhook.nix; 1024 wiki-js = handleTest ./wiki-js.nix {}; 1025 wine = handleTest ./wine.nix {}; 1026 wireguard = handleTest ./wireguard {}; 1027 without-nix = handleTest ./without-nix.nix {}; 1028 wmderland = handleTest ./wmderland.nix {}; 1029 workout-tracker = handleTest ./workout-tracker.nix {}; 1030 wpa_supplicant = handleTest ./wpa_supplicant.nix {}; 1031 wordpress = handleTest ./wordpress.nix {}; 1032 wrappers = handleTest ./wrappers.nix {}; 1033 writefreely = handleTest ./web-apps/writefreely.nix {}; 1034 xandikos = handleTest ./xandikos.nix {}; 1035 xautolock = handleTest ./xautolock.nix {}; 1036 xfce = handleTest ./xfce.nix {}; 1037 xmonad = handleTest ./xmonad.nix {}; 1038 xmonad-xdg-autostart = handleTest ./xmonad-xdg-autostart.nix {}; 1039 xpadneo = handleTest ./xpadneo.nix {}; 1040 xrdp = handleTest ./xrdp.nix {}; 1041 xrdp-with-audio-pulseaudio = handleTest ./xrdp-with-audio-pulseaudio.nix {}; 1042 xscreensaver = handleTest ./xscreensaver.nix {}; 1043 xss-lock = handleTest ./xss-lock.nix {}; 1044 xterm = handleTest ./xterm.nix {}; 1045 xxh = handleTest ./xxh.nix {}; 1046 yabar = handleTest ./yabar.nix {}; 1047 ydotool = handleTest ./ydotool.nix {}; 1048 yggdrasil = handleTest ./yggdrasil.nix {}; 1049 your_spotify = handleTest ./your_spotify.nix {}; 1050 zammad = handleTest ./zammad.nix {}; 1051 zeronet-conservancy = handleTest ./zeronet-conservancy.nix {}; 1052 zfs = handleTest ./zfs.nix {}; 1053 zigbee2mqtt = handleTest ./zigbee2mqtt.nix {}; 1054 zoneminder = handleTest ./zoneminder.nix {}; 1055 zookeeper = handleTest ./zookeeper.nix {}; 1056 zram-generator = handleTest ./zram-generator.nix {}; 1057 zrepl = handleTest ./zrepl.nix {}; 1058 zsh-history = handleTest ./zsh-history.nix {}; 1059 zwave-js = handleTest ./zwave-js.nix {}; 1060}