Unverified Commit 45111489 authored by Austin Horstman's avatar Austin Horstman Committed by GitHub
Browse files

objfw: add passthru test (#366484)

parents dfc625cd 8b08f6a1
Loading
Loading
Loading
Loading
+43 −0
Original line number Diff line number Diff line
@@ -5,6 +5,8 @@
  clangStdenv,
  fetchfossil,
  lib,
  objfw,
  writeTextDir,
}:

clangStdenv.mkDerivation (finalAttrs: {
@@ -30,6 +32,47 @@ clangStdenv.mkDerivation (finalAttrs: {

  doCheck = true;

  passthru.tests = {
    build-hello-world = clangStdenv.mkDerivation {
      name = "ObjFW test";
      buildInputs = [ objfw ];

      src = writeTextDir "helloworld.m" ''
        #import <ObjFW/ObjFW.h>
        int main() {
          OFLog(@"Hello world from objc");
          return 0;
        }
      '';

      buildPhase = ''
        runHook preBuild
        clang -o testbinary \
              -x objective-c -Xclang \
              -fobjc-runtime=objfw \
              -funwind-tables \
              -fconstant-string-class=OFConstantString \
              -Xclang -fno-constant-cfstrings \
              helloworld.m \
              -lobjfw -lobjfwrt
        runHook postBuild
      '';

      checkPhase = ''
        runHook preCheck
        ./testbinary
        runHook postCheck
      '';
      doCheck = true;

      installPhase = ''
        runHook preInstall
        touch $out
        runHook postInstall
      '';
    };
  };

  meta = {
    description = "A portable framework for the Objective-C language";
    homepage = "https://objfw.nil.im";