| 
									
										
										
										
											2018-11-11 20:30:07 +09:00
										 |  |  | { system, pkgs, callTest }: | 
					
						
							|  |  |  | # 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 22:55:23 +09:00
										 |  |  | # `passthru.tests` can contain links to those without breaking on architectures | 
					
						
							| 
									
										
										
										
											2018-11-11 20:30:07 +09: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: | 
					
						
							|  |  |  |     if !isAttrs val then val | 
					
						
							|  |  |  |     else if hasAttr "test" val then callTest val | 
					
						
							|  |  |  |     else mapAttrs (n: s: discoverTests s) val; | 
					
						
							|  |  |  |   handleTest = path: args: | 
					
						
							|  |  |  |     discoverTests (import path ({ inherit system pkgs; } // args)); | 
					
						
							|  |  |  |   handleTestOn = systems: path: args: | 
					
						
							|  |  |  |     if elem system systems then handleTest path args | 
					
						
							|  |  |  |     else {}; | 
					
						
							|  |  |  | in | 
					
						
							|  |  |  | { | 
					
						
							| 
									
										
										
										
											2019-10-10 14:56:05 +03:00
										 |  |  |   _3proxy = handleTest ./3proxy.nix {}; | 
					
						
							| 
									
										
										
										
											2020-03-23 22:12:15 +00:00
										 |  |  |   acme = handleTest ./acme.nix {}; | 
					
						
							| 
									
										
										
										
											2020-04-19 20:01:37 +02:00
										 |  |  |   agda = handleTest ./agda.nix {}; | 
					
						
							| 
									
										
										
										
											2018-11-11 20:30:07 +09:00
										 |  |  |   atd = handleTest ./atd.nix {}; | 
					
						
							|  |  |  |   avahi = handleTest ./avahi.nix {}; | 
					
						
							| 
									
										
										
										
											2019-10-12 01:30:55 +02:00
										 |  |  |   babeld = handleTest ./babeld.nix {}; | 
					
						
							| 
									
										
										
										
											2020-05-10 12:54:09 +02:00
										 |  |  |   bazarr = handleTest ./bazarr.nix {}; | 
					
						
							| 
									
										
										
										
											2018-11-11 21:27:58 +09:00
										 |  |  |   bcachefs = handleTestOn ["x86_64-linux"] ./bcachefs.nix {}; # linux-4.18.2018.10.12 is unsupported on aarch64 | 
					
						
							| 
									
										
										
										
											2019-02-22 08:10:02 -05:00
										 |  |  |   beanstalkd = handleTest ./beanstalkd.nix {}; | 
					
						
							| 
									
										
										
										
											2019-11-24 01:10:17 +01:00
										 |  |  |   bees = handleTest ./bees.nix {}; | 
					
						
							| 
									
										
										
										
											2018-11-11 20:30:07 +09:00
										 |  |  |   bind = handleTest ./bind.nix {}; | 
					
						
							|  |  |  |   bittorrent = handleTest ./bittorrent.nix {}; | 
					
						
							| 
									
										
										
										
											2020-01-23 17:19:53 +01:00
										 |  |  |   buildkite-agents = handleTest ./buildkite-agents.nix {}; | 
					
						
							| 
									
										
										
										
											2018-11-11 21:27:58 +09:00
										 |  |  |   boot = handleTestOn ["x86_64-linux"] ./boot.nix {}; # syslinux is unsupported on aarch64 | 
					
						
							| 
									
										
										
										
											2018-11-11 20:30:07 +09:00
										 |  |  |   boot-stage1 = handleTest ./boot-stage1.nix {}; | 
					
						
							|  |  |  |   borgbackup = handleTest ./borgbackup.nix {}; | 
					
						
							|  |  |  |   buildbot = handleTest ./buildbot.nix {}; | 
					
						
							| 
									
										
										
										
											2019-10-09 13:32:03 +02:00
										 |  |  |   caddy = handleTest ./caddy.nix {}; | 
					
						
							| 
									
										
										
										
											2018-11-11 20:30:07 +09:00
										 |  |  |   cadvisor = handleTestOn ["x86_64-linux"] ./cadvisor.nix {}; | 
					
						
							| 
									
										
										
										
											2020-02-19 14:43:48 -05:00
										 |  |  |   cage = handleTest ./cage.nix {}; | 
					
						
							| 
									
										
										
										
											2019-04-22 18:06:40 +02:00
										 |  |  |   cassandra = handleTest ./cassandra.nix {}; | 
					
						
							| 
									
										
										
										
											2019-11-01 13:12:18 +01:00
										 |  |  |   ceph-single-node = handleTestOn ["x86_64-linux"] ./ceph-single-node.nix {}; | 
					
						
							|  |  |  |   ceph-multi-node = handleTestOn ["x86_64-linux"] ./ceph-multi-node.nix {}; | 
					
						
							| 
									
										
										
										
											2018-11-11 20:30:07 +09:00
										 |  |  |   certmgr = handleTest ./certmgr.nix {}; | 
					
						
							|  |  |  |   cfssl = handleTestOn ["x86_64-linux"] ./cfssl.nix {}; | 
					
						
							|  |  |  |   chromium = (handleTestOn ["x86_64-linux"] ./chromium.nix {}).stable or {}; | 
					
						
							|  |  |  |   cjdns = handleTest ./cjdns.nix {}; | 
					
						
							| 
									
										
										
										
											2018-12-19 15:06:53 +01:00
										 |  |  |   clickhouse = handleTest ./clickhouse.nix {}; | 
					
						
							| 
									
										
										
										
											2018-11-11 20:30:07 +09:00
										 |  |  |   cloud-init = handleTest ./cloud-init.nix {}; | 
					
						
							|  |  |  |   codimd = handleTest ./codimd.nix {}; | 
					
						
							| 
									
										
										
										
											2019-11-24 15:08:53 +01:00
										 |  |  |   consul = handleTest ./consul.nix {}; | 
					
						
							| 
									
										
										
										
											2019-11-22 21:49:16 +01:00
										 |  |  |   cockroachdb = handleTestOn ["x86_64-linux"] ./cockroachdb.nix {}; | 
					
						
							| 
									
										
										
										
											2018-11-11 20:30:07 +09:00
										 |  |  |   containers-bridge = handleTest ./containers-bridge.nix {}; | 
					
						
							| 
									
										
										
										
											2020-04-19 14:41:18 +01:00
										 |  |  |   containers-custom-pkgs.nix = handleTest ./containers-custom-pkgs.nix {}; | 
					
						
							| 
									
										
										
										
											2019-08-18 21:37:38 +02:00
										 |  |  |   containers-ephemeral = handleTest ./containers-ephemeral.nix {}; | 
					
						
							| 
									
										
										
										
											2018-11-11 20:30:07 +09:00
										 |  |  |   containers-extra_veth = handleTest ./containers-extra_veth.nix {}; | 
					
						
							|  |  |  |   containers-hosts = handleTest ./containers-hosts.nix {}; | 
					
						
							|  |  |  |   containers-imperative = handleTest ./containers-imperative.nix {}; | 
					
						
							| 
									
										
										
										
											2019-11-26 00:44:12 +01:00
										 |  |  |   containers-ip = handleTest ./containers-ip.nix {}; | 
					
						
							| 
									
										
										
										
											2018-11-11 20:30:07 +09:00
										 |  |  |   containers-macvlans = handleTest ./containers-macvlans.nix {}; | 
					
						
							|  |  |  |   containers-physical_interfaces = handleTest ./containers-physical_interfaces.nix {}; | 
					
						
							| 
									
										
										
										
											2019-12-10 20:34:37 +01:00
										 |  |  |   containers-portforward = handleTest ./containers-portforward.nix {}; | 
					
						
							| 
									
										
										
										
											2018-11-11 20:30:07 +09:00
										 |  |  |   containers-restart_networking = handleTest ./containers-restart_networking.nix {}; | 
					
						
							|  |  |  |   containers-tmpfs = handleTest ./containers-tmpfs.nix {}; | 
					
						
							| 
									
										
										
										
											2020-01-07 11:52:32 -05:00
										 |  |  |   corerad = handleTest ./corerad.nix {}; | 
					
						
							| 
									
										
										
										
											2019-07-24 20:48:43 +02:00
										 |  |  |   couchdb = handleTest ./couchdb.nix {}; | 
					
						
							| 
									
										
										
										
											2018-11-11 20:30:07 +09:00
										 |  |  |   deluge = handleTest ./deluge.nix {}; | 
					
						
							|  |  |  |   dhparams = handleTest ./dhparams.nix {}; | 
					
						
							| 
									
										
										
										
											2020-02-01 18:59:02 -05:00
										 |  |  |   dnscrypt-proxy2 = handleTestOn ["x86_64-linux"] ./dnscrypt-proxy2.nix {}; | 
					
						
							| 
									
										
										
										
											2020-04-24 01:33:33 +02:00
										 |  |  |   dnscrypt-wrapper = handleTestOn ["x86_64-linux"] ./dnscrypt-wrapper {}; | 
					
						
							| 
									
										
										
										
											2020-04-13 20:13:36 -07:00
										 |  |  |   doas = handleTest ./doas.nix {}; | 
					
						
							| 
									
										
										
										
											2018-11-11 20:30:07 +09:00
										 |  |  |   docker = handleTestOn ["x86_64-linux"] ./docker.nix {}; | 
					
						
							| 
									
										
										
										
											2020-04-20 12:31:07 +01:00
										 |  |  |   oci-containers = handleTestOn ["x86_64-linux"] ./oci-containers.nix {}; | 
					
						
							| 
									
										
										
										
											2018-11-11 20:30:07 +09:00
										 |  |  |   docker-edge = handleTestOn ["x86_64-linux"] ./docker-edge.nix {}; | 
					
						
							|  |  |  |   docker-preloader = handleTestOn ["x86_64-linux"] ./docker-preloader.nix {}; | 
					
						
							|  |  |  |   docker-registry = handleTest ./docker-registry.nix {}; | 
					
						
							|  |  |  |   docker-tools = handleTestOn ["x86_64-linux"] ./docker-tools.nix {}; | 
					
						
							|  |  |  |   docker-tools-overlay = handleTestOn ["x86_64-linux"] ./docker-tools-overlay.nix {}; | 
					
						
							| 
									
										
										
										
											2019-03-26 19:04:28 +01:00
										 |  |  |   documize = handleTest ./documize.nix {}; | 
					
						
							| 
									
										
										
										
											2019-12-25 23:04:55 +01:00
										 |  |  |   dokuwiki = handleTest ./dokuwiki.nix {}; | 
					
						
							| 
									
										
										
										
											2018-11-11 20:30:07 +09:00
										 |  |  |   dovecot = handleTest ./dovecot.nix {}; | 
					
						
							|  |  |  |   # ec2-config doesn't work in a sandbox as the simulated ec2 instance needs network access | 
					
						
							|  |  |  |   #ec2-config = (handleTestOn ["x86_64-linux"] ./ec2.nix {}).boot-ec2-config or {}; | 
					
						
							|  |  |  |   ec2-nixops = (handleTestOn ["x86_64-linux"] ./ec2.nix {}).boot-ec2-nixops or {}; | 
					
						
							|  |  |  |   ecryptfs = handleTest ./ecryptfs.nix {}; | 
					
						
							| 
									
										
										
										
											2019-06-15 12:16:28 +03:00
										 |  |  |   ejabberd = handleTest ./xmpp/ejabberd.nix {}; | 
					
						
							| 
									
										
										
										
											2018-11-11 20:30:07 +09:00
										 |  |  |   elk = handleTestOn ["x86_64-linux"] ./elk.nix {}; | 
					
						
							| 
									
										
										
										
											2020-05-24 14:20:58 +02:00
										 |  |  |   engelsystem = handleTest ./engelsystem.nix {}; | 
					
						
							| 
									
										
										
										
											2020-05-02 11:28:50 -03:00
										 |  |  |   enlightenment = handleTest ./enlightenment.nix {}; | 
					
						
							| 
									
										
										
										
											2018-11-11 20:30:07 +09:00
										 |  |  |   env = handleTest ./env.nix {}; | 
					
						
							| 
									
										
										
										
											2020-05-24 20:39:23 +02:00
										 |  |  |   ergo = handleTest ./ergo.nix {}; | 
					
						
							| 
									
										
										
										
											2018-11-11 20:30:07 +09: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 {}; | 
					
						
							| 
									
										
										
										
											2019-10-29 15:06:32 +01:00
										 |  |  |   fancontrol = handleTest ./fancontrol.nix {}; | 
					
						
							| 
									
										
										
										
											2018-11-11 20:30:07 +09:00
										 |  |  |   ferm = handleTest ./ferm.nix {}; | 
					
						
							|  |  |  |   firefox = handleTest ./firefox.nix {}; | 
					
						
							| 
									
										
										
										
											2020-02-10 18:01:47 +01:00
										 |  |  |   firefox-esr = handleTest ./firefox.nix { esr = true; }; | 
					
						
							| 
									
										
										
										
											2018-11-11 20:30:07 +09:00
										 |  |  |   firewall = handleTest ./firewall.nix {}; | 
					
						
							| 
									
										
										
										
											2018-12-17 20:12:09 +01:00
										 |  |  |   fish = handleTest ./fish.nix {}; | 
					
						
							| 
									
										
										
										
											2019-02-12 18:26:08 +01:00
										 |  |  |   flannel = handleTestOn ["x86_64-linux"] ./flannel.nix {}; | 
					
						
							| 
									
										
										
										
											2019-07-30 00:35:27 +09:00
										 |  |  |   fluentd = handleTest ./fluentd.nix {}; | 
					
						
							| 
									
										
										
										
											2019-08-29 14:02:20 +02:00
										 |  |  |   fontconfig-default-fonts = handleTest ./fontconfig-default-fonts.nix {}; | 
					
						
							| 
									
										
										
										
											2020-01-07 16:53:34 +02:00
										 |  |  |   freeswitch = handleTest ./freeswitch.nix {}; | 
					
						
							| 
									
										
										
										
											2018-11-11 20:30:07 +09:00
										 |  |  |   fsck = handleTest ./fsck.nix {}; | 
					
						
							| 
									
										
										
										
											2020-03-05 22:11:28 +01:00
										 |  |  |   gerrit = handleTest ./gerrit.nix {}; | 
					
						
							| 
									
										
										
										
											2019-10-25 15:14:57 +02:00
										 |  |  |   gotify-server = handleTest ./gotify-server.nix {}; | 
					
						
							| 
									
										
										
										
											2020-02-07 23:30:40 +01:00
										 |  |  |   grocy = handleTest ./grocy.nix {}; | 
					
						
							| 
									
										
										
										
											2020-02-26 14:05:00 +01:00
										 |  |  |   gitdaemon = handleTest ./gitdaemon.nix {}; | 
					
						
							| 
									
										
										
										
											2018-11-11 20:30:07 +09:00
										 |  |  |   gitea = handleTest ./gitea.nix {}; | 
					
						
							|  |  |  |   gitlab = handleTest ./gitlab.nix {}; | 
					
						
							|  |  |  |   gitolite = handleTest ./gitolite.nix {}; | 
					
						
							| 
									
										
										
										
											2019-12-04 18:10:57 -05:00
										 |  |  |   gitolite-fcgiwrap = handleTest ./gitolite-fcgiwrap.nix {}; | 
					
						
							| 
									
										
										
										
											2019-08-17 01:28:43 +02:00
										 |  |  |   glusterfs = handleTest ./glusterfs.nix {}; | 
					
						
							| 
									
										
										
										
											2019-08-06 22:01:17 -04:00
										 |  |  |   gnome3-xorg = handleTest ./gnome3-xorg.nix {}; | 
					
						
							|  |  |  |   gnome3 = handleTest ./gnome3.nix {}; | 
					
						
							| 
									
										
										
										
											2019-11-05 19:56:21 -05:00
										 |  |  |   installed-tests = pkgs.recurseIntoAttrs (handleTest ./installed-tests {}); | 
					
						
							| 
									
										
										
										
											2018-11-11 20:30:07 +09:00
										 |  |  |   gocd-agent = handleTest ./gocd-agent.nix {}; | 
					
						
							|  |  |  |   gocd-server = handleTest ./gocd-server.nix {}; | 
					
						
							| 
									
										
										
										
											2019-05-16 21:29:17 -04:00
										 |  |  |   google-oslogin = handleTest ./google-oslogin {}; | 
					
						
							| 
									
										
										
										
											2018-11-11 20:30:07 +09:00
										 |  |  |   grafana = handleTest ./grafana.nix {}; | 
					
						
							|  |  |  |   graphite = handleTest ./graphite.nix {}; | 
					
						
							| 
									
										
										
										
											2019-07-09 02:01:43 +02:00
										 |  |  |   graylog = handleTest ./graylog.nix {}; | 
					
						
							| 
									
										
										
										
											2019-11-26 23:01:46 -08:00
										 |  |  |   gvisor = handleTest ./gvisor.nix {}; | 
					
						
							| 
									
										
										
										
											2018-11-11 20:30:07 +09:00
										 |  |  |   hadoop.hdfs = handleTestOn [ "x86_64-linux" ] ./hadoop/hdfs.nix {}; | 
					
						
							|  |  |  |   hadoop.yarn = handleTestOn [ "x86_64-linux" ] ./hadoop/yarn.nix {}; | 
					
						
							| 
									
										
										
										
											2018-11-12 07:45:00 +01:00
										 |  |  |   handbrake = handleTestOn ["x86_64-linux"] ./handbrake.nix {}; | 
					
						
							| 
									
										
										
										
											2018-11-11 20:30:07 +09:00
										 |  |  |   haproxy = handleTest ./haproxy.nix {}; | 
					
						
							| 
									
										
										
										
											2019-01-06 14:04:41 +01:00
										 |  |  |   hardened = handleTest ./hardened.nix {}; | 
					
						
							| 
									
										
										
										
											2020-03-26 14:33:57 +01: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 {}; | 
					
						
							| 
									
										
										
										
											2018-11-11 20:30:07 +09:00
										 |  |  |   hitch = handleTest ./hitch {}; | 
					
						
							|  |  |  |   hocker-fetchdocker = handleTest ./hocker-fetchdocker {}; | 
					
						
							|  |  |  |   home-assistant = handleTest ./home-assistant.nix {}; | 
					
						
							| 
									
										
										
										
											2020-05-12 23:48:27 +02:00
										 |  |  |   hostname = handleTest ./hostname.nix {}; | 
					
						
							| 
									
										
										
										
											2018-11-11 20:30:07 +09:00
										 |  |  |   hound = handleTest ./hound.nix {}; | 
					
						
							|  |  |  |   hydra = handleTest ./hydra {}; | 
					
						
							| 
									
										
										
										
											2020-03-27 22:09:13 +01:00
										 |  |  |   hydra-db-migration = handleTest ./hydra/db-migration.nix {}; | 
					
						
							| 
									
										
										
										
											2018-11-11 20:30:07 +09:00
										 |  |  |   i3wm = handleTest ./i3wm.nix {}; | 
					
						
							| 
									
										
										
										
											2019-07-07 03:03:59 +02:00
										 |  |  |   icingaweb2 = handleTest ./icingaweb2.nix {}; | 
					
						
							| 
									
										
										
										
											2018-11-11 20:30:07 +09:00
										 |  |  |   iftop = handleTest ./iftop.nix {}; | 
					
						
							| 
									
										
										
										
											2019-09-16 17:08:32 +02:00
										 |  |  |   ihatemoney = handleTest ./ihatemoney.nix {}; | 
					
						
							| 
									
										
										
										
											2018-11-14 23:51:15 +01:00
										 |  |  |   incron = handleTest ./incron.nix {}; | 
					
						
							| 
									
										
										
										
											2018-11-11 20:30:07 +09:00
										 |  |  |   influxdb = handleTest ./influxdb.nix {}; | 
					
						
							|  |  |  |   initrd-network-ssh = handleTest ./initrd-network-ssh {}; | 
					
						
							|  |  |  |   initrdNetwork = handleTest ./initrd-network.nix {}; | 
					
						
							|  |  |  |   installer = handleTest ./installer.nix {}; | 
					
						
							| 
									
										
										
										
											2020-02-02 12:00:00 +00:00
										 |  |  |   iodine = handleTest ./iodine.nix {}; | 
					
						
							| 
									
										
										
										
											2020-05-08 10:48:47 +01:00
										 |  |  |   ipfs = handleTest ./ipfs.nix {}; | 
					
						
							| 
									
										
										
										
											2018-11-11 20:30:07 +09:00
										 |  |  |   ipv6 = handleTest ./ipv6.nix {}; | 
					
						
							| 
									
										
										
										
											2019-01-25 07:09:36 +01:00
										 |  |  |   jackett = handleTest ./jackett.nix {}; | 
					
						
							| 
									
										
										
										
											2019-05-01 11:57:34 +02:00
										 |  |  |   jellyfin = handleTest ./jellyfin.nix {}; | 
					
						
							| 
									
										
										
										
											2018-11-11 20:30:07 +09:00
										 |  |  |   jenkins = handleTest ./jenkins.nix {}; | 
					
						
							| 
									
										
										
										
											2020-02-06 16:00:19 +00:00
										 |  |  |   jirafeau = handleTest ./jirafeau.nix {}; | 
					
						
							| 
									
										
										
										
											2020-04-17 07:39:54 -07:00
										 |  |  |   k3s = handleTest ./k3s.nix {}; | 
					
						
							| 
									
										
										
										
											2019-04-01 08:39:25 -04:00
										 |  |  |   kafka = handleTest ./kafka.nix {}; | 
					
						
							| 
									
										
										
										
											2019-12-22 07:45:31 +00:00
										 |  |  |   keepalived = handleTest ./keepalived.nix {}; | 
					
						
							| 
									
										
										
										
											2019-01-11 04:36:51 +00:00
										 |  |  |   kerberos = handleTest ./kerberos/default.nix {}; | 
					
						
							| 
									
										
										
										
											2018-11-11 20:30:07 +09:00
										 |  |  |   kernel-latest = handleTest ./kernel-latest.nix {}; | 
					
						
							|  |  |  |   kernel-lts = handleTest ./kernel-lts.nix {}; | 
					
						
							| 
									
										
										
										
											2019-04-01 08:31:36 -04:00
										 |  |  |   kernel-testing = handleTest ./kernel-testing.nix {}; | 
					
						
							| 
									
										
										
										
											2018-11-11 20:30:07 +09:00
										 |  |  |   keymap = handleTest ./keymap.nix {}; | 
					
						
							| 
									
										
										
										
											2019-03-13 01:12:56 +01:00
										 |  |  |   knot = handleTest ./knot.nix {}; | 
					
						
							| 
									
										
										
										
											2020-02-14 09:56:43 +01:00
										 |  |  |   krb5 = discoverTests (import ./krb5 {}); | 
					
						
							| 
									
										
										
										
											2018-11-11 20:30:07 +09:00
										 |  |  |   kubernetes.dns = handleTestOn ["x86_64-linux"] ./kubernetes/dns.nix {}; | 
					
						
							|  |  |  |   # kubernetes.e2e should eventually replace kubernetes.rbac when it works | 
					
						
							|  |  |  |   #kubernetes.e2e = handleTestOn ["x86_64-linux"] ./kubernetes/e2e.nix {}; | 
					
						
							|  |  |  |   kubernetes.rbac = handleTestOn ["x86_64-linux"] ./kubernetes/rbac.nix {}; | 
					
						
							| 
									
										
										
										
											2020-04-05 00:29:24 +01:00
										 |  |  |   latestKernel.hardened = handleTest ./hardened.nix { latestKernel = true; }; | 
					
						
							| 
									
										
										
										
											2018-11-11 20:30:07 +09:00
										 |  |  |   latestKernel.login = handleTest ./login.nix { latestKernel = true; }; | 
					
						
							|  |  |  |   leaps = handleTest ./leaps.nix {}; | 
					
						
							| 
									
										
										
										
											2019-01-24 23:09:42 +01:00
										 |  |  |   lidarr = handleTest ./lidarr.nix {}; | 
					
						
							| 
									
										
										
										
											2019-08-06 18:29:50 -04:00
										 |  |  |   lightdm = handleTest ./lightdm.nix {}; | 
					
						
							| 
									
										
										
										
											2019-03-16 08:24:23 -04:00
										 |  |  |   limesurvey = handleTest ./limesurvey.nix {}; | 
					
						
							| 
									
										
										
										
											2018-11-11 20:30:07 +09:00
										 |  |  |   login = handleTest ./login.nix {}; | 
					
						
							| 
									
										
										
										
											2019-06-27 18:11:09 +02:00
										 |  |  |   loki = handleTest ./loki.nix {}; | 
					
						
							| 
									
										
										
										
											2018-11-11 20:30:07 +09:00
										 |  |  |   #logstash = handleTest ./logstash.nix {}; | 
					
						
							| 
									
										
										
										
											2019-11-05 11:57:05 +01:00
										 |  |  |   lorri = handleTest ./lorri/default.nix {}; | 
					
						
							| 
									
										
										
										
											2019-11-13 19:17:32 +01:00
										 |  |  |   magnetico = handleTest ./magnetico.nix {}; | 
					
						
							| 
									
										
										
										
											2020-03-30 13:30:05 +02:00
										 |  |  |   magic-wormhole-mailbox-server = handleTest ./magic-wormhole-mailbox-server.nix {}; | 
					
						
							| 
									
										
										
										
											2019-03-27 07:35:24 -04:00
										 |  |  |   mailcatcher = handleTest ./mailcatcher.nix {}; | 
					
						
							| 
									
										
										
										
											2020-04-05 21:39:35 +03:00
										 |  |  |   mariadb-galera-mariabackup = handleTest ./mysql/mariadb-galera-mariabackup.nix {}; | 
					
						
							| 
									
										
										
										
											2020-04-05 21:58:27 +03:00
										 |  |  |   mariadb-galera-rsync = handleTest ./mysql/mariadb-galera-rsync.nix {}; | 
					
						
							| 
									
										
										
										
											2018-11-11 20:30:07 +09:00
										 |  |  |   mathics = handleTest ./mathics.nix {}; | 
					
						
							| 
									
										
										
										
											2019-10-04 22:38:58 +02:00
										 |  |  |   matomo = handleTest ./matomo.nix {}; | 
					
						
							| 
									
										
										
										
											2018-11-11 20:30:07 +09:00
										 |  |  |   matrix-synapse = handleTest ./matrix-synapse.nix {}; | 
					
						
							| 
									
										
										
										
											2019-06-05 21:19:11 -04:00
										 |  |  |   mediawiki = handleTest ./mediawiki.nix {}; | 
					
						
							| 
									
										
										
										
											2018-11-11 20:30:07 +09:00
										 |  |  |   memcached = handleTest ./memcached.nix {}; | 
					
						
							|  |  |  |   mesos = handleTest ./mesos.nix {}; | 
					
						
							| 
									
										
										
										
											2019-08-18 09:28:16 +02:00
										 |  |  |   metabase = handleTest ./metabase.nix {}; | 
					
						
							| 
									
										
										
										
											2018-12-21 10:36:58 -08:00
										 |  |  |   miniflux = handleTest ./miniflux.nix {}; | 
					
						
							| 
									
										
										
										
											2019-02-05 17:38:34 +01:00
										 |  |  |   minio = handleTest ./minio.nix {}; | 
					
						
							| 
									
										
										
										
											2019-03-07 11:29:25 +01:00
										 |  |  |   minidlna = handleTest ./minidlna.nix {}; | 
					
						
							| 
									
										
										
										
											2018-11-11 20:30:07 +09:00
										 |  |  |   misc = handleTest ./misc.nix {}; | 
					
						
							| 
									
										
										
										
											2019-07-16 01:06:19 +02:00
										 |  |  |   moinmoin = handleTest ./moinmoin.nix {}; | 
					
						
							| 
									
										
										
										
											2018-11-11 20:30:07 +09:00
										 |  |  |   mongodb = handleTest ./mongodb.nix {}; | 
					
						
							| 
									
										
										
										
											2019-06-21 10:09:15 -04:00
										 |  |  |   moodle = handleTest ./moodle.nix {}; | 
					
						
							| 
									
										
										
										
											2018-11-11 20:30:07 +09:00
										 |  |  |   morty = handleTest ./morty.nix {}; | 
					
						
							| 
									
										
										
										
											2019-04-24 16:23:13 +08:00
										 |  |  |   mosquitto = handleTest ./mosquitto.nix {}; | 
					
						
							| 
									
										
										
										
											2018-11-11 20:30:07 +09:00
										 |  |  |   mpd = handleTest ./mpd.nix {}; | 
					
						
							|  |  |  |   mumble = handleTest ./mumble.nix {}; | 
					
						
							|  |  |  |   munin = handleTest ./munin.nix {}; | 
					
						
							|  |  |  |   mutableUsers = handleTest ./mutable-users.nix {}; | 
					
						
							| 
									
										
										
										
											2019-05-18 22:18:01 +02:00
										 |  |  |   mxisd = handleTest ./mxisd.nix {}; | 
					
						
							| 
									
										
										
										
											2020-04-02 23:40:55 +03: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 {}; | 
					
						
							| 
									
										
										
										
											2019-12-30 12:00:00 +00:00
										 |  |  |   nagios = handleTest ./nagios.nix {}; | 
					
						
							| 
									
										
										
										
											2018-11-11 20:30:07 +09: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; }; | 
					
						
							| 
									
										
										
										
											2019-02-03 16:47:01 +01:00
										 |  |  |   ndppd = handleTest ./ndppd.nix {}; | 
					
						
							| 
									
										
										
										
											2019-02-01 14:29:54 +01:00
										 |  |  |   neo4j = handleTest ./neo4j.nix {}; | 
					
						
							| 
									
										
										
										
											2020-03-05 17:07:20 -05:00
										 |  |  |   specialisation = handleTest ./specialisation.nix {}; | 
					
						
							| 
									
										
										
										
											2018-11-11 20:30:07 +09:00
										 |  |  |   netdata = handleTest ./netdata.nix {}; | 
					
						
							|  |  |  |   networking.networkd = handleTest ./networking.nix { networkd = true; }; | 
					
						
							|  |  |  |   networking.scripted = handleTest ./networking.nix { networkd = false; }; | 
					
						
							|  |  |  |   # 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 20:30:07 +09:00
										 |  |  |   nghttpx = handleTest ./nghttpx.nix {}; | 
					
						
							|  |  |  |   nginx = handleTest ./nginx.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 14:06:00 +01:00
										 |  |  |   nginx-etag = handleTest ./nginx-etag.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 20:43:42 +01:00
										 |  |  |   nginx-pubhtml = handleTest ./nginx-pubhtml.nix {}; | 
					
						
							| 
									
										
										
										
											2020-04-23 22:00:27 +03:00
										 |  |  |   nginx-sandbox = handleTestOn ["x86_64-linux"] ./nginx-sandbox.nix {}; | 
					
						
							| 
									
										
										
										
											2018-12-28 11:41:52 +01:00
										 |  |  |   nginx-sso = handleTest ./nginx-sso.nix {}; | 
					
						
							| 
									
										
										
										
											2018-11-11 20:30:07 +09:00
										 |  |  |   nix-ssh-serve = handleTest ./nix-ssh-serve.nix {}; | 
					
						
							| 
									
										
										
										
											2019-08-07 18:04:18 +02:00
										 |  |  |   nixos-generate-config = handleTest ./nixos-generate-config.nix {}; | 
					
						
							| 
									
										
										
										
											2018-11-11 20:30:07 +09:00
										 |  |  |   novacomd = handleTestOn ["x86_64-linux"] ./novacomd.nix {}; | 
					
						
							|  |  |  |   nsd = handleTest ./nsd.nix {}; | 
					
						
							| 
									
										
										
										
											2019-04-22 08:06:33 -04:00
										 |  |  |   nzbget = handleTest ./nzbget.nix {}; | 
					
						
							| 
									
										
										
										
											2019-10-23 01:20:56 +11:00
										 |  |  |   openarena = handleTest ./openarena.nix {}; | 
					
						
							| 
									
										
										
										
											2018-11-11 20:30:07 +09:00
										 |  |  |   openldap = handleTest ./openldap.nix {}; | 
					
						
							|  |  |  |   opensmtpd = handleTest ./opensmtpd.nix {}; | 
					
						
							|  |  |  |   openssh = handleTest ./openssh.nix {}; | 
					
						
							| 
									
										
										
										
											2020-02-04 02:07:57 +09:00
										 |  |  |   openstack-image-userdata = (handleTestOn ["x86_64-linux"] ./openstack-image.nix {}).userdata or {}; | 
					
						
							| 
									
										
										
										
											2019-01-28 15:09:48 +01:00
										 |  |  |   openstack-image-metadata = (handleTestOn ["x86_64-linux"] ./openstack-image.nix {}).metadata or {}; | 
					
						
							| 
									
										
										
										
											2019-08-21 00:27:14 +02:00
										 |  |  |   orangefs = handleTest ./orangefs.nix {}; | 
					
						
							| 
									
										
										
										
											2019-06-09 20:26:05 +02:00
										 |  |  |   os-prober = handleTestOn ["x86_64-linux"] ./os-prober.nix {}; | 
					
						
							| 
									
										
										
										
											2019-01-05 13:13:10 +01:00
										 |  |  |   osrm-backend = handleTest ./osrm-backend.nix {}; | 
					
						
							| 
									
										
										
										
											2019-01-23 10:19:23 +01:00
										 |  |  |   overlayfs = handleTest ./overlayfs.nix {}; | 
					
						
							| 
									
										
										
										
											2019-04-24 16:45:29 +08:00
										 |  |  |   packagekit = handleTest ./packagekit.nix {}; | 
					
						
							| 
									
										
										
										
											2018-11-11 20:30:07 +09:00
										 |  |  |   pam-oath-login = handleTest ./pam-oath-login.nix {}; | 
					
						
							| 
									
										
										
										
											2019-01-29 08:45:26 -08:00
										 |  |  |   pam-u2f = handleTest ./pam-u2f.nix {}; | 
					
						
							| 
									
										
										
										
											2019-01-24 17:33:05 -05:00
										 |  |  |   pantheon = handleTest ./pantheon.nix {}; | 
					
						
							| 
									
										
										
										
											2019-01-27 15:26:31 +01:00
										 |  |  |   paperless = handleTest ./paperless.nix {}; | 
					
						
							| 
									
										
										
										
											2018-11-11 20:30:07 +09:00
										 |  |  |   peerflix = handleTest ./peerflix.nix {}; | 
					
						
							|  |  |  |   pgjwt = handleTest ./pgjwt.nix {}; | 
					
						
							|  |  |  |   pgmanage = handleTest ./pgmanage.nix {}; | 
					
						
							| 
									
										
										
										
											2020-03-30 22:07:05 +02:00
										 |  |  |   php = handleTest ./php {}; | 
					
						
							| 
									
										
										
										
											2018-11-11 20:30:07 +09:00
										 |  |  |   plasma5 = handleTest ./plasma5.nix {}; | 
					
						
							|  |  |  |   plotinus = handleTest ./plotinus.nix {}; | 
					
						
							| 
									
										
										
										
											2020-04-20 09:37:53 +01:00
										 |  |  |   podman = handleTest ./podman.nix {}; | 
					
						
							| 
									
										
										
										
											2018-11-11 20:30:07 +09:00
										 |  |  |   postgis = handleTest ./postgis.nix {}; | 
					
						
							|  |  |  |   postgresql = handleTest ./postgresql.nix {}; | 
					
						
							| 
									
										
										
										
											2019-08-11 19:09:42 +02:00
										 |  |  |   postgresql-wal-receiver = handleTest ./postgresql-wal-receiver.nix {}; | 
					
						
							| 
									
										
										
										
											2018-11-11 20:30:07 +09:00
										 |  |  |   powerdns = handleTest ./powerdns.nix {}; | 
					
						
							| 
									
										
										
										
											2019-10-14 21:26:54 -07:00
										 |  |  |   pppd = handleTest ./pppd.nix {}; | 
					
						
							| 
									
										
										
										
											2018-11-11 20:30:07 +09:00
										 |  |  |   predictable-interface-names = handleTest ./predictable-interface-names.nix {}; | 
					
						
							|  |  |  |   printing = handleTest ./printing.nix {}; | 
					
						
							| 
									
										
										
										
											2020-04-21 13:37:00 +02:00
										 |  |  |   privacyidea = handleTest ./privacyidea.nix {}; | 
					
						
							| 
									
										
										
										
											2018-11-11 20:30:07 +09:00
										 |  |  |   prometheus = handleTest ./prometheus.nix {}; | 
					
						
							|  |  |  |   prometheus-exporters = handleTest ./prometheus-exporters.nix {}; | 
					
						
							| 
									
										
										
										
											2019-06-15 12:16:28 +03:00
										 |  |  |   prosody = handleTest ./xmpp/prosody.nix {}; | 
					
						
							| 
									
										
										
										
											2019-06-15 12:58:00 +03:00
										 |  |  |   prosodyMysql = handleTest ./xmpp/prosody-mysql.nix {}; | 
					
						
							| 
									
										
										
										
											2018-11-11 20:30:07 +09:00
										 |  |  |   proxy = handleTest ./proxy.nix {}; | 
					
						
							|  |  |  |   quagga = handleTest ./quagga.nix {}; | 
					
						
							| 
									
										
										
										
											2020-03-22 17:26:55 +01:00
										 |  |  |   quorum = handleTest ./quorum.nix {}; | 
					
						
							| 
									
										
										
										
											2018-11-11 20:30:07 +09:00
										 |  |  |   rabbitmq = handleTest ./rabbitmq.nix {}; | 
					
						
							| 
									
										
										
										
											2019-01-24 23:09:21 +01:00
										 |  |  |   radarr = handleTest ./radarr.nix {}; | 
					
						
							| 
									
										
										
										
											2018-11-11 20:30:07 +09:00
										 |  |  |   radicale = handleTest ./radicale.nix {}; | 
					
						
							| 
									
										
										
										
											2019-08-31 20:17:33 +02:00
										 |  |  |   redis = handleTest ./redis.nix {}; | 
					
						
							| 
									
										
										
										
											2018-11-11 20:30:07 +09:00
										 |  |  |   redmine = handleTest ./redmine.nix {}; | 
					
						
							| 
									
										
										
										
											2020-01-30 16:31:52 -05:00
										 |  |  |   restic = handleTest ./restic.nix {}; | 
					
						
							| 
									
										
										
										
											2018-11-28 17:33:26 +01:00
										 |  |  |   roundcube = handleTest ./roundcube.nix {}; | 
					
						
							| 
									
										
										
										
											2018-11-11 20:30:07 +09:00
										 |  |  |   rspamd = handleTest ./rspamd.nix {}; | 
					
						
							| 
									
										
										
										
											2018-10-27 18:33:43 +09:00
										 |  |  |   rss2email = handleTest ./rss2email.nix {}; | 
					
						
							| 
									
										
										
										
											2018-11-11 20:30:07 +09:00
										 |  |  |   rsyslogd = handleTest ./rsyslogd.nix {}; | 
					
						
							|  |  |  |   runInMachine = handleTest ./run-in-machine.nix {}; | 
					
						
							|  |  |  |   rxe = handleTest ./rxe.nix {}; | 
					
						
							|  |  |  |   samba = handleTest ./samba.nix {}; | 
					
						
							| 
									
										
										
										
											2019-10-26 23:37:30 -04:00
										 |  |  |   sanoid = handleTest ./sanoid.nix {}; | 
					
						
							| 
									
										
										
										
											2018-11-11 20:30:07 +09:00
										 |  |  |   sddm = handleTest ./sddm.nix {}; | 
					
						
							| 
									
										
										
										
											2020-02-28 12:17:01 +01:00
										 |  |  |   service-runner = handleTest ./service-runner.nix {}; | 
					
						
							| 
									
										
										
										
											2019-11-08 18:17:08 +01:00
										 |  |  |   shiori = handleTest ./shiori.nix {}; | 
					
						
							| 
									
										
										
										
											2019-05-23 00:50:51 +02:00
										 |  |  |   signal-desktop = handleTest ./signal-desktop.nix {}; | 
					
						
							| 
									
										
										
										
											2018-11-11 20:30:07 +09:00
										 |  |  |   simple = handleTest ./simple.nix {}; | 
					
						
							|  |  |  |   slurm = handleTest ./slurm.nix {}; | 
					
						
							|  |  |  |   smokeping = handleTest ./smokeping.nix {}; | 
					
						
							|  |  |  |   snapper = handleTest ./snapper.nix {}; | 
					
						
							| 
									
										
										
										
											2020-05-12 18:32:39 +02:00
										 |  |  |   sogo = handleTest ./sogo.nix {}; | 
					
						
							| 
									
										
										
										
											2018-11-11 20:30:07 +09:00
										 |  |  |   solr = handleTest ./solr.nix {}; | 
					
						
							| 
									
										
										
										
											2019-05-24 21:17:51 +02:00
										 |  |  |   spacecookie = handleTest ./spacecookie.nix {}; | 
					
						
							| 
									
										
										
										
											2020-04-22 14:40:38 +02:00
										 |  |  |   spike = handleTest ./spike.nix {}; | 
					
						
							| 
									
										
										
										
											2019-01-24 23:08:16 +01:00
										 |  |  |   sonarr = handleTest ./sonarr.nix {}; | 
					
						
							| 
									
										
										
										
											2018-11-11 20:30:07 +09:00
										 |  |  |   strongswan-swanctl = handleTest ./strongswan-swanctl.nix {}; | 
					
						
							|  |  |  |   sudo = handleTest ./sudo.nix {}; | 
					
						
							|  |  |  |   switchTest = handleTest ./switch-test.nix {}; | 
					
						
							| 
									
										
										
										
											2019-07-06 20:56:30 +02:00
										 |  |  |   sympa = handleTest ./sympa.nix {}; | 
					
						
							| 
									
										
										
										
											2019-04-21 23:05:07 +02:00
										 |  |  |   syncthing-init = handleTest ./syncthing-init.nix {}; | 
					
						
							| 
									
										
										
										
											2018-11-17 15:02:00 +01:00
										 |  |  |   syncthing-relay = handleTest ./syncthing-relay.nix {}; | 
					
						
							| 
									
										
										
										
											2018-11-11 20:30:07 +09:00
										 |  |  |   systemd = handleTest ./systemd.nix {}; | 
					
						
							| 
									
										
										
										
											2019-11-25 00:03:55 +01:00
										 |  |  |   systemd-analyze = handleTest ./systemd-analyze.nix {}; | 
					
						
							| 
									
										
										
										
											2020-05-18 11:16:56 +02:00
										 |  |  |   systemd-binfmt = handleTestOn ["x86_64-linux"] ./systemd-binfmt.nix {}; | 
					
						
							| 
									
										
										
										
											2020-04-11 16:38:55 -04:00
										 |  |  |   systemd-boot = handleTestOn ["x86_64-linux"] ./systemd-boot.nix {}; | 
					
						
							| 
									
										
										
										
											2019-03-14 15:26:10 +01:00
										 |  |  |   systemd-confinement = handleTest ./systemd-confinement.nix {}; | 
					
						
							| 
									
										
										
										
											2019-05-15 11:05:37 +02:00
										 |  |  |   systemd-timesyncd = handleTest ./systemd-timesyncd.nix {}; | 
					
						
							| 
									
										
										
										
											2020-01-25 16:46:55 +01:00
										 |  |  |   systemd-networkd-vrf = handleTest ./systemd-networkd-vrf.nix {}; | 
					
						
							| 
									
										
										
										
											2020-02-29 19:34:48 +01:00
										 |  |  |   systemd-networkd = handleTest ./systemd-networkd.nix {}; | 
					
						
							| 
									
										
										
										
											2019-11-16 22:13:51 +11:00
										 |  |  |   systemd-networkd-dhcpserver = handleTest ./systemd-networkd-dhcpserver.nix {}; | 
					
						
							| 
									
										
										
										
											2020-05-01 15:12:19 +02:00
										 |  |  |   systemd-networkd-ipv6-prefix-delegation = handleTest ./systemd-networkd-ipv6-prefix-delegation.nix {}; | 
					
						
							| 
									
										
										
										
											2019-11-02 19:55:41 +01:00
										 |  |  |   systemd-nspawn = handleTest ./systemd-nspawn.nix {}; | 
					
						
							| 
									
										
										
										
											2019-04-04 19:38:56 +01:00
										 |  |  |   pdns-recursor = handleTest ./pdns-recursor.nix {}; | 
					
						
							| 
									
										
										
										
											2018-11-11 20:30:07 +09:00
										 |  |  |   taskserver = handleTest ./taskserver.nix {}; | 
					
						
							| 
									
										
										
										
											2019-01-21 11:30:11 +00:00
										 |  |  |   telegraf = handleTest ./telegraf.nix {}; | 
					
						
							| 
									
										
										
										
											2019-04-29 21:46:00 +01:00
										 |  |  |   tiddlywiki = handleTest ./tiddlywiki.nix {}; | 
					
						
							| 
									
										
										
										
											2019-12-02 23:28:53 +01:00
										 |  |  |   timezone = handleTest ./timezone.nix {}; | 
					
						
							| 
									
										
										
										
											2019-05-16 23:42:02 +02:00
										 |  |  |   tinydns = handleTest ./tinydns.nix {}; | 
					
						
							| 
									
										
										
										
											2018-11-11 20:30:07 +09:00
										 |  |  |   tor = handleTest ./tor.nix {}; | 
					
						
							| 
									
										
										
										
											2020-04-06 08:21:35 +02:00
										 |  |  |   # traefik test relies on docker-containers | 
					
						
							|  |  |  |   traefik = handleTestOn ["x86_64-linux"] ./traefik.nix {}; | 
					
						
							| 
									
										
										
										
											2018-11-11 20:30:07 +09:00
										 |  |  |   transmission = handleTest ./transmission.nix {}; | 
					
						
							| 
									
										
										
										
											2019-11-03 17:24:22 +01:00
										 |  |  |   trac = handleTest ./trac.nix {}; | 
					
						
							| 
									
										
										
										
											2019-12-22 14:34:54 +01:00
										 |  |  |   trilium-server = handleTestOn ["x86_64-linux"] ./trilium-server.nix {}; | 
					
						
							| 
									
										
										
										
											2019-08-16 17:00:07 +02:00
										 |  |  |   trezord = handleTest ./trezord.nix {}; | 
					
						
							| 
									
										
										
										
											2019-11-01 11:03:23 +01:00
										 |  |  |   trickster = handleTest ./trickster.nix {}; | 
					
						
							| 
									
										
										
										
											2020-03-24 23:45:49 +01:00
										 |  |  |   tuptime = handleTest ./tuptime.nix {}; | 
					
						
							| 
									
										
										
										
											2018-11-11 20:30:07 +09:00
										 |  |  |   udisks2 = handleTest ./udisks2.nix {}; | 
					
						
							| 
									
										
										
										
											2020-04-16 23:08:00 +03:00
										 |  |  |   unit-php = handleTest ./web-servers/unit-php.nix {}; | 
					
						
							| 
									
										
										
										
											2018-11-11 20:30:07 +09:00
										 |  |  |   upnp = handleTest ./upnp.nix {}; | 
					
						
							| 
									
										
										
										
											2019-05-27 23:03:22 +02:00
										 |  |  |   uwsgi = handleTest ./uwsgi.nix {}; | 
					
						
							| 
									
										
										
										
											2018-11-11 20:30:07 +09:00
										 |  |  |   vault = handleTest ./vault.nix {}; | 
					
						
							| 
									
										
										
										
											2020-01-19 18:55:56 +01:00
										 |  |  |   victoriametrics = handleTest ./victoriametrics.nix {}; | 
					
						
							| 
									
										
										
										
											2018-11-11 20:30:07 +09:00
										 |  |  |   virtualbox = handleTestOn ["x86_64-linux"] ./virtualbox.nix {}; | 
					
						
							| 
									
										
										
										
											2019-03-17 13:20:38 +01:00
										 |  |  |   wireguard = handleTest ./wireguard {}; | 
					
						
							| 
									
										
										
										
											2018-11-11 20:30:07 +09:00
										 |  |  |   wordpress = handleTest ./wordpress.nix {}; | 
					
						
							| 
									
										
										
										
											2019-12-14 01:17:49 +01:00
										 |  |  |   xandikos = handleTest ./xandikos.nix {}; | 
					
						
							| 
									
										
										
										
											2018-11-11 20:30:07 +09:00
										 |  |  |   xautolock = handleTest ./xautolock.nix {}; | 
					
						
							|  |  |  |   xfce = handleTest ./xfce.nix {}; | 
					
						
							|  |  |  |   xmonad = handleTest ./xmonad.nix {}; | 
					
						
							|  |  |  |   xrdp = handleTest ./xrdp.nix {}; | 
					
						
							|  |  |  |   xss-lock = handleTest ./xss-lock.nix {}; | 
					
						
							|  |  |  |   yabar = handleTest ./yabar.nix {}; | 
					
						
							| 
									
										
										
										
											2019-06-27 08:56:10 -07:00
										 |  |  |   yggdrasil = handleTest ./yggdrasil.nix {}; | 
					
						
							| 
									
										
										
										
											2020-02-03 18:33:26 +01:00
										 |  |  |   zfs = handleTest ./zfs.nix {}; | 
					
						
							| 
									
										
										
										
											2020-04-11 13:28:52 -04:00
										 |  |  |   zoneminder = handleTest ./zoneminder.nix {}; | 
					
						
							| 
									
										
										
										
											2018-11-11 20:30:07 +09:00
										 |  |  |   zookeeper = handleTest ./zookeeper.nix {}; | 
					
						
							| 
									
										
										
										
											2020-04-11 13:28:52 -04:00
										 |  |  |   zsh-history = handleTest ./zsh-history.nix {}; | 
					
						
							| 
									
										
										
										
											2018-11-11 20:30:07 +09:00
										 |  |  | } |