Commit 46f5689c authored by Tom McLaughlin's avatar Tom McLaughlin Committed by thomasjm
Browse files

cling: add a smoke test

parent 646f0dcd
Loading
Loading
Loading
Loading
+35 −5
Original line number Diff line number Diff line
@@ -155,11 +155,41 @@ let

in

runCommand "cling-${unwrapped.version}" {
stdenv.mkDerivation {
  pname = "cling";
  version = unwrapped.version;

  nativeBuildInputs = [ makeWrapper ];
  inherit unwrapped flags;
  inherit (unwrapped) meta;
} ''

  dontUnpack = true;
  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;
}