diff --git a/pkgs/applications/blockchains/bitcoin.nix b/pkgs/applications/blockchains/bitcoin.nix index 1f222477ab24..162a5ddee1a3 100644 --- a/pkgs/applications/blockchains/bitcoin.nix +++ b/pkgs/applications/blockchains/bitcoin.nix @@ -16,6 +16,7 @@ , python3 , qrencode , libevent +, nixosTests , withGui , withWallet ? true }: @@ -81,6 +82,10 @@ stdenv.mkDerivation rec { enableParallelBuilding = true; + passthru.tests = { + smoke-test = nixosTests.bitcoind; + }; + meta = { description = "Peer-to-peer electronic cash system"; longDescription = '' diff --git a/pkgs/applications/networking/3proxy/default.nix b/pkgs/applications/networking/3proxy/default.nix index 6636691468ea..f9221d06d022 100644 --- a/pkgs/applications/networking/3proxy/default.nix +++ b/pkgs/applications/networking/3proxy/default.nix @@ -1,4 +1,4 @@ -{ lib, stdenv, fetchFromGitHub, coreutils }: +{ lib, stdenv, fetchFromGitHub, coreutils, nixosTests }: stdenv.mkDerivation rec { pname = "3proxy"; @@ -17,6 +17,10 @@ stdenv.mkDerivation rec { "DESTDIR=${placeholder "out"}" ]; + passthru.tests = { + smoke-test = nixosTests._3proxy; + }; + meta = with lib; { description = "Tiny free proxy server"; homepage = "https://github.com/z3APA3A/3proxy"; diff --git a/pkgs/applications/networking/p2p/opentracker/default.nix b/pkgs/applications/networking/p2p/opentracker/default.nix index 4e127a1e7b8a..f08e5c42e1d7 100644 --- a/pkgs/applications/networking/p2p/opentracker/default.nix +++ b/pkgs/applications/networking/p2p/opentracker/default.nix @@ -1,4 +1,4 @@ -{ lib, stdenv, fetchgit, libowfat, zlib }: +{ lib, stdenv, fetchgit, libowfat, zlib, nixosTests }: stdenv.mkDerivation { name = "opentracker-2018-05-26"; @@ -23,6 +23,10 @@ stdenv.mkDerivation { runHook postInstall ''; + passthru.tests = { + bittorrent-integration = nixosTests.bittorrent; + }; + meta = with lib; { homepage = "https://erdgeist.org/arts/software/opentracker/"; license = licenses.beerware; diff --git a/pkgs/applications/networking/p2p/transmission/default.nix b/pkgs/applications/networking/p2p/transmission/default.nix index 363e5f7cfbee..43ca9d455bd9 100644 --- a/pkgs/applications/networking/p2p/transmission/default.nix +++ b/pkgs/applications/networking/p2p/transmission/default.nix @@ -17,6 +17,7 @@ , wrapGAppsHook , enableQt ? false , qt5 +, nixosTests , enableSystemd ? stdenv.isLinux , enableDaemon ? true , enableCli ? true @@ -74,6 +75,10 @@ in stdenv.mkDerivation { NIX_LDFLAGS = lib.optionalString stdenv.isDarwin "-framework CoreFoundation"; + passthru.tests = { + smoke-test = nixosTests.bittorrent; + }; + meta = { description = "A fast, easy and free BitTorrent client"; longDescription = '' diff --git a/pkgs/applications/version-management/git-and-tools/git/default.nix b/pkgs/applications/version-management/git-and-tools/git/default.nix index a7df1645c7a9..aff39a6a44f4 100644 --- a/pkgs/applications/version-management/git-and-tools/git/default.nix +++ b/pkgs/applications/version-management/git-and-tools/git/default.nix @@ -14,6 +14,7 @@ , withpcre2 ? true , sendEmailSupport , darwin +, nixosTests , withLibsecret ? false , pkg-config, glib, libsecret , gzip # needed at runtime by gitweb.cgi @@ -334,6 +335,9 @@ stdenv.mkDerivation { stripDebugList = [ "lib" "libexec" "bin" "share/git/contrib/credential/libsecret" ]; + passthru.tests = { + buildbot-integration = nixosTests.buildbot; + }; meta = { homepage = "https://git-scm.com/"; diff --git a/pkgs/development/libraries/avahi/default.nix b/pkgs/development/libraries/avahi/default.nix index dd54ba79db72..a52d1be566e6 100644 --- a/pkgs/development/libraries/avahi/default.nix +++ b/pkgs/development/libraries/avahi/default.nix @@ -1,5 +1,6 @@ { fetchurl, fetchpatch, lib, stdenv, pkg-config, libdaemon, dbus, perlPackages , expat, gettext, intltool, glib, libiconv, writeShellScriptBin, libevent +, nixosTests , gtk3Support ? false, gtk3 ? null , qt4 ? null , qt4Support ? false @@ -77,6 +78,11 @@ stdenv.mkDerivation rec { ln -s avahi-compat-howl.pc $out/lib/pkgconfig/howl.pc */ + passthru.tests = { + smoke-test = nixosTests.avahi; + smoke-test-resolved = nixosTests.avahi-with-resolved; + }; + meta = with lib; { description = "mDNS/DNS-SD implementation"; homepage = "http://avahi.org"; diff --git a/pkgs/development/ocaml-modules/atd/default.nix b/pkgs/development/ocaml-modules/atd/default.nix index 2f85221e539c..de6ade61518a 100644 --- a/pkgs/development/ocaml-modules/atd/default.nix +++ b/pkgs/development/ocaml-modules/atd/default.nix @@ -1,4 +1,4 @@ -{ lib, menhir, easy-format, fetchurl, buildDunePackage, which, re }: +{ lib, menhir, easy-format, fetchurl, buildDunePackage, which, re, nixosTests }: buildDunePackage rec { pname = "atd"; @@ -18,6 +18,10 @@ buildDunePackage rec { doCheck = true; + passthru.tests = { + smoke-test = nixosTests.atd; + }; + meta = with lib; { homepage = "https://github.com/mjambon/atd"; description = "Syntax for cross-language type definitions"; diff --git a/pkgs/development/python-modules/buildbot/worker.nix b/pkgs/development/python-modules/buildbot/worker.nix index 242849e2c79e..5237f2ae733d 100644 --- a/pkgs/development/python-modules/buildbot/worker.nix +++ b/pkgs/development/python-modules/buildbot/worker.nix @@ -1,5 +1,5 @@ { lib, buildPythonPackage, fetchPypi, buildbot, setuptoolsTrial, mock, twisted, - future, coreutils }: + future, coreutils, nixosTests }: buildPythonPackage (rec { pname = "buildbot-worker"; @@ -19,6 +19,10 @@ buildPythonPackage (rec { --replace /usr/bin/tail "${coreutils}/bin/tail" ''; + passthru.tests = { + smoke-test = nixosTests.buildbot; + }; + meta = with lib; { homepage = "https://buildbot.net/"; description = "Buildbot Worker Daemon"; diff --git a/pkgs/development/python-modules/selenium/default.nix b/pkgs/development/python-modules/selenium/default.nix index 664f84933ed7..370d25489809 100644 --- a/pkgs/development/python-modules/selenium/default.nix +++ b/pkgs/development/python-modules/selenium/default.nix @@ -6,6 +6,7 @@ , geckodriver , urllib3 , xorg +, nixosTests }: @@ -47,6 +48,10 @@ buildPythonPackage rec { cp -v x_ignore_nofocus.so selenium/webdriver/firefox/${if stdenv.is64bit then "amd64" else "x86"}/ ''; + passthru.tests = { + testing-bitwarden = nixosTests.bitwarden; + }; + meta = with lib; { description = "The selenium package is used to automate web browser interaction from Python"; homepage = "http://www.seleniumhq.org"; diff --git a/pkgs/development/tools/continuous-integration/buildkite-agent/default.nix b/pkgs/development/tools/continuous-integration/buildkite-agent/default.nix index db1f2aeabc74..0b6c97924410 100644 --- a/pkgs/development/tools/continuous-integration/buildkite-agent/default.nix +++ b/pkgs/development/tools/continuous-integration/buildkite-agent/default.nix @@ -1,5 +1,6 @@ { fetchFromGitHub, lib, buildGoModule, - makeWrapper, coreutils, git, openssh, bash, gnused, gnugrep }: + makeWrapper, coreutils, git, openssh, bash, gnused, gnugrep, + nixosTests }: buildGoModule rec { name = "buildkite-agent-${version}"; version = "3.29.0"; @@ -30,6 +31,10 @@ buildGoModule rec { --prefix PATH : '${lib.makeBinPath [ openssh git coreutils gnused gnugrep ]}' ''; + passthru.tests = { + smoke-test = nixosTests.buildkite-agents; + }; + meta = with lib; { description = "Build runner for buildkite.com"; longDescription = '' diff --git a/pkgs/servers/beanstalkd/default.nix b/pkgs/servers/beanstalkd/default.nix index 01af8a4d5bc8..9bfe3182d653 100644 --- a/pkgs/servers/beanstalkd/default.nix +++ b/pkgs/servers/beanstalkd/default.nix @@ -1,4 +1,4 @@ -{ lib, stdenv, fetchurl, installShellFiles }: +{ lib, stdenv, fetchurl, installShellFiles, nixosTests }: stdenv.mkDerivation rec { version = "1.12"; @@ -19,6 +19,10 @@ stdenv.mkDerivation rec { installManPage doc/beanstalkd.1 ''; + passthru.tests = { + smoke-test = nixosTests.beanstalkd; + }; + meta = with lib; { homepage = "http://kr.github.io/beanstalkd/"; description = "A simple, fast work queue"; diff --git a/pkgs/servers/blockbook/default.nix b/pkgs/servers/blockbook/default.nix index 2394ef258a91..5ab10af18c03 100644 --- a/pkgs/servers/blockbook/default.nix +++ b/pkgs/servers/blockbook/default.nix @@ -9,6 +9,7 @@ , snappy , zeromq , zlib +, nixosTests }: buildGoModule rec { @@ -54,6 +55,10 @@ buildGoModule rec { cp -r $src/static/css/ $out/share/ ''; + passthru.tests = { + smoke-test = nixosTests.blockbook-frontend; + }; + meta = with lib; { description = "Trezor address/account balance backend"; homepage = "https://github.com/trezor/blockbook"; diff --git a/pkgs/servers/http/apache-httpd/2.4.nix b/pkgs/servers/http/apache-httpd/2.4.nix index 46e1d7643d52..8556b55b5863 100644 --- a/pkgs/servers/http/apache-httpd/2.4.nix +++ b/pkgs/servers/http/apache-httpd/2.4.nix @@ -1,4 +1,5 @@ { lib, stdenv, fetchurl, perl, zlib, apr, aprutil, pcre, libiconv, lynx +, nixosTests , proxySupport ? true , sslSupport ? true, openssl , http2Support ? true, nghttp2 @@ -85,6 +86,9 @@ stdenv.mkDerivation rec { passthru = { inherit apr aprutil sslSupport proxySupport ldapSupport luaSupport lua5; + tests = { + acme-integration = nixosTests.acme; + }; }; meta = with lib; { diff --git a/pkgs/servers/http/nginx/generic.nix b/pkgs/servers/http/nginx/generic.nix index 663193789a5b..e13c0b4e9223 100644 --- a/pkgs/servers/http/nginx/generic.nix +++ b/pkgs/servers/http/nginx/generic.nix @@ -145,6 +145,7 @@ stdenv.mkDerivation { tests = { inherit (nixosTests) nginx nginx-auth nginx-etag nginx-pubhtml nginx-sandbox nginx-sso; variants = lib.recurseIntoAttrs nixosTests.nginx-variants; + acme-integration = nixosTests.acme; }; }; diff --git a/pkgs/tools/admin/pebble/default.nix b/pkgs/tools/admin/pebble/default.nix index 4813f86ea641..1fb902a8c803 100644 --- a/pkgs/tools/admin/pebble/default.nix +++ b/pkgs/tools/admin/pebble/default.nix @@ -1,6 +1,7 @@ { buildGoPackage , fetchFromGitHub , lib +, nixosTests }: let @@ -17,6 +18,10 @@ in buildGoPackage { sha256 = "1piwzzfqsdx6s2niczzp4mf4r3qn9nfdgpn7882g52cmmm0vzks2"; }; + passthru.tests = { + smoke-test = nixosTests.acme; + }; + meta = { homepage = "https://github.com/letsencrypt/pebble"; description = "A miniature version of Boulder, Pebble is a small RFC 8555 ACME test server not suited for a production CA"; diff --git a/pkgs/tools/filesystems/bcachefs-tools/default.nix b/pkgs/tools/filesystems/bcachefs-tools/default.nix index 8ab82b672265..a28499f77328 100644 --- a/pkgs/tools/filesystems/bcachefs-tools/default.nix +++ b/pkgs/tools/filesystems/bcachefs-tools/default.nix @@ -1,5 +1,5 @@ { lib, stdenv, fetchFromGitHub, pkg-config, attr, libuuid, libscrypt, libsodium, keyutils -, liburcu, zlib, libaio, udev, zstd, lz4, valgrind, python3Packages +, liburcu, zlib, libaio, udev, zstd, lz4, valgrind, python3Packages, nixosTests , fuseSupport ? false, fuse3 ? null }: assert fuseSupport -> fuse3 != null; @@ -39,6 +39,10 @@ stdenv.mkDerivation { installFlags = [ "PREFIX=${placeholder "out"}" ]; + passthru.tests = { + smoke-test = nixosTests.bcachefs; + }; + meta = with lib; { description = "Tool for managing bcachefs filesystems"; homepage = "https://bcachefs.org/"; diff --git a/pkgs/tools/filesystems/bees/default.nix b/pkgs/tools/filesystems/bees/default.nix index bbad83f01768..7ba27208fe88 100644 --- a/pkgs/tools/filesystems/bees/default.nix +++ b/pkgs/tools/filesystems/bees/default.nix @@ -1,4 +1,5 @@ -{ lib, stdenv, runCommand, fetchFromGitHub, bash, btrfs-progs, coreutils, python3Packages, util-linux }: +{ lib, stdenv, runCommand, fetchFromGitHub, bash, btrfs-progs, coreutils +, python3Packages, util-linux, nixosTests }: let @@ -55,7 +56,7 @@ let in -runCommand "bees-service" { +(runCommand "bees-service" { inherit bash bees coreutils; utillinux = util-linux; # needs to be a valid shell variable name btrfsProgs = btrfs-progs; # needs to be a valid shell variable name @@ -64,4 +65,8 @@ runCommand "bees-service" { substituteAll ${./bees-service-wrapper} "$out"/bin/bees-service-wrapper chmod +x "$out"/bin/bees-service-wrapper ln -s ${bees}/bin/beesd "$out"/bin/beesd -'' +'').overrideAttrs (old: { + passthru.tests = { + smoke-test = nixosTests.bees; + }; +}) diff --git a/pkgs/tools/networking/miniupnpd/default.nix b/pkgs/tools/networking/miniupnpd/default.nix index 05b04cf9484b..aea0faddf5d7 100644 --- a/pkgs/tools/networking/miniupnpd/default.nix +++ b/pkgs/tools/networking/miniupnpd/default.nix @@ -1,5 +1,6 @@ { stdenv, lib, fetchurl, iptables, libuuid, pkg-config , which, iproute2, gnused, coreutils, gawk, makeWrapper +, nixosTests }: let @@ -30,6 +31,10 @@ stdenv.mkDerivation rec { done ''; + passthru.tests = { + bittorrent-integration = nixosTests.bittorrent; + }; + meta = with lib; { homepage = "http://miniupnp.free.fr/"; description = "A daemon that implements the UPnP Internet Gateway Device (IGD) specification"; diff --git a/pkgs/tools/networking/openssh/common.nix b/pkgs/tools/networking/openssh/common.nix index 55babb4ca2dc..21ad012f3fb9 100644 --- a/pkgs/tools/networking/openssh/common.nix +++ b/pkgs/tools/networking/openssh/common.nix @@ -22,6 +22,7 @@ , withKerberos ? true , libkrb5 , libfido2 +, nixosTests , withFIDO ? stdenv.hostPlatform.isUnix && !stdenv.hostPlatform.isMusl , linkOpenssl ? true }: @@ -111,6 +112,10 @@ stdenv.mkDerivation rec { "sysconfdir=\${out}/etc/ssh" ]; + passthru.tests = { + borgbackup-integration = nixosTests.borgbackup; + }; + meta = { description = "An implementation of the SSH protocol${extraDesc}"; homepage = "https://www.openssh.com/";