summaryrefslogtreecommitdiff
path: root/pkgs/by-name/cl/cloudflared/tests.nix
diff options
context:
space:
mode:
Diffstat (limited to 'pkgs/by-name/cl/cloudflared/tests.nix')
-rw-r--r--pkgs/by-name/cl/cloudflared/tests.nix62
1 files changed, 62 insertions, 0 deletions
diff --git a/pkgs/by-name/cl/cloudflared/tests.nix b/pkgs/by-name/cl/cloudflared/tests.nix
new file mode 100644
index 000000000000..c1c081c0a503
--- /dev/null
+++ b/pkgs/by-name/cl/cloudflared/tests.nix
@@ -0,0 +1,62 @@
+{
+ version,
+ lib,
+ stdenv,
+ pkgsCross,
+ testers,
+ cloudflared,
+ runCommand,
+ wine,
+ wine64,
+}:
+
+let
+ inherit (stdenv) buildPlatform;
+in
+{
+ version = testers.testVersion {
+ package = cloudflared;
+ command = "cloudflared help";
+ };
+ refuses-to-autoupdate =
+ runCommand "cloudflared-${version}-refuses-to-autoupdate"
+ {
+ nativeBuildInputs = [ cloudflared ];
+ }
+ ''
+ set -e
+ cloudflared update 2>&1 | tee output.txt
+ if ! grep "cloudflared was installed by nixpkgs" output.txt
+ then
+ echo "cloudflared's output didn't contain the package manager name"
+ exit 1
+ fi
+ mkdir $out
+ '';
+}
+// lib.optionalAttrs (buildPlatform.isLinux && (buildPlatform.isi686 || buildPlatform.isx86_64)) {
+ runs-through-wine =
+ runCommand "cloudflared-${version}-runs-through-wine"
+ {
+ nativeBuildInputs = [ wine ];
+ exe = "${pkgsCross.mingw32.cloudflared}/bin/cloudflared.exe";
+ }
+ ''
+ export HOME="$(mktemp -d)"
+ wine $exe help
+ mkdir $out
+ '';
+}
+// lib.optionalAttrs (buildPlatform.isLinux && buildPlatform.isx86_64) {
+ runs-through-wine64 =
+ runCommand "cloudflared-${version}-runs-through-wine64"
+ {
+ nativeBuildInputs = [ wine64 ];
+ exe = "${pkgsCross.mingwW64.cloudflared}/bin/cloudflared.exe";
+ }
+ ''
+ export HOME="$(mktemp -d)"
+ wine64 $exe help
+ mkdir $out
+ '';
+}