nixpkgs/pkgs/applications/networking/cloudflared/tests.nix

44 lines
1.3 KiB
Nix

{ 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
'';
}