cling: add a smoke test

This commit is contained in:
Tom McLaughlin 2024-04-09 14:29:58 -07:00 committed by thomasjm
parent 646f0dcd01
commit 46f5689c73

View file

@ -155,11 +155,41 @@ let
in in
runCommand "cling-${unwrapped.version}" { stdenv.mkDerivation {
pname = "cling";
version = unwrapped.version;
nativeBuildInputs = [ makeWrapper ]; nativeBuildInputs = [ makeWrapper ];
inherit unwrapped flags; inherit unwrapped flags;
inherit (unwrapped) meta; inherit (unwrapped) meta;
} ''
makeWrapper $unwrapped/bin/cling $out/bin/cling \ dontUnpack = true;
--add-flags "$flags" dontConfigure = true;
''
buildPhase = ''
runHook preBuild
makeWrapper $unwrapped/bin/cling $out/bin/cling \
--add-flags "$flags"
runHook postBuild
'';
doCheck = true;
checkPhase = ''
runHook preCheck
output=$($out/bin/cling <<EOF
#include <iostream>
std::cout << "hello world" << std::endl
EOF
)
echo "$output" | grep -q "Type C++ code and press enter to run it"
echo "$output" | grep -q "hello world"
runHook postCheck
'';
dontInstall = true;
}