2022-06-25 10:47:50 +00:00
|
|
|
{ system,
|
|
|
|
pkgs,
|
|
|
|
|
|
|
|
# Projects the test configuration into a the desired value; usually
|
|
|
|
# the test runner: `config: config.test`.
|
|
|
|
callTest,
|
|
|
|
|
|
|
|
}:
|
2018-11-11 11:30:07 +00:00
|
|
|
# The return value of this function will be an attrset with arbitrary depth and
|
|
|
|
# the `anything` returned by callTest at its test leafs.
|
|
|
|
# The tests not supported by `system` will be replaced with `{}`, so that
|
2018-11-11 13:55:23 +00:00
|
|
|
# `passthru.tests` can contain links to those without breaking on architectures
|
2018-11-11 11:30:07 +00:00
|
|
|
# where said tests are unsupported.
|
|
|
|
# Example callTest that just extracts the derivation from the test:
|
|
|
|
# callTest = t: t.test;
|
|
|
|
|
|
|
|
with pkgs.lib;
|
|
|
|
|
|
|
|
let
|
|
|
|
discoverTests = val:
|
2022-06-25 19:26:50 +00:00
|
|
|
if isAttrs val
|
|
|
|
then
|
|
|
|
if hasAttr "test" val then callTest val
|
|
|
|
else mapAttrs (n: s: discoverTests s) val
|
|
|
|
else if isFunction val
|
|
|
|
then
|
|
|
|
# Tests based on make-test-python.nix will return the second lambda
|
|
|
|
# in that file, which are then forwarded to the test definition
|
|
|
|
# following the `import make-test-python.nix` expression
|
|
|
|
# (if it is a function).
|
|
|
|
discoverTests (val { inherit system pkgs; })
|
|
|
|
else val;
|
2018-11-11 11:30:07 +00:00
|
|
|
handleTest = path: args:
|
|
|
|
discoverTests (import path ({ inherit system pkgs; } // args));
|
|
|
|
handleTestOn = systems: path: args:
|
|
|
|
if elem system systems then handleTest path args
|
|
|
|
else {};
|
2021-12-03 12:04:36 +00:00
|
|
|
|
2022-01-07 00:09:46 +00:00
|
|
|
nixosLib = import ../lib {
|
|
|
|
# Experimental features need testing too, but there's no point in warning
|
|
|
|
# about it, so we enable the feature flag.
|
|
|
|
featureFlags.minimalModules = {};
|
|
|
|
};
|
2021-12-03 12:04:36 +00:00
|
|
|
evalMinimalConfig = module: nixosLib.evalModules { modules = [ module ]; };
|
2022-06-03 12:34:29 +00:00
|
|
|
|
2022-06-06 18:19:59 +00:00
|
|
|
inherit
|
|
|
|
(rec {
|
2022-09-29 08:32:31 +00:00
|
|
|
doRunTest = arg: ((import ../lib/testing-python.nix { inherit system pkgs; }).evalTest {
|
|
|
|
imports = [ arg ];
|
|
|
|
}).config.result;
|
2022-06-06 18:19:59 +00:00
|
|
|
findTests = tree:
|
|
|
|
if tree?recurseForDerivations && tree.recurseForDerivations
|
2022-06-25 10:47:50 +00:00
|
|
|
then
|
|
|
|
mapAttrs
|
|
|
|
(k: findTests)
|
|
|
|
(builtins.removeAttrs tree ["recurseForDerivations"])
|
|
|
|
else callTest tree;
|
|
|
|
|
2022-06-06 18:19:59 +00:00
|
|
|
runTest = arg: let r = doRunTest arg; in findTests r;
|
|
|
|
runTestOn = systems: arg:
|
|
|
|
if elem system systems then runTest arg
|
|
|
|
else {};
|
|
|
|
})
|
|
|
|
runTest
|
|
|
|
runTestOn
|
|
|
|
;
|
|
|
|
|
2022-06-06 17:24:30 +00:00
|
|
|
in {
|
2022-06-06 19:19:22 +00:00
|
|
|
_3proxy = runTest ./3proxy.nix;
|
2022-06-06 21:49:59 +00:00
|
|
|
acme = runTest ./acme.nix;
|
2022-06-09 15:43:22 +00:00
|
|
|
adguardhome = runTest ./adguardhome.nix;
|
2022-11-25 18:20:39 +00:00
|
|
|
aesmd = runTestOn ["x86_64-linux"] ./aesmd.nix;
|
2022-06-09 15:46:51 +00:00
|
|
|
agate = runTest ./web-servers/agate.nix;
|
2020-04-19 18:01:37 +00:00
|
|
|
agda = handleTest ./agda.nix {};
|
2021-05-03 15:38:02 +00:00
|
|
|
airsonic = handleTest ./airsonic.nix {};
|
2022-09-24 13:52:36 +00:00
|
|
|
akkoma = handleTestOn [ "x86_64-linux" "aarch64-linux" ] ./akkoma.nix {};
|
|
|
|
akkoma-confined = handleTestOn [ "x86_64-linux" "aarch64-linux" ] ./akkoma.nix { confined = true; };
|
2021-10-05 11:33:18 +00:00
|
|
|
allTerminfo = handleTest ./all-terminfo.nix {};
|
2022-11-16 16:56:44 +00:00
|
|
|
alps = handleTest ./alps.nix {};
|
2021-04-18 09:19:06 +00:00
|
|
|
amazon-init-shell = handleTest ./amazon-init-shell.nix {};
|
2022-12-29 12:43:50 +00:00
|
|
|
apcupsd = handleTest ./apcupsd.nix {};
|
2021-02-09 23:37:24 +00:00
|
|
|
apfs = handleTest ./apfs.nix {};
|
2021-02-28 21:18:01 +00:00
|
|
|
apparmor = handleTest ./apparmor.nix {};
|
2018-11-11 11:30:07 +00:00
|
|
|
atd = handleTest ./atd.nix {};
|
2021-05-14 00:11:05 +00:00
|
|
|
atop = handleTest ./atop.nix {};
|
2022-12-16 03:07:15 +00:00
|
|
|
atuin = handleTest ./atuin.nix {};
|
2022-07-31 21:40:48 +00:00
|
|
|
auth-mysql = handleTest ./auth-mysql.nix {};
|
2018-11-11 11:30:07 +00:00
|
|
|
avahi = handleTest ./avahi.nix {};
|
2020-10-11 18:45:25 +00:00
|
|
|
avahi-with-resolved = handleTest ./avahi.nix { networkd = true; };
|
2019-10-11 23:30:55 +00:00
|
|
|
babeld = handleTest ./babeld.nix {};
|
2020-05-10 10:54:09 +00:00
|
|
|
bazarr = handleTest ./bazarr.nix {};
|
2021-11-06 21:24:16 +00:00
|
|
|
bcachefs = handleTestOn ["x86_64-linux" "aarch64-linux"] ./bcachefs.nix {};
|
2019-02-22 13:10:02 +00:00
|
|
|
beanstalkd = handleTest ./beanstalkd.nix {};
|
2019-11-24 00:10:17 +00:00
|
|
|
bees = handleTest ./bees.nix {};
|
2018-11-11 11:30:07 +00:00
|
|
|
bind = handleTest ./bind.nix {};
|
2022-01-25 14:15:52 +00:00
|
|
|
bird = handleTest ./bird.nix {};
|
2020-07-21 11:43:32 +00:00
|
|
|
bitcoind = handleTest ./bitcoind.nix {};
|
2018-11-11 11:30:07 +00:00
|
|
|
bittorrent = handleTest ./bittorrent.nix {};
|
2020-06-23 11:09:03 +00:00
|
|
|
blockbook-frontend = handleTest ./blockbook-frontend.nix {};
|
2022-02-10 22:44:18 +00:00
|
|
|
blocky = handleTest ./blocky.nix {};
|
2021-05-25 18:13:29 +00:00
|
|
|
boot = handleTestOn ["x86_64-linux" "aarch64-linux"] ./boot.nix {};
|
2022-12-21 22:11:37 +00:00
|
|
|
bootspec = handleTestOn ["x86_64-linux"] ./bootspec.nix {};
|
2018-11-11 11:30:07 +00:00
|
|
|
boot-stage1 = handleTest ./boot-stage1.nix {};
|
|
|
|
borgbackup = handleTest ./borgbackup.nix {};
|
2021-05-04 12:30:25 +00:00
|
|
|
botamusique = handleTest ./botamusique.nix {};
|
2021-12-04 01:20:26 +00:00
|
|
|
bpf = handleTestOn ["x86_64-linux" "aarch64-linux"] ./bpf.nix {};
|
2022-01-26 13:03:05 +00:00
|
|
|
breitbandmessung = handleTest ./breitbandmessung.nix {};
|
2022-01-23 11:11:05 +00:00
|
|
|
brscan5 = handleTest ./brscan5.nix {};
|
2021-05-30 12:00:00 +00:00
|
|
|
btrbk = handleTest ./btrbk.nix {};
|
2022-03-19 15:51:32 +00:00
|
|
|
btrbk-no-timer = handleTest ./btrbk-no-timer.nix {};
|
2022-10-18 15:50:44 +00:00
|
|
|
btrbk-section-order = handleTest ./btrbk-section-order.nix {};
|
2018-11-11 11:30:07 +00:00
|
|
|
buildbot = handleTest ./buildbot.nix {};
|
2020-11-29 23:00:38 +00:00
|
|
|
buildkite-agents = handleTest ./buildkite-agents.nix {};
|
2019-10-09 11:32:03 +00:00
|
|
|
caddy = handleTest ./caddy.nix {};
|
2018-11-11 11:30:07 +00:00
|
|
|
cadvisor = handleTestOn ["x86_64-linux"] ./cadvisor.nix {};
|
2021-05-27 18:37:24 +00:00
|
|
|
cage = handleTest ./cage.nix {};
|
|
|
|
cagebreak = handleTest ./cagebreak.nix {};
|
2021-02-23 11:23:20 +00:00
|
|
|
calibre-web = handleTest ./calibre-web.nix {};
|
2020-12-09 12:01:56 +00:00
|
|
|
cassandra_3_0 = handleTest ./cassandra.nix { testPackage = pkgs.cassandra_3_0; };
|
|
|
|
cassandra_3_11 = handleTest ./cassandra.nix { testPackage = pkgs.cassandra_3_11; };
|
2022-04-06 11:03:07 +00:00
|
|
|
cassandra_4 = handleTest ./cassandra.nix { testPackage = pkgs.cassandra_4; };
|
2019-11-01 12:12:18 +00:00
|
|
|
ceph-multi-node = handleTestOn ["x86_64-linux"] ./ceph-multi-node.nix {};
|
2020-11-29 23:00:38 +00:00
|
|
|
ceph-single-node = handleTestOn ["x86_64-linux"] ./ceph-single-node.nix {};
|
2021-02-14 17:59:29 +00:00
|
|
|
ceph-single-node-bluestore = handleTestOn ["x86_64-linux"] ./ceph-single-node-bluestore.nix {};
|
2018-11-11 11:30:07 +00:00
|
|
|
certmgr = handleTest ./certmgr.nix {};
|
2022-09-24 07:38:37 +00:00
|
|
|
cfssl = handleTestOn ["aarch64-linux" "x86_64-linux"] ./cfssl.nix {};
|
2020-08-25 07:44:27 +00:00
|
|
|
charliecloud = handleTest ./charliecloud.nix {};
|
2022-10-09 21:29:45 +00:00
|
|
|
chromium = (handleTestOn ["aarch64-linux" "x86_64-linux"] ./chromium.nix {}).stable or {};
|
2022-09-05 07:40:17 +00:00
|
|
|
cinnamon = handleTest ./cinnamon.nix {};
|
2018-11-11 11:30:07 +00:00
|
|
|
cjdns = handleTest ./cjdns.nix {};
|
2018-12-19 14:06:53 +00:00
|
|
|
clickhouse = handleTest ./clickhouse.nix {};
|
2018-11-11 11:30:07 +00:00
|
|
|
cloud-init = handleTest ./cloud-init.nix {};
|
2022-09-30 14:08:49 +00:00
|
|
|
cloud-init-hostname = handleTest ./cloud-init-hostname.nix {};
|
2022-09-24 06:15:39 +00:00
|
|
|
cntr = handleTestOn ["aarch64-linux" "x86_64-linux"] ./cntr.nix {};
|
2020-11-29 23:00:38 +00:00
|
|
|
cockroachdb = handleTestOn ["x86_64-linux"] ./cockroachdb.nix {};
|
2021-12-22 12:00:00 +00:00
|
|
|
collectd = handleTest ./collectd.nix {};
|
2019-11-24 14:08:53 +00:00
|
|
|
consul = handleTest ./consul.nix {};
|
2018-11-11 11:30:07 +00:00
|
|
|
containers-bridge = handleTest ./containers-bridge.nix {};
|
2020-04-19 13:41:18 +00:00
|
|
|
containers-custom-pkgs.nix = handleTest ./containers-custom-pkgs.nix {};
|
2019-08-18 19:37:38 +00:00
|
|
|
containers-ephemeral = handleTest ./containers-ephemeral.nix {};
|
2018-11-11 11:30:07 +00:00
|
|
|
containers-extra_veth = handleTest ./containers-extra_veth.nix {};
|
|
|
|
containers-hosts = handleTest ./containers-hosts.nix {};
|
|
|
|
containers-imperative = handleTest ./containers-imperative.nix {};
|
2019-11-25 23:44:12 +00:00
|
|
|
containers-ip = handleTest ./containers-ip.nix {};
|
2018-11-11 11:30:07 +00:00
|
|
|
containers-macvlans = handleTest ./containers-macvlans.nix {};
|
2021-02-26 16:14:08 +00:00
|
|
|
containers-names = handleTest ./containers-names.nix {};
|
2021-02-24 13:02:57 +00:00
|
|
|
containers-nested = handleTest ./containers-nested.nix {};
|
2018-11-11 11:30:07 +00:00
|
|
|
containers-physical_interfaces = handleTest ./containers-physical_interfaces.nix {};
|
2019-12-10 19:34:37 +00:00
|
|
|
containers-portforward = handleTest ./containers-portforward.nix {};
|
2020-08-23 09:00:09 +00:00
|
|
|
containers-reloadable = handleTest ./containers-reloadable.nix {};
|
2018-11-11 11:30:07 +00:00
|
|
|
containers-restart_networking = handleTest ./containers-restart_networking.nix {};
|
|
|
|
containers-tmpfs = handleTest ./containers-tmpfs.nix {};
|
2022-10-29 20:22:57 +00:00
|
|
|
containers-unified-hierarchy = handleTest ./containers-unified-hierarchy.nix {};
|
2020-06-05 12:54:29 +00:00
|
|
|
convos = handleTest ./convos.nix {};
|
2020-01-07 16:52:32 +00:00
|
|
|
corerad = handleTest ./corerad.nix {};
|
2021-07-03 07:32:03 +00:00
|
|
|
coturn = handleTest ./coturn.nix {};
|
2019-07-24 18:48:43 +00:00
|
|
|
couchdb = handleTest ./couchdb.nix {};
|
2022-09-24 07:39:15 +00:00
|
|
|
cri-o = handleTestOn ["aarch64-linux" "x86_64-linux"] ./cri-o.nix {};
|
2022-07-20 18:14:06 +00:00
|
|
|
cups-pdf = handleTest ./cups-pdf.nix {};
|
2021-01-10 17:28:29 +00:00
|
|
|
custom-ca = handleTest ./custom-ca.nix {};
|
2020-07-22 08:34:57 +00:00
|
|
|
croc = handleTest ./croc.nix {};
|
2018-11-11 11:30:07 +00:00
|
|
|
deluge = handleTest ./deluge.nix {};
|
2022-05-13 07:46:01 +00:00
|
|
|
dendrite = handleTest ./matrix/dendrite.nix {};
|
2021-09-19 23:43:54 +00:00
|
|
|
dex-oidc = handleTest ./dex-oidc.nix {};
|
2018-11-11 11:30:07 +00:00
|
|
|
dhparams = handleTest ./dhparams.nix {};
|
2021-09-12 06:06:34 +00:00
|
|
|
disable-installer-tools = handleTest ./disable-installer-tools.nix {};
|
2021-03-14 14:44:34 +00:00
|
|
|
discourse = handleTest ./discourse.nix {};
|
2020-02-01 23:59:02 +00:00
|
|
|
dnscrypt-proxy2 = handleTestOn ["x86_64-linux"] ./dnscrypt-proxy2.nix {};
|
2020-04-23 23:33:33 +00:00
|
|
|
dnscrypt-wrapper = handleTestOn ["x86_64-linux"] ./dnscrypt-wrapper {};
|
2022-01-18 07:59:57 +00:00
|
|
|
dnsdist = handleTest ./dnsdist.nix {};
|
2020-04-14 03:13:36 +00:00
|
|
|
doas = handleTest ./doas.nix {};
|
2022-09-24 07:40:42 +00:00
|
|
|
docker = handleTestOn ["aarch64-linux" "x86_64-linux"] ./docker.nix {};
|
|
|
|
docker-rootless = handleTestOn ["aarch64-linux" "x86_64-linux"] ./docker-rootless.nix {};
|
2018-11-11 11:30:07 +00:00
|
|
|
docker-registry = handleTest ./docker-registry.nix {};
|
|
|
|
docker-tools = handleTestOn ["x86_64-linux"] ./docker-tools.nix {};
|
2020-12-12 23:33:46 +00:00
|
|
|
docker-tools-cross = handleTestOn ["x86_64-linux" "aarch64-linux"] ./docker-tools-cross.nix {};
|
2018-11-11 11:30:07 +00:00
|
|
|
docker-tools-overlay = handleTestOn ["x86_64-linux"] ./docker-tools-overlay.nix {};
|
2019-03-26 18:04:28 +00:00
|
|
|
documize = handleTest ./documize.nix {};
|
2022-07-14 09:57:37 +00:00
|
|
|
documentation = pkgs.callPackage ../modules/misc/documentation/test.nix { inherit nixosLib; };
|
2022-01-23 11:11:05 +00:00
|
|
|
doh-proxy-rust = handleTest ./doh-proxy-rust.nix {};
|
2019-12-25 22:04:55 +00:00
|
|
|
dokuwiki = handleTest ./dokuwiki.nix {};
|
2022-11-01 13:02:39 +00:00
|
|
|
dolibarr = handleTest ./dolibarr.nix {};
|
2021-11-13 22:00:20 +00:00
|
|
|
domination = handleTest ./domination.nix {};
|
2018-11-11 11:30:07 +00:00
|
|
|
dovecot = handleTest ./dovecot.nix {};
|
2021-11-30 20:42:29 +00:00
|
|
|
drbd = handleTest ./drbd.nix {};
|
2022-03-24 07:34:09 +00:00
|
|
|
earlyoom = handleTestOn ["x86_64-linux"] ./earlyoom.nix {};
|
2020-02-13 20:31:58 +00:00
|
|
|
ec2-config = (handleTestOn ["x86_64-linux"] ./ec2.nix {}).boot-ec2-config or {};
|
2018-11-11 11:30:07 +00:00
|
|
|
ec2-nixops = (handleTestOn ["x86_64-linux"] ./ec2.nix {}).boot-ec2-nixops or {};
|
|
|
|
ecryptfs = handleTest ./ecryptfs.nix {};
|
2022-05-17 18:16:22 +00:00
|
|
|
fscrypt = handleTest ./fscrypt.nix {};
|
2019-06-15 09:16:28 +00:00
|
|
|
ejabberd = handleTest ./xmpp/ejabberd.nix {};
|
2018-11-11 11:30:07 +00:00
|
|
|
elk = handleTestOn ["x86_64-linux"] ./elk.nix {};
|
2022-01-23 11:11:05 +00:00
|
|
|
emacs-daemon = handleTest ./emacs-daemon.nix {};
|
2022-10-22 12:53:35 +00:00
|
|
|
endlessh = handleTest ./endlessh.nix {};
|
2022-09-23 20:39:38 +00:00
|
|
|
endlessh-go = handleTest ./endlessh-go.nix {};
|
2020-05-24 12:20:58 +00:00
|
|
|
engelsystem = handleTest ./engelsystem.nix {};
|
2020-05-02 14:28:50 +00:00
|
|
|
enlightenment = handleTest ./enlightenment.nix {};
|
2018-11-11 11:30:07 +00:00
|
|
|
env = handleTest ./env.nix {};
|
2022-12-28 14:09:54 +00:00
|
|
|
envfs = handleTest ./envfs.nix {};
|
2021-08-28 02:28:27 +00:00
|
|
|
envoy = handleTest ./envoy.nix {};
|
2020-05-24 18:39:23 +00:00
|
|
|
ergo = handleTest ./ergo.nix {};
|
2022-01-12 20:47:27 +00:00
|
|
|
ergochat = handleTest ./ergochat.nix {};
|
2021-12-03 12:21:16 +00:00
|
|
|
etc = pkgs.callPackage ../modules/system/etc/test.nix { inherit evalMinimalConfig; };
|
2022-12-01 16:49:48 +00:00
|
|
|
activation = pkgs.callPackage ../modules/system/activation/test.nix { };
|
2018-11-11 11:30:07 +00:00
|
|
|
etcd = handleTestOn ["x86_64-linux"] ./etcd.nix {};
|
2019-07-09 23:46:21 +00:00
|
|
|
etcd-cluster = handleTestOn ["x86_64-linux"] ./etcd-cluster.nix {};
|
2021-03-28 21:49:45 +00:00
|
|
|
etebase-server = handleTest ./etebase-server.nix {};
|
2020-11-30 21:10:07 +00:00
|
|
|
etesync-dav = handleTest ./etesync-dav.nix {};
|
2022-05-23 09:08:51 +00:00
|
|
|
extra-python-packages = handleTest ./extra-python-packages.nix {};
|
2021-07-27 13:14:24 +00:00
|
|
|
evcc = handleTest ./evcc.nix {};
|
2019-10-29 14:06:32 +00:00
|
|
|
fancontrol = handleTest ./fancontrol.nix {};
|
2020-08-26 12:58:37 +00:00
|
|
|
fcitx = handleTest ./fcitx {};
|
2022-01-23 11:11:05 +00:00
|
|
|
fenics = handleTest ./fenics.nix {};
|
2018-11-11 11:30:07 +00:00
|
|
|
ferm = handleTest ./ferm.nix {};
|
2021-08-09 09:57:57 +00:00
|
|
|
firefox = handleTest ./firefox.nix { firefoxPackage = pkgs.firefox; };
|
2021-08-10 14:15:57 +00:00
|
|
|
firefox-esr = handleTest ./firefox.nix { firefoxPackage = pkgs.firefox-esr; }; # used in `tested` job
|
2022-06-27 10:29:15 +00:00
|
|
|
firefox-esr-102 = handleTest ./firefox.nix { firefoxPackage = pkgs.firefox-esr-102; };
|
2020-08-07 16:45:20 +00:00
|
|
|
firejail = handleTest ./firejail.nix {};
|
2022-12-22 16:23:23 +00:00
|
|
|
firewall = handleTest ./firewall.nix { nftables = false; };
|
|
|
|
firewall-nftables = handleTest ./firewall.nix { nftables = true; };
|
2018-12-17 19:12:09 +00:00
|
|
|
fish = handleTest ./fish.nix {};
|
2019-02-12 17:26:08 +00:00
|
|
|
flannel = handleTestOn ["x86_64-linux"] ./flannel.nix {};
|
2019-07-29 15:35:27 +00:00
|
|
|
fluentd = handleTest ./fluentd.nix {};
|
2021-08-21 20:51:01 +00:00
|
|
|
fluidd = handleTest ./fluidd.nix {};
|
2019-08-29 12:02:20 +00:00
|
|
|
fontconfig-default-fonts = handleTest ./fontconfig-default-fonts.nix {};
|
2022-11-29 17:30:00 +00:00
|
|
|
freenet = handleTest ./freenet.nix {};
|
2020-01-07 14:53:34 +00:00
|
|
|
freeswitch = handleTest ./freeswitch.nix {};
|
2023-01-06 00:25:34 +00:00
|
|
|
freshrss-sqlite = handleTest ./freshrss-sqlite.nix {};
|
|
|
|
freshrss-pgsql = handleTest ./freshrss-pgsql.nix {};
|
2021-06-08 19:37:03 +00:00
|
|
|
frr = handleTest ./frr.nix {};
|
2018-11-11 11:30:07 +00:00
|
|
|
fsck = handleTest ./fsck.nix {};
|
2020-07-29 17:40:38 +00:00
|
|
|
ft2-clone = handleTest ./ft2-clone.nix {};
|
2022-06-07 10:53:15 +00:00
|
|
|
mimir = handleTest ./mimir.nix {};
|
2022-10-15 20:40:34 +00:00
|
|
|
garage = handleTest ./garage {};
|
2020-03-05 21:11:28 +00:00
|
|
|
gerrit = handleTest ./gerrit.nix {};
|
2022-01-23 11:11:05 +00:00
|
|
|
geth = handleTest ./geth.nix {};
|
2021-05-19 23:15:28 +00:00
|
|
|
ghostunnel = handleTest ./ghostunnel.nix {};
|
2020-02-26 13:05:00 +00:00
|
|
|
gitdaemon = handleTest ./gitdaemon.nix {};
|
2018-11-11 11:30:07 +00:00
|
|
|
gitea = handleTest ./gitea.nix {};
|
|
|
|
gitlab = handleTest ./gitlab.nix {};
|
|
|
|
gitolite = handleTest ./gitolite.nix {};
|
2019-12-04 23:10:57 +00:00
|
|
|
gitolite-fcgiwrap = handleTest ./gitolite-fcgiwrap.nix {};
|
2019-08-16 23:28:43 +00:00
|
|
|
glusterfs = handleTest ./glusterfs.nix {};
|
2021-05-07 21:18:14 +00:00
|
|
|
gnome = handleTest ./gnome.nix {};
|
2022-12-28 21:45:22 +00:00
|
|
|
gnome-flashback = handleTest ./gnome-flashback.nix {};
|
2021-05-07 21:18:14 +00:00
|
|
|
gnome-xorg = handleTest ./gnome-xorg.nix {};
|
2020-11-29 23:00:38 +00:00
|
|
|
go-neb = handleTest ./go-neb.nix {};
|
2021-04-09 14:57:33 +00:00
|
|
|
gobgpd = handleTest ./gobgpd.nix {};
|
2018-11-11 11:30:07 +00:00
|
|
|
gocd-agent = handleTest ./gocd-agent.nix {};
|
|
|
|
gocd-server = handleTest ./gocd-server.nix {};
|
2022-09-10 16:01:37 +00:00
|
|
|
gollum = handleTest ./gollum.nix {};
|
2019-05-17 01:29:17 +00:00
|
|
|
google-oslogin = handleTest ./google-oslogin {};
|
2020-11-29 23:00:38 +00:00
|
|
|
gotify-server = handleTest ./gotify-server.nix {};
|
2022-09-18 09:35:07 +00:00
|
|
|
grafana = handleTest ./grafana {};
|
2022-06-15 10:11:03 +00:00
|
|
|
grafana-agent = handleTest ./grafana-agent.nix {};
|
2018-11-11 11:30:07 +00:00
|
|
|
graphite = handleTest ./graphite.nix {};
|
2019-07-09 00:01:43 +00:00
|
|
|
graylog = handleTest ./graylog.nix {};
|
2020-11-29 23:00:38 +00:00
|
|
|
grocy = handleTest ./grocy.nix {};
|
2020-06-13 10:06:26 +00:00
|
|
|
grub = handleTest ./grub.nix {};
|
2019-11-27 07:01:46 +00:00
|
|
|
gvisor = handleTest ./gvisor.nix {};
|
2022-01-08 13:08:34 +00:00
|
|
|
hadoop = import ./hadoop { inherit handleTestOn; package=pkgs.hadoop; };
|
|
|
|
hadoop_3_2 = import ./hadoop { inherit handleTestOn; package=pkgs.hadoop_3_2; };
|
|
|
|
hadoop2 = import ./hadoop { inherit handleTestOn; package=pkgs.hadoop2; };
|
2022-01-23 11:11:05 +00:00
|
|
|
haka = handleTest ./haka.nix {};
|
2022-03-02 17:00:16 +00:00
|
|
|
haste-server = handleTest ./haste-server.nix {};
|
2018-11-11 11:30:07 +00:00
|
|
|
haproxy = handleTest ./haproxy.nix {};
|
2019-01-06 13:04:41 +00:00
|
|
|
hardened = handleTest ./hardened.nix {};
|
2022-12-01 15:47:24 +00:00
|
|
|
headscale = handleTest ./headscale.nix {};
|
2022-06-10 12:31:00 +00:00
|
|
|
healthchecks = handleTest ./web-apps/healthchecks.nix {};
|
2022-03-28 20:19:17 +00:00
|
|
|
hbase2 = handleTest ./hbase.nix { package=pkgs.hbase2; };
|
2022-09-30 16:43:14 +00:00
|
|
|
hbase_2_4 = handleTest ./hbase.nix { package=pkgs.hbase_2_4; };
|
2022-03-28 20:19:17 +00:00
|
|
|
hbase3 = handleTest ./hbase.nix { package=pkgs.hbase3; };
|
2020-11-29 17:51:50 +00:00
|
|
|
hedgedoc = handleTest ./hedgedoc.nix {};
|
2020-11-27 19:20:36 +00:00
|
|
|
herbstluftwm = handleTest ./herbstluftwm.nix {};
|
2020-11-29 23:00:38 +00:00
|
|
|
installed-tests = pkgs.recurseIntoAttrs (handleTest ./installed-tests {});
|
2021-09-07 17:44:12 +00:00
|
|
|
invidious = handleTest ./invidious.nix {};
|
2022-09-24 05:58:01 +00:00
|
|
|
oci-containers = handleTestOn ["aarch64-linux" "x86_64-linux"] ./oci-containers.nix {};
|
2021-11-02 00:48:47 +00:00
|
|
|
odoo = handleTest ./odoo.nix {};
|
2020-03-26 13:33:57 +00:00
|
|
|
# 9pnet_virtio used to mount /nix partition doesn't support
|
|
|
|
# hibernation. This test happens to work on x86_64-linux but
|
|
|
|
# not on other platforms.
|
|
|
|
hibernate = handleTestOn ["x86_64-linux"] ./hibernate.nix {};
|
2022-04-13 11:48:20 +00:00
|
|
|
hibernate-systemd-stage-1 = handleTestOn ["x86_64-linux"] ./hibernate.nix { systemdStage1 = true; };
|
2018-11-11 11:30:07 +00:00
|
|
|
hitch = handleTest ./hitch {};
|
2020-01-20 11:34:57 +00:00
|
|
|
hledger-web = handleTest ./hledger-web.nix {};
|
2018-11-11 11:30:07 +00:00
|
|
|
hocker-fetchdocker = handleTest ./hocker-fetchdocker {};
|
2021-07-18 07:51:49 +00:00
|
|
|
hockeypuck = handleTest ./hockeypuck.nix { };
|
2018-11-11 11:30:07 +00:00
|
|
|
home-assistant = handleTest ./home-assistant.nix {};
|
2020-05-12 21:48:27 +00:00
|
|
|
hostname = handleTest ./hostname.nix {};
|
2018-11-11 11:30:07 +00:00
|
|
|
hound = handleTest ./hound.nix {};
|
2020-12-29 16:13:26 +00:00
|
|
|
hub = handleTest ./git/hub.nix {};
|
2018-11-11 11:30:07 +00:00
|
|
|
hydra = handleTest ./hydra {};
|
|
|
|
i3wm = handleTest ./i3wm.nix {};
|
2019-07-07 01:03:59 +00:00
|
|
|
icingaweb2 = handleTest ./icingaweb2.nix {};
|
2018-11-11 11:30:07 +00:00
|
|
|
iftop = handleTest ./iftop.nix {};
|
2021-10-10 12:00:00 +00:00
|
|
|
ihatemoney = handleTest ./ihatemoney {};
|
2018-11-14 22:51:15 +00:00
|
|
|
incron = handleTest ./incron.nix {};
|
2018-11-11 11:30:07 +00:00
|
|
|
influxdb = handleTest ./influxdb.nix {};
|
2020-06-30 22:02:56 +00:00
|
|
|
initrd-network-openvpn = handleTest ./initrd-network-openvpn {};
|
2020-11-29 23:00:38 +00:00
|
|
|
initrd-network-ssh = handleTest ./initrd-network-ssh {};
|
2018-11-11 11:30:07 +00:00
|
|
|
initrdNetwork = handleTest ./initrd-network.nix {};
|
2020-12-12 13:39:58 +00:00
|
|
|
initrd-secrets = handleTest ./initrd-secrets.nix {};
|
2022-02-18 21:47:54 +00:00
|
|
|
input-remapper = handleTest ./input-remapper.nix {};
|
2021-03-22 13:32:46 +00:00
|
|
|
inspircd = handleTest ./inspircd.nix {};
|
2018-11-11 11:30:07 +00:00
|
|
|
installer = handleTest ./installer.nix {};
|
2022-04-17 21:24:13 +00:00
|
|
|
installer-systemd-stage-1 = handleTest ./installer-systemd-stage-1.nix {};
|
2022-01-20 13:45:35 +00:00
|
|
|
invoiceplane = handleTest ./invoiceplane.nix {};
|
2020-02-02 12:00:00 +00:00
|
|
|
iodine = handleTest ./iodine.nix {};
|
2018-11-11 11:30:07 +00:00
|
|
|
ipv6 = handleTest ./ipv6.nix {};
|
2022-01-23 11:11:05 +00:00
|
|
|
iscsi-multipath-root = handleTest ./iscsi-multipath-root.nix {};
|
2020-10-18 17:55:42 +00:00
|
|
|
iscsi-root = handleTest ./iscsi-root.nix {};
|
2022-01-23 11:11:05 +00:00
|
|
|
isso = handleTest ./isso.nix {};
|
2019-01-25 06:09:36 +00:00
|
|
|
jackett = handleTest ./jackett.nix {};
|
2019-05-01 09:57:34 +00:00
|
|
|
jellyfin = handleTest ./jellyfin.nix {};
|
2018-11-11 11:30:07 +00:00
|
|
|
jenkins = handleTest ./jenkins.nix {};
|
2022-01-23 11:11:05 +00:00
|
|
|
jenkins-cli = handleTest ./jenkins-cli.nix {};
|
2021-10-15 18:00:24 +00:00
|
|
|
jibri = handleTest ./jibri.nix {};
|
2020-02-06 16:00:19 +00:00
|
|
|
jirafeau = handleTest ./jirafeau.nix {};
|
2020-03-18 03:23:15 +00:00
|
|
|
jitsi-meet = handleTest ./jitsi-meet.nix {};
|
2022-07-22 06:13:20 +00:00
|
|
|
k3s = handleTest ./k3s {};
|
2019-04-01 12:39:25 +00:00
|
|
|
kafka = handleTest ./kafka.nix {};
|
2022-05-05 10:09:42 +00:00
|
|
|
kanidm = handleTest ./kanidm.nix {};
|
2022-10-10 05:16:25 +00:00
|
|
|
karma = handleTest ./karma.nix {};
|
2021-05-30 18:37:14 +00:00
|
|
|
kbd-setfont-decompress = handleTest ./kbd-setfont-decompress.nix {};
|
2021-07-19 19:21:02 +00:00
|
|
|
kbd-update-search-paths-patch = handleTest ./kbd-update-search-paths-patch.nix {};
|
2021-07-13 22:43:17 +00:00
|
|
|
kea = handleTest ./kea.nix {};
|
2019-12-22 07:45:31 +00:00
|
|
|
keepalived = handleTest ./keepalived.nix {};
|
2021-02-02 11:35:46 +00:00
|
|
|
keepassxc = handleTest ./keepassxc.nix {};
|
2019-01-11 04:36:51 +00:00
|
|
|
kerberos = handleTest ./kerberos/default.nix {};
|
2021-04-07 15:57:58 +00:00
|
|
|
kernel-generic = handleTest ./kernel-generic.nix {};
|
2021-01-31 13:55:53 +00:00
|
|
|
kernel-latest-ath-user-regd = handleTest ./kernel-latest-ath-user-regd.nix {};
|
2022-05-18 13:41:54 +00:00
|
|
|
keter = handleTest ./keter.nix {};
|
2021-10-24 22:20:46 +00:00
|
|
|
kexec = handleTest ./kexec.nix {};
|
2020-10-26 14:33:57 +00:00
|
|
|
keycloak = discoverTests (import ./keycloak.nix);
|
2018-11-11 11:30:07 +00:00
|
|
|
keymap = handleTest ./keymap.nix {};
|
2019-03-13 00:12:56 +00:00
|
|
|
knot = handleTest ./knot.nix {};
|
2022-08-12 21:52:52 +00:00
|
|
|
komga = handleTest ./komga.nix {};
|
2020-02-14 08:56:43 +00:00
|
|
|
krb5 = discoverTests (import ./krb5 {});
|
2021-02-26 12:06:18 +00:00
|
|
|
ksm = handleTest ./ksm.nix {};
|
2022-09-25 18:46:03 +00:00
|
|
|
kthxbye = handleTest ./kthxbye.nix {};
|
2021-07-30 15:16:23 +00:00
|
|
|
kubernetes = handleTestOn ["x86_64-linux"] ./kubernetes {};
|
2022-07-24 18:49:05 +00:00
|
|
|
kubo = handleTest ./kubo.nix {};
|
2022-08-16 13:03:37 +00:00
|
|
|
ladybird = handleTest ./ladybird.nix {};
|
2022-08-16 18:33:08 +00:00
|
|
|
languagetool = handleTest ./languagetool.nix {};
|
2018-11-11 11:30:07 +00:00
|
|
|
latestKernel.login = handleTest ./login.nix { latestKernel = true; };
|
|
|
|
leaps = handleTest ./leaps.nix {};
|
2022-09-02 09:02:51 +00:00
|
|
|
lemmy = handleTest ./lemmy.nix {};
|
2021-11-15 11:46:20 +00:00
|
|
|
libinput = handleTest ./libinput.nix {};
|
2021-04-18 23:05:25 +00:00
|
|
|
libreddit = handleTest ./libreddit.nix {};
|
2021-11-18 18:10:48 +00:00
|
|
|
libresprite = handleTest ./libresprite.nix {};
|
2021-05-15 21:22:03 +00:00
|
|
|
libreswan = handleTest ./libreswan.nix {};
|
2022-07-09 00:40:24 +00:00
|
|
|
librewolf = handleTest ./firefox.nix { firefoxPackage = pkgs.librewolf; };
|
2022-07-15 20:00:28 +00:00
|
|
|
libuiohook = handleTest ./libuiohook.nix {};
|
2022-08-22 03:17:06 +00:00
|
|
|
libvirtd = handleTest ./libvirtd.nix {};
|
2021-11-15 11:46:20 +00:00
|
|
|
lidarr = handleTest ./lidarr.nix {};
|
2019-08-06 22:29:50 +00:00
|
|
|
lightdm = handleTest ./lightdm.nix {};
|
2022-07-24 15:04:12 +00:00
|
|
|
lighttpd = handleTest ./lighttpd.nix {};
|
2019-03-16 12:24:23 +00:00
|
|
|
limesurvey = handleTest ./limesurvey.nix {};
|
2022-08-30 11:15:41 +00:00
|
|
|
listmonk = handleTest ./listmonk.nix {};
|
2021-07-30 15:41:54 +00:00
|
|
|
litestream = handleTest ./litestream.nix {};
|
2020-11-24 01:53:21 +00:00
|
|
|
locate = handleTest ./locate.nix {};
|
2018-11-11 11:30:07 +00:00
|
|
|
login = handleTest ./login.nix {};
|
2022-02-11 08:49:52 +00:00
|
|
|
logrotate = handleTest ./logrotate.nix {};
|
2019-06-27 16:11:09 +00:00
|
|
|
loki = handleTest ./loki.nix {};
|
2022-02-01 17:21:11 +00:00
|
|
|
lvm2 = handleTest ./lvm2 {};
|
2020-06-08 19:33:21 +00:00
|
|
|
lxd = handleTest ./lxd.nix {};
|
|
|
|
lxd-nftables = handleTest ./lxd-nftables.nix {};
|
2021-10-20 21:39:53 +00:00
|
|
|
lxd-image-server = handleTest ./lxd-image-server.nix {};
|
2018-11-11 11:30:07 +00:00
|
|
|
#logstash = handleTest ./logstash.nix {};
|
2019-11-05 10:57:05 +00:00
|
|
|
lorri = handleTest ./lorri/default.nix {};
|
2021-09-10 11:08:58 +00:00
|
|
|
maddy = handleTest ./maddy.nix {};
|
2022-04-01 02:41:31 +00:00
|
|
|
maestral = handleTest ./maestral.nix {};
|
2020-03-30 11:30:05 +00:00
|
|
|
magic-wormhole-mailbox-server = handleTest ./magic-wormhole-mailbox-server.nix {};
|
2020-11-29 23:00:38 +00:00
|
|
|
magnetico = handleTest ./magnetico.nix {};
|
2019-03-27 11:35:24 +00:00
|
|
|
mailcatcher = handleTest ./mailcatcher.nix {};
|
2020-12-17 15:58:57 +00:00
|
|
|
mailhog = handleTest ./mailhog.nix {};
|
2021-09-24 18:54:08 +00:00
|
|
|
man = handleTest ./man.nix {};
|
2021-12-08 09:47:07 +00:00
|
|
|
mariadb-galera = handleTest ./mysql/mariadb-galera.nix {};
|
2022-03-22 07:52:13 +00:00
|
|
|
mastodon = discoverTests (import ./web-apps/mastodon { inherit handleTestOn; });
|
2023-01-08 15:44:00 +00:00
|
|
|
mate = handleTest ./mate.nix {};
|
2019-10-04 20:38:58 +00:00
|
|
|
matomo = handleTest ./matomo.nix {};
|
2022-05-13 07:46:01 +00:00
|
|
|
matrix-appservice-irc = handleTest ./matrix/appservice-irc.nix {};
|
|
|
|
matrix-conduit = handleTest ./matrix/conduit.nix {};
|
|
|
|
matrix-synapse = handleTest ./matrix/synapse.nix {};
|
2021-04-12 01:29:29 +00:00
|
|
|
mattermost = handleTest ./mattermost.nix {};
|
2022-01-23 11:11:05 +00:00
|
|
|
mediatomb = handleTest ./mediatomb.nix {};
|
2019-06-06 01:19:11 +00:00
|
|
|
mediawiki = handleTest ./mediawiki.nix {};
|
2020-04-07 09:00:43 +00:00
|
|
|
meilisearch = handleTest ./meilisearch.nix {};
|
2018-11-11 11:30:07 +00:00
|
|
|
memcached = handleTest ./memcached.nix {};
|
2022-10-19 08:49:57 +00:00
|
|
|
merecat = handleTest ./merecat.nix {};
|
2019-08-18 07:28:16 +00:00
|
|
|
metabase = handleTest ./metabase.nix {};
|
2023-01-14 23:28:32 +00:00
|
|
|
mindustry = handleTest ./mindustry.nix {};
|
2020-11-28 17:42:10 +00:00
|
|
|
minecraft = handleTest ./minecraft.nix {};
|
2020-11-28 17:42:46 +00:00
|
|
|
minecraft-server = handleTest ./minecraft-server.nix {};
|
2020-11-29 23:00:38 +00:00
|
|
|
minidlna = handleTest ./minidlna.nix {};
|
2018-12-21 18:36:58 +00:00
|
|
|
miniflux = handleTest ./miniflux.nix {};
|
2019-02-05 16:38:34 +00:00
|
|
|
minio = handleTest ./minio.nix {};
|
2018-11-11 11:30:07 +00:00
|
|
|
misc = handleTest ./misc.nix {};
|
2021-05-30 15:33:09 +00:00
|
|
|
mjolnir = handleTest ./matrix/mjolnir.nix {};
|
2021-08-13 18:55:15 +00:00
|
|
|
mod_perl = handleTest ./mod_perl.nix {};
|
2022-01-23 11:11:05 +00:00
|
|
|
molly-brown = handleTest ./molly-brown.nix {};
|
2018-11-11 11:30:07 +00:00
|
|
|
mongodb = handleTest ./mongodb.nix {};
|
2019-06-21 14:09:15 +00:00
|
|
|
moodle = handleTest ./moodle.nix {};
|
2022-03-22 22:35:39 +00:00
|
|
|
moonraker = handleTest ./moonraker.nix {};
|
2018-11-11 11:30:07 +00:00
|
|
|
morty = handleTest ./morty.nix {};
|
2019-04-24 08:23:13 +00:00
|
|
|
mosquitto = handleTest ./mosquitto.nix {};
|
2021-10-06 19:51:07 +00:00
|
|
|
moosefs = handleTest ./moosefs.nix {};
|
2018-11-11 11:30:07 +00:00
|
|
|
mpd = handleTest ./mpd.nix {};
|
2021-07-31 22:44:02 +00:00
|
|
|
mpv = handleTest ./mpv.nix {};
|
2021-11-15 05:58:12 +00:00
|
|
|
mtp = handleTest ./mtp.nix {};
|
2018-11-11 11:30:07 +00:00
|
|
|
mumble = handleTest ./mumble.nix {};
|
2021-02-27 01:26:02 +00:00
|
|
|
musescore = handleTest ./musescore.nix {};
|
2018-11-11 11:30:07 +00:00
|
|
|
munin = handleTest ./munin.nix {};
|
|
|
|
mutableUsers = handleTest ./mutable-users.nix {};
|
2019-05-18 20:18:01 +00:00
|
|
|
mxisd = handleTest ./mxisd.nix {};
|
2020-04-02 20:40:55 +00:00
|
|
|
mysql = handleTest ./mysql/mysql.nix {};
|
|
|
|
mysql-autobackup = handleTest ./mysql/mysql-autobackup.nix {};
|
|
|
|
mysql-backup = handleTest ./mysql/mysql-backup.nix {};
|
|
|
|
mysql-replication = handleTest ./mysql/mysql-replication.nix {};
|
2020-11-28 17:00:25 +00:00
|
|
|
n8n = handleTest ./n8n.nix {};
|
2019-12-30 12:00:00 +00:00
|
|
|
nagios = handleTest ./nagios.nix {};
|
2020-11-06 17:59:51 +00:00
|
|
|
nar-serve = handleTest ./nar-serve.nix {};
|
2018-11-11 11:30:07 +00:00
|
|
|
nat.firewall = handleTest ./nat.nix { withFirewall = true; };
|
|
|
|
nat.firewall-conntrack = handleTest ./nat.nix { withFirewall = true; withConntrackHelpers = true; };
|
|
|
|
nat.standalone = handleTest ./nat.nix { withFirewall = false; };
|
2022-12-22 16:23:23 +00:00
|
|
|
nat.nftables.firewall = handleTest ./nat.nix { withFirewall = true; nftables = true; };
|
|
|
|
nat.nftables.firewall-conntrack = handleTest ./nat.nix { withFirewall = true; withConntrackHelpers = true; nftables = true; };
|
|
|
|
nat.nftables.standalone = handleTest ./nat.nix { withFirewall = false; nftables = true; };
|
2021-06-26 11:58:40 +00:00
|
|
|
nats = handleTest ./nats.nix {};
|
2020-12-05 18:11:21 +00:00
|
|
|
navidrome = handleTest ./navidrome.nix {};
|
2022-03-06 13:49:57 +00:00
|
|
|
nbd = handleTest ./nbd.nix {};
|
2020-06-07 21:59:12 +00:00
|
|
|
ncdns = handleTest ./ncdns.nix {};
|
2019-02-03 15:47:01 +00:00
|
|
|
ndppd = handleTest ./ndppd.nix {};
|
2021-03-05 05:28:58 +00:00
|
|
|
nebula = handleTest ./nebula.nix {};
|
2022-08-14 16:59:15 +00:00
|
|
|
netbird = handleTest ./netbird.nix {};
|
2019-02-01 13:29:54 +00:00
|
|
|
neo4j = handleTest ./neo4j.nix {};
|
2018-11-11 11:30:07 +00:00
|
|
|
netdata = handleTest ./netdata.nix {};
|
|
|
|
networking.networkd = handleTest ./networking.nix { networkd = true; };
|
|
|
|
networking.scripted = handleTest ./networking.nix { networkd = false; };
|
2022-03-06 16:02:14 +00:00
|
|
|
netbox = handleTest ./web-apps/netbox.nix {};
|
2018-11-11 11:30:07 +00:00
|
|
|
# TODO: put in networking.nix after the test becomes more complete
|
|
|
|
networkingProxy = handleTest ./networking-proxy.nix {};
|
|
|
|
nextcloud = handleTest ./nextcloud {};
|
|
|
|
nexus = handleTest ./nexus.nix {};
|
2019-11-27 14:37:27 +00:00
|
|
|
# TODO: Test nfsv3 + Kerberos
|
|
|
|
nfs3 = handleTest ./nfs { version = 3; };
|
|
|
|
nfs4 = handleTest ./nfs { version = 4; };
|
2018-11-11 11:30:07 +00:00
|
|
|
nghttpx = handleTest ./nghttpx.nix {};
|
|
|
|
nginx = handleTest ./nginx.nix {};
|
2020-10-20 16:05:41 +00:00
|
|
|
nginx-auth = handleTest ./nginx-auth.nix {};
|
nginx: Clear Last-Modified if ETag is from store
This is what I've suspected a while ago[1]:
> Heads-up everyone: After testing this in a few production instances,
> it seems that some browsers still get cache hits for new store paths
> (and changed contents) for some reason. I highly suspect that it might
> be due to the last-modified header (as mentioned in [2]).
>
> Going to test this with last-modified disabled for a little while and
> if this is the case I think we should improve that patch by disabling
> last-modified if serving from a store path.
Much earlier[2] when I reviewed the patch, I wrote this:
> Other than that, it looks good to me.
>
> However, I'm not sure what we should do with Last-Modified header.
> From RFC 2616, section 13.3.4:
>
> - If both an entity tag and a Last-Modified value have been
> provided by the origin server, SHOULD use both validators in
> cache-conditional requests. This allows both HTTP/1.0 and
> HTTP/1.1 caches to respond appropriately.
>
> I'm a bit nervous about the SHOULD here, as user agents in the wild
> could possibly just use Last-Modified and use the cached content
> instead.
Unfortunately, I didn't pursue this any further back then because
@pbogdan noted[3] the following:
> Hmm, could they (assuming they are conforming):
>
> * If an entity tag has been provided by the origin server, MUST
> use that entity tag in any cache-conditional request (using If-
> Match or If-None-Match).
Since running with this patch in some deployments, I found that both
Firefox and Chrome/Chromium do NOT re-validate against the ETag if the
Last-Modified header is still the same.
So I wrote a small NixOS VM test with Geckodriver to have a test case
which is closer to the real world and I indeed was able to reproduce
this.
Whether this is actually a bug in Chrome or Firefox is an entirely
different issue and even IF it is the fault of the browsers and it is
fixed at some point, we'd still need to handle this for older browser
versions.
Apart from clearing the header, I also recreated the patch by using a
plain "git diff" with a small description on top. This should make it
easier for future authors to work on that patch.
[1]: https://github.com/NixOS/nixpkgs/pull/48337#issuecomment-495072764
[2]: https://github.com/NixOS/nixpkgs/pull/48337#issuecomment-451644084
[3]: https://github.com/NixOS/nixpkgs/pull/48337#issuecomment-451646135
Signed-off-by: aszlig <aszlig@nix.build>
2019-12-30 13:06:00 +00:00
|
|
|
nginx-etag = handleTest ./nginx-etag.nix {};
|
2022-12-03 17:58:33 +00:00
|
|
|
nginx-globalredirect = handleTest ./nginx-globalredirect.nix {};
|
2022-04-18 10:22:39 +00:00
|
|
|
nginx-http3 = handleTest ./nginx-http3.nix {};
|
2022-02-14 23:10:37 +00:00
|
|
|
nginx-modsecurity = handleTest ./nginx-modsecurity.nix {};
|
2022-09-18 12:54:04 +00:00
|
|
|
nginx-njs = handleTest ./nginx-njs.nix {};
|
nginx: Fix ETag patch to ignore realpath(3) error
While our ETag patch works pretty fine if it comes to serving data off
store paths, it unfortunately broke something that might be a bit more
common, namely when using regexes to extract path components of
location directives for example.
Recently, @devhell has reported a bug with a nginx location directive
like this:
location ~^/\~([a-z0-9_]+)(/.*)?$" {
alias /home/$1/public_html$2;
}
While this might look harmless at first glance, it does however cause
issues with our ETag patch. The alias directive gets broken up by nginx
like this:
*2 http script copy: "/home/"
*2 http script capture: "foo"
*2 http script copy: "/public_html/"
*2 http script capture: "bar.txt"
In our patch however, we use realpath(3) to get the canonicalised path
from ngx_http_core_loc_conf_s.root, which returns the *configured* value
from the root or alias directive. So in the example above, realpath(3)
boils down to the following syscalls:
lstat("/home", {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0
lstat("/home/$1", 0x7ffd08da6f60) = -1 ENOENT (No such file or directory)
During my review[1] of the initial patch, I didn't actually notice that
what we're doing here is returning NGX_ERROR if the realpath(3) call
fails, which in turn causes an HTTP 500 error.
Since our patch actually made the canonicalisation (and thus additional
syscalls) necessary, we really shouldn't introduce an additional error
so let's - at least for now - silently skip return value if realpath(3)
has failed.
However since we're using the unaltered root from the config we have
another issue, consider this root:
/nix/store/...-abcde/$1
Calling realpath(3) on this path will fail (except if there's a file
called "$1" of course), so even this fix is not enough because it
results in the ETag not being set to the store path hash.
While this is very ugly and we should fix this very soon, it's not as
serious as getting HTTP 500 errors for serving static files.
I added a small NixOS VM test, which uses the example above as a
regression test.
It seems that my memory is failing these days, since apparently I *knew*
about this issue since digging for existing issues in nixpkgs, I found
this similar pull request which I even reviewed:
https://github.com/NixOS/nixpkgs/pull/66532
However, since the comments weren't addressed and the author hasn't
responded to the pull request, I decided to keep this very commit and do
a follow-up pull request.
[1]: https://github.com/NixOS/nixpkgs/pull/48337
Signed-off-by: aszlig <aszlig@nix.build>
Reported-by: @devhell
Acked-by: @7c6f434c
Acked-by: @yorickvP
Merges: https://github.com/NixOS/nixpkgs/pull/80671
Fixes: https://github.com/NixOS/nixpkgs/pull/66532
2020-02-20 19:43:42 +00:00
|
|
|
nginx-pubhtml = handleTest ./nginx-pubhtml.nix {};
|
2020-04-23 19:00:27 +00:00
|
|
|
nginx-sandbox = handleTestOn ["x86_64-linux"] ./nginx-sandbox.nix {};
|
2018-12-28 10:41:52 +00:00
|
|
|
nginx-sso = handleTest ./nginx-sso.nix {};
|
2020-06-02 05:01:03 +00:00
|
|
|
nginx-variants = handleTest ./nginx-variants.nix {};
|
2022-04-10 17:41:30 +00:00
|
|
|
nifi = handleTestOn ["x86_64-linux"] ./web-apps/nifi.nix {};
|
2021-07-26 10:00:05 +00:00
|
|
|
nitter = handleTest ./nitter.nix {};
|
2022-04-11 18:51:29 +00:00
|
|
|
nix-ld = handleTest ./nix-ld.nix {};
|
2021-12-03 16:19:42 +00:00
|
|
|
nix-serve = handleTest ./nix-serve.nix {};
|
|
|
|
nix-serve-ssh = handleTest ./nix-serve-ssh.nix {};
|
2021-10-17 22:38:58 +00:00
|
|
|
nixops = handleTest ./nixops/default.nix {};
|
2019-08-07 16:04:18 +00:00
|
|
|
nixos-generate-config = handleTest ./nixos-generate-config.nix {};
|
nixos: add --specialisation to nixos-rebuild
This commit fixes a papercut in nixos-rebuild where people wanting to
switch to a specialisation (or test one) were forced to manually figure
out the specialisation's path and run its activation script - since now,
there's a dedicated option to do just that.
This is a backwards-compatible change which doesn't affect the existing
behavior, which - to be fair - might still be considered sus by some
people, the painful scenario here being:
- you boot into specialisation `foo`,
- you run `nixos-rebuild switch`,
- whoops, you're no longer at specialisation `foo`, but you're rather
brought back to the base system.
(it's especially painful for cases where specialisation is used to load
extra drivers, e.g. Nvidia, since then launching `nixos-rebuild switch`,
while forgetting that you're inside a specialisation, can cause some
parts of your system to get accidentally unloaded.)
I've tried to mitigate that by improving specialisations so that they
create a dedicated file somewhere in `/run/current-system` containing
the specialisation's name (which `nixos-rebuild` could then use as the
default value for `--specialisation`), but I haven't been able to come
up with anything working (plus it would be a breaking change then).
Closes https://github.com/NixOS/nixpkgs/issues/174065
2022-12-23 20:23:36 +00:00
|
|
|
nixos-rebuild-specialisations = handleTest ./nixos-rebuild-specialisations.nix {};
|
2021-12-03 12:04:36 +00:00
|
|
|
nixpkgs = pkgs.callPackage ../modules/misc/nixpkgs/test.nix { inherit evalMinimalConfig; };
|
2021-07-28 10:42:26 +00:00
|
|
|
node-red = handleTest ./node-red.nix {};
|
2021-01-23 22:52:19 +00:00
|
|
|
nomad = handleTest ./nomad.nix {};
|
2022-06-22 02:10:44 +00:00
|
|
|
non-default-filesystems = handleTest ./non-default-filesystems.nix {};
|
2022-01-22 02:06:13 +00:00
|
|
|
noto-fonts = handleTest ./noto-fonts.nix {};
|
2018-11-11 11:30:07 +00:00
|
|
|
novacomd = handleTestOn ["x86_64-linux"] ./novacomd.nix {};
|
2022-10-07 09:40:33 +00:00
|
|
|
nscd = handleTest ./nscd.nix {};
|
2018-11-11 11:30:07 +00:00
|
|
|
nsd = handleTest ./nsd.nix {};
|
2022-09-01 12:36:19 +00:00
|
|
|
ntfy-sh = handleTest ./ntfy-sh.nix {};
|
2019-04-22 12:06:33 +00:00
|
|
|
nzbget = handleTest ./nzbget.nix {};
|
2020-10-04 14:06:53 +00:00
|
|
|
nzbhydra2 = handleTest ./nzbhydra2.nix {};
|
2020-11-05 01:37:50 +00:00
|
|
|
oh-my-zsh = handleTest ./oh-my-zsh.nix {};
|
2021-03-29 14:51:05 +00:00
|
|
|
ombi = handleTest ./ombi.nix {};
|
2019-10-22 14:20:56 +00:00
|
|
|
openarena = handleTest ./openarena.nix {};
|
2018-11-11 11:30:07 +00:00
|
|
|
openldap = handleTest ./openldap.nix {};
|
2021-10-07 03:36:02 +00:00
|
|
|
openresty-lua = handleTest ./openresty-lua.nix {};
|
2018-11-11 11:30:07 +00:00
|
|
|
opensmtpd = handleTest ./opensmtpd.nix {};
|
2021-05-19 20:37:49 +00:00
|
|
|
opensmtpd-rspamd = handleTest ./opensmtpd-rspamd.nix {};
|
2018-11-11 11:30:07 +00:00
|
|
|
openssh = handleTest ./openssh.nix {};
|
2019-01-28 14:09:48 +00:00
|
|
|
openstack-image-metadata = (handleTestOn ["x86_64-linux"] ./openstack-image.nix {}).metadata or {};
|
2020-11-29 23:00:38 +00:00
|
|
|
openstack-image-userdata = (handleTestOn ["x86_64-linux"] ./openstack-image.nix {}).userdata or {};
|
2021-01-08 16:48:00 +00:00
|
|
|
opentabletdriver = handleTest ./opentabletdriver.nix {};
|
2021-09-23 08:48:29 +00:00
|
|
|
owncast = handleTest ./owncast.nix {};
|
2020-12-20 20:18:54 +00:00
|
|
|
image-contents = handleTest ./image-contents.nix {};
|
2019-08-20 22:27:14 +00:00
|
|
|
orangefs = handleTest ./orangefs.nix {};
|
2019-06-09 18:26:05 +00:00
|
|
|
os-prober = handleTestOn ["x86_64-linux"] ./os-prober.nix {};
|
2019-01-05 12:13:10 +00:00
|
|
|
osrm-backend = handleTest ./osrm-backend.nix {};
|
2019-01-23 09:19:23 +00:00
|
|
|
overlayfs = handleTest ./overlayfs.nix {};
|
2022-03-08 01:46:26 +00:00
|
|
|
pacemaker = handleTest ./pacemaker.nix {};
|
2019-04-24 08:45:29 +00:00
|
|
|
packagekit = handleTest ./packagekit.nix {};
|
2021-11-27 08:04:28 +00:00
|
|
|
pam-file-contents = handleTest ./pam/pam-file-contents.nix {};
|
|
|
|
pam-oath-login = handleTest ./pam/pam-oath-login.nix {};
|
|
|
|
pam-u2f = handleTest ./pam/pam-u2f.nix {};
|
2022-03-13 17:20:23 +00:00
|
|
|
pam-ussh = handleTest ./pam/pam-ussh.nix {};
|
2022-04-16 05:18:57 +00:00
|
|
|
pass-secret-service = handleTest ./pass-secret-service.nix {};
|
2022-11-23 17:53:04 +00:00
|
|
|
patroni = handleTestOn ["x86_64-linux"] ./patroni.nix {};
|
2021-05-30 15:32:41 +00:00
|
|
|
pantalaimon = handleTest ./matrix/pantalaimon.nix {};
|
2019-01-24 22:33:05 +00:00
|
|
|
pantheon = handleTest ./pantheon.nix {};
|
2022-04-12 15:48:53 +00:00
|
|
|
paperless = handleTest ./paperless.nix {};
|
2021-06-02 16:19:37 +00:00
|
|
|
parsedmarc = handleTest ./parsedmarc {};
|
2020-11-29 23:00:38 +00:00
|
|
|
pdns-recursor = handleTest ./pdns-recursor.nix {};
|
2018-11-11 11:30:07 +00:00
|
|
|
peerflix = handleTest ./peerflix.nix {};
|
2022-12-01 16:32:15 +00:00
|
|
|
peering-manager = handleTest ./web-apps/peering-manager.nix {};
|
2021-05-31 11:23:06 +00:00
|
|
|
peertube = handleTestOn ["x86_64-linux"] ./web-apps/peertube.nix {};
|
2021-07-02 12:22:12 +00:00
|
|
|
pgadmin4 = handleTest ./pgadmin4.nix {};
|
2022-02-23 14:16:23 +00:00
|
|
|
pgadmin4-standalone = handleTest ./pgadmin4-standalone.nix {};
|
2018-11-11 11:30:07 +00:00
|
|
|
pgjwt = handleTest ./pgjwt.nix {};
|
|
|
|
pgmanage = handleTest ./pgmanage.nix {};
|
2022-08-02 19:34:37 +00:00
|
|
|
phosh = handleTest ./phosh.nix {};
|
2023-01-14 23:16:35 +00:00
|
|
|
photoprism = handleTest ./photoprism.nix {};
|
2020-03-30 20:07:05 +00:00
|
|
|
php = handleTest ./php {};
|
2021-02-28 20:16:08 +00:00
|
|
|
php80 = handleTest ./php { php = pkgs.php80; };
|
2021-11-25 20:38:19 +00:00
|
|
|
php81 = handleTest ./php { php = pkgs.php81; };
|
2022-11-13 20:14:38 +00:00
|
|
|
php82 = handleTest ./php { php = pkgs.php82; };
|
2022-06-28 19:17:38 +00:00
|
|
|
phylactery = handleTest ./web-apps/phylactery.nix {};
|
2022-01-23 11:11:05 +00:00
|
|
|
pict-rs = handleTest ./pict-rs.nix {};
|
2020-06-03 21:12:06 +00:00
|
|
|
pinnwand = handleTest ./pinnwand.nix {};
|
2022-09-17 13:02:37 +00:00
|
|
|
plasma-bigscreen = handleTest ./plasma-bigscreen.nix {};
|
2018-11-11 11:30:07 +00:00
|
|
|
plasma5 = handleTest ./plasma5.nix {};
|
2021-10-31 20:34:10 +00:00
|
|
|
plasma5-systemd-start = handleTest ./plasma5-systemd-start.nix {};
|
2021-05-21 21:15:23 +00:00
|
|
|
plausible = handleTest ./plausible.nix {};
|
2022-09-29 21:12:29 +00:00
|
|
|
please = handleTest ./please.nix {};
|
2020-11-08 14:10:14 +00:00
|
|
|
pleroma = handleTestOn [ "x86_64-linux" "aarch64-linux" ] ./pleroma.nix {};
|
2020-11-13 14:00:34 +00:00
|
|
|
plikd = handleTest ./plikd.nix {};
|
2018-11-11 11:30:07 +00:00
|
|
|
plotinus = handleTest ./plotinus.nix {};
|
2021-04-14 17:15:41 +00:00
|
|
|
podgrab = handleTest ./podgrab.nix {};
|
2022-09-24 05:58:15 +00:00
|
|
|
podman = handleTestOn ["aarch64-linux" "x86_64-linux"] ./podman/default.nix {};
|
|
|
|
podman-tls-ghostunnel = handleTestOn ["aarch64-linux" "x86_64-linux"] ./podman/tls-ghostunnel.nix {};
|
2022-06-17 18:04:54 +00:00
|
|
|
polaris = handleTest ./polaris.nix {};
|
2021-01-08 03:03:00 +00:00
|
|
|
pomerium = handleTestOn ["x86_64-linux"] ./pomerium.nix {};
|
2020-07-06 01:37:56 +00:00
|
|
|
postfix = handleTest ./postfix.nix {};
|
|
|
|
postfix-raise-smtpd-tls-security-level = handleTest ./postfix-raise-smtpd-tls-security-level.nix {};
|
2021-05-19 04:34:03 +00:00
|
|
|
postfixadmin = handleTest ./postfixadmin.nix {};
|
2018-11-11 11:30:07 +00:00
|
|
|
postgis = handleTest ./postgis.nix {};
|
|
|
|
postgresql = handleTest ./postgresql.nix {};
|
2019-08-11 17:09:42 +00:00
|
|
|
postgresql-wal-receiver = handleTest ./postgresql-wal-receiver.nix {};
|
2018-11-11 11:30:07 +00:00
|
|
|
powerdns = handleTest ./powerdns.nix {};
|
2021-12-17 09:33:40 +00:00
|
|
|
powerdns-admin = handleTest ./powerdns-admin.nix {};
|
2021-10-29 04:15:27 +00:00
|
|
|
power-profiles-daemon = handleTest ./power-profiles-daemon.nix {};
|
2019-10-15 04:26:54 +00:00
|
|
|
pppd = handleTest ./pppd.nix {};
|
2018-11-11 11:30:07 +00:00
|
|
|
predictable-interface-names = handleTest ./predictable-interface-names.nix {};
|
2022-12-07 14:52:08 +00:00
|
|
|
printing-socket = handleTest ./printing.nix { socket = true; };
|
|
|
|
printing-service = handleTest ./printing.nix { socket = false; };
|
2020-04-21 11:37:00 +00:00
|
|
|
privacyidea = handleTest ./privacyidea.nix {};
|
2021-03-03 16:18:09 +00:00
|
|
|
privoxy = handleTest ./privoxy.nix {};
|
2018-11-11 11:30:07 +00:00
|
|
|
prometheus = handleTest ./prometheus.nix {};
|
|
|
|
prometheus-exporters = handleTest ./prometheus-exporters.nix {};
|
2019-06-15 09:16:28 +00:00
|
|
|
prosody = handleTest ./xmpp/prosody.nix {};
|
2022-02-18 19:19:31 +00:00
|
|
|
prosody-mysql = handleTest ./xmpp/prosody-mysql.nix {};
|
2018-11-11 11:30:07 +00:00
|
|
|
proxy = handleTest ./proxy.nix {};
|
2021-10-10 15:54:22 +00:00
|
|
|
prowlarr = handleTest ./prowlarr.nix {};
|
2020-07-29 17:00:33 +00:00
|
|
|
pt2-clone = handleTest ./pt2-clone.nix {};
|
2022-06-26 22:20:04 +00:00
|
|
|
pykms = handleTest ./pykms.nix {};
|
2021-12-01 10:06:18 +00:00
|
|
|
public-inbox = handleTest ./public-inbox.nix {};
|
2021-11-30 13:51:06 +00:00
|
|
|
pulseaudio = discoverTests (import ./pulseaudio.nix);
|
2020-05-22 03:15:32 +00:00
|
|
|
qboot = handleTestOn ["x86_64-linux" "i686-linux"] ./qboot.nix {};
|
2023-01-12 18:50:27 +00:00
|
|
|
qemu-vm-restrictnetwork = handleTest ./qemu-vm-restrictnetwork.nix {};
|
2020-03-22 16:26:55 +00:00
|
|
|
quorum = handleTest ./quorum.nix {};
|
2022-09-21 20:26:03 +00:00
|
|
|
quake3 = handleTest ./quake3.nix {};
|
2018-11-11 11:30:07 +00:00
|
|
|
rabbitmq = handleTest ./rabbitmq.nix {};
|
2019-01-24 22:09:21 +00:00
|
|
|
radarr = handleTest ./radarr.nix {};
|
2018-11-11 11:30:07 +00:00
|
|
|
radicale = handleTest ./radicale.nix {};
|
2021-02-02 00:39:50 +00:00
|
|
|
rasdaemon = handleTest ./rasdaemon.nix {};
|
2019-08-31 18:17:33 +00:00
|
|
|
redis = handleTest ./redis.nix {};
|
2018-11-11 11:30:07 +00:00
|
|
|
redmine = handleTest ./redmine.nix {};
|
2021-09-08 19:02:28 +00:00
|
|
|
restartByActivationScript = handleTest ./restart-by-activation-script.nix {};
|
2020-01-30 21:31:52 +00:00
|
|
|
restic = handleTest ./restic.nix {};
|
2022-02-04 23:50:11 +00:00
|
|
|
retroarch = handleTest ./retroarch.nix {};
|
2020-08-30 16:31:54 +00:00
|
|
|
robustirc-bridge = handleTest ./robustirc-bridge.nix {};
|
2018-11-28 16:33:26 +00:00
|
|
|
roundcube = handleTest ./roundcube.nix {};
|
2018-11-11 11:30:07 +00:00
|
|
|
rspamd = handleTest ./rspamd.nix {};
|
2018-10-27 09:33:43 +00:00
|
|
|
rss2email = handleTest ./rss2email.nix {};
|
2022-01-23 11:11:05 +00:00
|
|
|
rstudio-server = handleTest ./rstudio-server.nix {};
|
|
|
|
rsyncd = handleTest ./rsyncd.nix {};
|
2018-11-11 11:30:07 +00:00
|
|
|
rsyslogd = handleTest ./rsyslogd.nix {};
|
|
|
|
rxe = handleTest ./rxe.nix {};
|
2021-09-21 11:38:22 +00:00
|
|
|
sabnzbd = handleTest ./sabnzbd.nix {};
|
2018-11-11 11:30:07 +00:00
|
|
|
samba = handleTest ./samba.nix {};
|
2020-11-23 14:13:22 +00:00
|
|
|
samba-wsdd = handleTest ./samba-wsdd.nix {};
|
2019-10-27 03:37:30 +00:00
|
|
|
sanoid = handleTest ./sanoid.nix {};
|
2022-05-31 15:27:54 +00:00
|
|
|
schleuder = handleTest ./schleuder.nix {};
|
2018-11-11 11:30:07 +00:00
|
|
|
sddm = handleTest ./sddm.nix {};
|
2021-11-07 08:05:36 +00:00
|
|
|
seafile = handleTest ./seafile.nix {};
|
2020-11-02 00:34:53 +00:00
|
|
|
searx = handleTest ./searx.nix {};
|
2020-02-28 11:17:01 +00:00
|
|
|
service-runner = handleTest ./service-runner.nix {};
|
2022-03-20 21:39:04 +00:00
|
|
|
sfxr-qt = handleTest ./sfxr-qt.nix {};
|
2020-12-23 18:28:30 +00:00
|
|
|
shadow = handleTest ./shadow.nix {};
|
2020-09-08 22:15:59 +00:00
|
|
|
shadowsocks = handleTest ./shadowsocks {};
|
2020-08-09 13:20:17 +00:00
|
|
|
shattered-pixel-dungeon = handleTest ./shattered-pixel-dungeon.nix {};
|
2019-11-08 17:17:08 +00:00
|
|
|
shiori = handleTest ./shiori.nix {};
|
2019-05-22 22:50:51 +00:00
|
|
|
signal-desktop = handleTest ./signal-desktop.nix {};
|
2018-11-11 11:30:07 +00:00
|
|
|
simple = handleTest ./simple.nix {};
|
|
|
|
slurm = handleTest ./slurm.nix {};
|
|
|
|
smokeping = handleTest ./smokeping.nix {};
|
2020-07-28 12:47:36 +00:00
|
|
|
snapcast = handleTest ./snapcast.nix {};
|
2018-11-11 11:30:07 +00:00
|
|
|
snapper = handleTest ./snapper.nix {};
|
2022-01-23 11:11:05 +00:00
|
|
|
soapui = handleTest ./soapui.nix {};
|
2020-05-12 16:32:39 +00:00
|
|
|
sogo = handleTest ./sogo.nix {};
|
2021-05-20 20:03:39 +00:00
|
|
|
solanum = handleTest ./solanum.nix {};
|
2018-11-11 11:30:07 +00:00
|
|
|
solr = handleTest ./solr.nix {};
|
2020-11-29 23:00:38 +00:00
|
|
|
sonarr = handleTest ./sonarr.nix {};
|
2021-08-28 17:46:05 +00:00
|
|
|
sourcehut = handleTest ./sourcehut.nix {};
|
2019-05-24 19:17:51 +00:00
|
|
|
spacecookie = handleTest ./spacecookie.nix {};
|
2022-02-08 13:59:23 +00:00
|
|
|
spark = handleTestOn [ "x86_64-linux" "aarch64-linux" ] ./spark {};
|
2022-11-13 19:13:15 +00:00
|
|
|
sqlite3-to-mysql = handleTest ./sqlite3-to-mysql.nix {};
|
2020-01-18 12:00:00 +00:00
|
|
|
sslh = handleTest ./sslh.nix {};
|
2020-08-24 13:55:22 +00:00
|
|
|
sssd = handleTestOn ["x86_64-linux"] ./sssd.nix {};
|
2020-09-01 05:03:20 +00:00
|
|
|
sssd-ldap = handleTestOn ["x86_64-linux"] ./sssd-ldap.nix {};
|
2021-12-24 11:24:29 +00:00
|
|
|
starship = handleTest ./starship.nix {};
|
2021-11-12 20:37:11 +00:00
|
|
|
step-ca = handleTestOn ["x86_64-linux"] ./step-ca.nix {};
|
2022-09-12 07:18:11 +00:00
|
|
|
stratis = handleTest ./stratis {};
|
2018-11-11 11:30:07 +00:00
|
|
|
strongswan-swanctl = handleTest ./strongswan-swanctl.nix {};
|
2022-02-22 22:08:43 +00:00
|
|
|
stunnel = handleTest ./stunnel.nix {};
|
2018-11-11 11:30:07 +00:00
|
|
|
sudo = handleTest ./sudo.nix {};
|
2022-10-04 03:08:46 +00:00
|
|
|
swap-file-btrfs = handleTest ./swap-file-btrfs.nix {};
|
2022-06-22 02:11:23 +00:00
|
|
|
swap-partition = handleTest ./swap-partition.nix {};
|
2021-05-27 18:37:24 +00:00
|
|
|
sway = handleTest ./sway.nix {};
|
2018-11-11 11:30:07 +00:00
|
|
|
switchTest = handleTest ./switch-test.nix {};
|
2019-07-06 18:56:30 +00:00
|
|
|
sympa = handleTest ./sympa.nix {};
|
2020-07-23 07:13:26 +00:00
|
|
|
syncthing = handleTest ./syncthing.nix {};
|
2019-04-21 21:05:07 +00:00
|
|
|
syncthing-init = handleTest ./syncthing-init.nix {};
|
2018-11-17 14:02:00 +00:00
|
|
|
syncthing-relay = handleTest ./syncthing-relay.nix {};
|
2018-11-11 11:30:07 +00:00
|
|
|
systemd = handleTest ./systemd.nix {};
|
2019-11-24 23:03:55 +00:00
|
|
|
systemd-analyze = handleTest ./systemd-analyze.nix {};
|
2020-05-18 09:16:56 +00:00
|
|
|
systemd-binfmt = handleTestOn ["x86_64-linux"] ./systemd-binfmt.nix {};
|
2020-06-14 03:57:52 +00:00
|
|
|
systemd-boot = handleTest ./systemd-boot.nix {};
|
2022-08-21 10:22:16 +00:00
|
|
|
systemd-bpf = handleTest ./systemd-bpf.nix {};
|
2019-03-14 14:26:10 +00:00
|
|
|
systemd-confinement = handleTest ./systemd-confinement.nix {};
|
2022-08-01 16:44:29 +00:00
|
|
|
systemd-coredump = handleTest ./systemd-coredump.nix {};
|
2021-10-04 10:54:13 +00:00
|
|
|
systemd-cryptenroll = handleTest ./systemd-cryptenroll.nix {};
|
2022-01-09 07:46:55 +00:00
|
|
|
systemd-escaping = handleTest ./systemd-escaping.nix {};
|
2022-04-17 12:55:48 +00:00
|
|
|
systemd-initrd-btrfs-raid = handleTest ./systemd-initrd-btrfs-raid.nix {};
|
2022-10-03 17:10:03 +00:00
|
|
|
systemd-initrd-luks-fido2 = handleTest ./systemd-initrd-luks-fido2.nix {};
|
2022-04-13 21:27:58 +00:00
|
|
|
systemd-initrd-luks-keyfile = handleTest ./systemd-initrd-luks-keyfile.nix {};
|
2022-04-13 18:45:29 +00:00
|
|
|
systemd-initrd-luks-password = handleTest ./systemd-initrd-luks-password.nix {};
|
2022-09-23 21:47:05 +00:00
|
|
|
systemd-initrd-luks-tpm2 = handleTest ./systemd-initrd-luks-tpm2.nix {};
|
2022-10-05 00:37:51 +00:00
|
|
|
systemd-initrd-modprobe = handleTest ./systemd-initrd-modprobe.nix {};
|
2022-04-15 10:23:02 +00:00
|
|
|
systemd-initrd-shutdown = handleTest ./systemd-shutdown.nix { systemdStage1 = true; };
|
2022-03-20 20:11:32 +00:00
|
|
|
systemd-initrd-simple = handleTest ./systemd-initrd-simple.nix {};
|
2022-04-15 15:28:41 +00:00
|
|
|
systemd-initrd-swraid = handleTest ./systemd-initrd-swraid.nix {};
|
2020-11-01 17:48:40 +00:00
|
|
|
systemd-journal = handleTest ./systemd-journal.nix {};
|
2022-02-17 21:07:05 +00:00
|
|
|
systemd-machinectl = handleTest ./systemd-machinectl.nix {};
|
2020-02-29 18:34:48 +00:00
|
|
|
systemd-networkd = handleTest ./systemd-networkd.nix {};
|
2019-11-16 11:13:51 +00:00
|
|
|
systemd-networkd-dhcpserver = handleTest ./systemd-networkd-dhcpserver.nix {};
|
2021-11-30 08:57:15 +00:00
|
|
|
systemd-networkd-dhcpserver-static-leases = handleTest ./systemd-networkd-dhcpserver-static-leases.nix {};
|
2020-05-01 13:12:19 +00:00
|
|
|
systemd-networkd-ipv6-prefix-delegation = handleTest ./systemd-networkd-ipv6-prefix-delegation.nix {};
|
2020-11-29 23:00:38 +00:00
|
|
|
systemd-networkd-vrf = handleTest ./systemd-networkd-vrf.nix {};
|
2022-10-04 16:19:38 +00:00
|
|
|
systemd-no-tainted = handleTest ./systemd-no-tainted.nix {};
|
2019-11-02 18:55:41 +00:00
|
|
|
systemd-nspawn = handleTest ./systemd-nspawn.nix {};
|
2022-04-21 17:54:50 +00:00
|
|
|
systemd-oomd = handleTest ./systemd-oomd.nix {};
|
2022-09-29 10:57:18 +00:00
|
|
|
systemd-portabled = handleTest ./systemd-portabled.nix {};
|
2022-04-15 10:23:02 +00:00
|
|
|
systemd-shutdown = handleTest ./systemd-shutdown.nix {};
|
2020-11-29 23:00:38 +00:00
|
|
|
systemd-timesyncd = handleTest ./systemd-timesyncd.nix {};
|
2022-12-23 20:22:49 +00:00
|
|
|
systemd-user-tmpfiles-rules = handleTest ./systemd-user-tmpfiles-rules.nix {};
|
2021-08-11 18:28:30 +00:00
|
|
|
systemd-misc = handleTest ./systemd-misc.nix {};
|
2022-12-08 00:31:05 +00:00
|
|
|
systemd-userdbd = handleTest ./systemd-userdbd.nix {};
|
2022-12-08 08:49:12 +00:00
|
|
|
systemd-homed = handleTest ./systemd-homed.nix {};
|
2022-09-17 14:36:39 +00:00
|
|
|
tandoor-recipes = handleTest ./tandoor-recipes.nix {};
|
2018-11-11 11:30:07 +00:00
|
|
|
taskserver = handleTest ./taskserver.nix {};
|
2022-10-12 19:16:02 +00:00
|
|
|
tayga = handleTest ./tayga.nix {};
|
2022-01-23 11:11:05 +00:00
|
|
|
teeworlds = handleTest ./teeworlds.nix {};
|
2019-01-21 11:30:11 +00:00
|
|
|
telegraf = handleTest ./telegraf.nix {};
|
2022-01-10 12:46:47 +00:00
|
|
|
teleport = handleTest ./teleport.nix {};
|
2022-01-11 02:29:04 +00:00
|
|
|
thelounge = handleTest ./thelounge.nix {};
|
2020-11-13 18:41:14 +00:00
|
|
|
terminal-emulators = handleTest ./terminal-emulators.nix {};
|
2019-04-29 20:46:00 +00:00
|
|
|
tiddlywiki = handleTest ./tiddlywiki.nix {};
|
2020-04-13 03:56:20 +00:00
|
|
|
tigervnc = handleTest ./tigervnc.nix {};
|
2019-12-02 22:28:53 +00:00
|
|
|
timezone = handleTest ./timezone.nix {};
|
2020-12-06 15:05:21 +00:00
|
|
|
tinc = handleTest ./tinc {};
|
2019-05-16 21:42:02 +00:00
|
|
|
tinydns = handleTest ./tinydns.nix {};
|
2021-12-28 20:32:26 +00:00
|
|
|
tinywl = handleTest ./tinywl.nix {};
|
2022-10-05 16:34:30 +00:00
|
|
|
tmate-ssh-server = handleTest ./tmate-ssh-server.nix { };
|
2022-03-13 13:31:43 +00:00
|
|
|
tomcat = handleTest ./tomcat.nix {};
|
2018-11-11 11:30:07 +00:00
|
|
|
tor = handleTest ./tor.nix {};
|
2022-09-24 07:43:38 +00:00
|
|
|
traefik = handleTestOn ["aarch64-linux" "x86_64-linux"] ./traefik.nix {};
|
2021-04-09 16:48:51 +00:00
|
|
|
trafficserver = handleTest ./trafficserver.nix {};
|
2018-11-11 11:30:07 +00:00
|
|
|
transmission = handleTest ./transmission.nix {};
|
2022-10-02 10:43:54 +00:00
|
|
|
# tracee requires bpf
|
|
|
|
tracee = handleTestOn ["x86_64-linux"] ./tracee.nix {};
|
2019-08-16 15:00:07 +00:00
|
|
|
trezord = handleTest ./trezord.nix {};
|
2019-11-01 10:03:23 +00:00
|
|
|
trickster = handleTest ./trickster.nix {};
|
2020-11-29 23:00:38 +00:00
|
|
|
trilium-server = handleTestOn ["x86_64-linux"] ./trilium-server.nix {};
|
2021-12-18 08:21:57 +00:00
|
|
|
tsm-client-gui = handleTest ./tsm-client-gui.nix {};
|
2021-06-24 21:34:03 +00:00
|
|
|
txredisapi = handleTest ./txredisapi.nix {};
|
2020-03-24 22:45:49 +00:00
|
|
|
tuptime = handleTest ./tuptime.nix {};
|
2021-03-14 05:13:41 +00:00
|
|
|
turbovnc-headless-server = handleTest ./turbovnc-headless-server.nix {};
|
2021-07-23 14:02:20 +00:00
|
|
|
tuxguitar = handleTest ./tuxguitar.nix {};
|
2021-06-13 20:00:25 +00:00
|
|
|
ucarp = handleTest ./ucarp.nix {};
|
2018-11-11 11:30:07 +00:00
|
|
|
udisks2 = handleTest ./udisks2.nix {};
|
2022-12-27 23:17:14 +00:00
|
|
|
ulogd = handleTest ./ulogd.nix {};
|
2020-11-29 23:00:38 +00:00
|
|
|
unbound = handleTest ./unbound.nix {};
|
2021-12-17 23:55:13 +00:00
|
|
|
unifi = handleTest ./unifi.nix {};
|
2020-04-16 20:08:00 +00:00
|
|
|
unit-php = handleTest ./web-servers/unit-php.nix {};
|
2018-11-11 11:30:07 +00:00
|
|
|
upnp = handleTest ./upnp.nix {};
|
2022-03-17 16:57:23 +00:00
|
|
|
uptermd = handleTest ./uptermd.nix {};
|
2022-09-23 05:04:23 +00:00
|
|
|
uptime-kuma = handleTest ./uptime-kuma.nix {};
|
2021-01-16 22:15:52 +00:00
|
|
|
usbguard = handleTest ./usbguard.nix {};
|
2021-02-15 22:40:54 +00:00
|
|
|
user-activation-scripts = handleTest ./user-activation-scripts.nix {};
|
2022-04-10 19:06:19 +00:00
|
|
|
user-home-mode = handleTest ./user-home-mode.nix {};
|
2019-05-27 21:03:22 +00:00
|
|
|
uwsgi = handleTest ./uwsgi.nix {};
|
2020-06-12 08:12:51 +00:00
|
|
|
v2ray = handleTest ./v2ray.nix {};
|
2022-09-27 19:22:21 +00:00
|
|
|
varnish60 = handleTest ./varnish.nix { package = pkgs.varnish60; };
|
|
|
|
varnish72 = handleTest ./varnish.nix { package = pkgs.varnish72; };
|
2018-11-11 11:30:07 +00:00
|
|
|
vault = handleTest ./vault.nix {};
|
2022-07-05 08:54:11 +00:00
|
|
|
vault-dev = handleTest ./vault-dev.nix {};
|
2021-01-04 16:54:03 +00:00
|
|
|
vault-postgresql = handleTest ./vault-postgresql.nix {};
|
2021-07-01 09:14:51 +00:00
|
|
|
vaultwarden = handleTest ./vaultwarden.nix {};
|
2020-11-30 07:22:08 +00:00
|
|
|
vector = handleTest ./vector.nix {};
|
2021-11-21 17:09:17 +00:00
|
|
|
vengi-tools = handleTest ./vengi-tools.nix {};
|
2020-01-19 17:55:56 +00:00
|
|
|
victoriametrics = handleTest ./victoriametrics.nix {};
|
2021-06-26 12:26:17 +00:00
|
|
|
vikunja = handleTest ./vikunja.nix {};
|
2018-11-11 11:30:07 +00:00
|
|
|
virtualbox = handleTestOn ["x86_64-linux"] ./virtualbox.nix {};
|
2021-11-19 20:21:20 +00:00
|
|
|
vscodium = discoverTests (import ./vscodium.nix);
|
2022-03-01 03:03:47 +00:00
|
|
|
vsftpd = handleTest ./vsftpd.nix {};
|
2022-11-24 19:46:05 +00:00
|
|
|
warzone2100 = handleTest ./warzone2100.nix {};
|
2020-06-18 12:19:13 +00:00
|
|
|
wasabibackend = handleTest ./wasabibackend.nix {};
|
2020-03-22 11:49:51 +00:00
|
|
|
webhook = runTest ./webhook.nix;
|
2021-03-18 11:33:40 +00:00
|
|
|
wiki-js = handleTest ./wiki-js.nix {};
|
2022-01-23 11:11:05 +00:00
|
|
|
wine = handleTest ./wine.nix {};
|
2019-03-17 12:20:38 +00:00
|
|
|
wireguard = handleTest ./wireguard {};
|
2021-04-24 21:02:15 +00:00
|
|
|
without-nix = handleTest ./without-nix.nix {};
|
2021-01-27 14:44:27 +00:00
|
|
|
wmderland = handleTest ./wmderland.nix {};
|
2021-09-24 11:25:16 +00:00
|
|
|
wpa_supplicant = handleTest ./wpa_supplicant.nix {};
|
2018-11-11 11:30:07 +00:00
|
|
|
wordpress = handleTest ./wordpress.nix {};
|
2022-11-05 11:38:11 +00:00
|
|
|
wrappers = handleTest ./wrappers.nix {};
|
2022-06-26 05:08:43 +00:00
|
|
|
writefreely = handleTest ./web-apps/writefreely.nix {};
|
2019-12-14 00:17:49 +00:00
|
|
|
xandikos = handleTest ./xandikos.nix {};
|
2018-11-11 11:30:07 +00:00
|
|
|
xautolock = handleTest ./xautolock.nix {};
|
|
|
|
xfce = handleTest ./xfce.nix {};
|
|
|
|
xmonad = handleTest ./xmonad.nix {};
|
2021-06-18 13:10:26 +00:00
|
|
|
xmonad-xdg-autostart = handleTest ./xmonad-xdg-autostart.nix {};
|
2022-09-20 23:39:13 +00:00
|
|
|
xpadneo = handleTest ./xpadneo.nix {};
|
2018-11-11 11:30:07 +00:00
|
|
|
xrdp = handleTest ./xrdp.nix {};
|
|
|
|
xss-lock = handleTest ./xss-lock.nix {};
|
2020-11-17 03:13:13 +00:00
|
|
|
xterm = handleTest ./xterm.nix {};
|
2022-01-01 21:16:13 +00:00
|
|
|
xxh = handleTest ./xxh.nix {};
|
2018-11-11 11:30:07 +00:00
|
|
|
yabar = handleTest ./yabar.nix {};
|
2019-06-27 15:56:10 +00:00
|
|
|
yggdrasil = handleTest ./yggdrasil.nix {};
|
2022-02-16 05:49:51 +00:00
|
|
|
zammad = handleTest ./zammad.nix {};
|
2022-06-10 12:54:16 +00:00
|
|
|
zeronet-conservancy = handleTest ./zeronet-conservancy.nix {};
|
2020-02-03 17:33:26 +00:00
|
|
|
zfs = handleTest ./zfs.nix {};
|
2020-08-03 10:43:13 +00:00
|
|
|
zigbee2mqtt = handleTest ./zigbee2mqtt.nix {};
|
2020-04-11 17:28:52 +00:00
|
|
|
zoneminder = handleTest ./zoneminder.nix {};
|
2018-11-11 11:30:07 +00:00
|
|
|
zookeeper = handleTest ./zookeeper.nix {};
|
2022-03-29 18:44:07 +00:00
|
|
|
zrepl = handleTest ./zrepl.nix {};
|
2020-04-11 17:28:52 +00:00
|
|
|
zsh-history = handleTest ./zsh-history.nix {};
|
2022-06-06 17:24:30 +00:00
|
|
|
}
|