anvil-editor: init at 0.4
[NixPkgs.git] / pkgs / applications / networking / cloudflared / tests.nix
blob8314e84075fd288f732346517d624d97f89d1f6c
1 { version, lib, stdenv, pkgsCross, testers, cloudflared, runCommand, wine, wine64 }:
3 let
4   inherit (stdenv) buildPlatform;
5 in
7   version = testers.testVersion {
8     package = cloudflared;
9     command = "cloudflared help";
10   };
11   refuses-to-autoupdate = runCommand "cloudflared-${version}-refuses-to-autoupdate"
12     {
13       nativeBuildInputs = [ cloudflared ];
14     } ''
15     set -e
16     cloudflared update 2>&1 | tee output.txt
17     if ! grep "cloudflared was installed by nixpkgs" output.txt
18     then
19       echo "cloudflared's output didn't contain the package manager name"
20       exit 1
21     fi
22     mkdir $out
23   '';
24 } // lib.optionalAttrs (buildPlatform.isLinux && (buildPlatform.isi686 || buildPlatform.isx86_64)) {
25   runs-through-wine = runCommand "cloudflared-${version}-runs-through-wine"
26     {
27       nativeBuildInputs = [ wine ];
28       exe = "${pkgsCross.mingw32.cloudflared}/bin/cloudflared.exe";
29     } ''
30     export HOME="$(mktemp -d)"
31     wine $exe help
32     mkdir $out
33   '';
34 } // lib.optionalAttrs (buildPlatform.isLinux && buildPlatform.isx86_64) {
35   runs-through-wine64 = runCommand "cloudflared-${version}-runs-through-wine64"
36     {
37       nativeBuildInputs = [ wine64 ];
38       exe = "${pkgsCross.mingwW64.cloudflared}/bin/cloudflared.exe";
39     } ''
40     export HOME="$(mktemp -d)"
41     wine64 $exe help
42     mkdir $out
43   '';