about summary refs log tree commit diff
path: root/pkgs/by-name/cr
diff options
context:
space:
mode:
authorSigmanificient <edhyjox@gmail.com>2024-05-05 18:22:32 +0200
committerSigmanificient <edhyjox@gmail.com>2024-05-06 19:13:57 +0200
commit6fc65a60ee02ae7b2af15bed004f6709ef672cda (patch)
tree4c598235ac92c60b05d849b042926a88389e0f6f /pkgs/by-name/cr
parenta4dac9efcb2625a8e4b06e2d022c9578db25a494 (diff)
criterion: add version test
Diffstat (limited to 'pkgs/by-name/cr')
-rw-r--r--pkgs/by-name/cr/criterion/package.nix13
-rw-r--r--pkgs/by-name/cr/criterion/tests/001-version.nix25
-rw-r--r--pkgs/by-name/cr/criterion/tests/test_dummy.c7
3 files changed, 45 insertions, 0 deletions
diff --git a/pkgs/by-name/cr/criterion/package.nix b/pkgs/by-name/cr/criterion/package.nix
index 6d677306257a5..efa1459dc72d5 100644
--- a/pkgs/by-name/cr/criterion/package.nix
+++ b/pkgs/by-name/cr/criterion/package.nix
@@ -16,6 +16,9 @@
   nanomsg,
   nanopbMalloc,
   python3Packages,
+  testers,
+  criterion,
+  callPackage
 }:
 
 let
@@ -90,6 +93,16 @@ stdenv.mkDerivation rec {
     "dev"
   ];
 
+  passthru.tests.version =
+    let
+      tester = callPackage ./tests/001-version.nix {};
+    in
+    testers.testVersion {
+      package = criterion;
+      command = "${lib.getExe tester} --version";
+      version = "v${version}";
+    };
+
   meta = {
     description = "A cross-platform C and C++ unit testing framework for the 21th century";
     homepage = "https://github.com/Snaipe/Criterion";
diff --git a/pkgs/by-name/cr/criterion/tests/001-version.nix b/pkgs/by-name/cr/criterion/tests/001-version.nix
new file mode 100644
index 0000000000000..25a98b5a0c306
--- /dev/null
+++ b/pkgs/by-name/cr/criterion/tests/001-version.nix
@@ -0,0 +1,25 @@
+{
+  stdenv,
+  pkg-config,
+  criterion,
+}:
+stdenv.mkDerivation rec {
+  name = "version-tester";
+  version = "v${criterion.version}";
+  src = ./test_dummy.c;
+
+  dontUnpack = true;
+  buildInputs = [ criterion ];
+  nativeBuildInputs = [ pkg-config ];
+
+  buildPhase = ''
+    cc -o ${name} $src `pkg-config --libs criterion`
+  '';
+
+  installPhase = ''
+    mkdir -p $out/bin
+    cp ${name} $out/bin/${name}
+  '';
+
+  meta.mainProgram = name;
+}
diff --git a/pkgs/by-name/cr/criterion/tests/test_dummy.c b/pkgs/by-name/cr/criterion/tests/test_dummy.c
new file mode 100644
index 0000000000000..6ae1ef73ba451
--- /dev/null
+++ b/pkgs/by-name/cr/criterion/tests/test_dummy.c
@@ -0,0 +1,7 @@
+#include <stdbool.h>
+#include <criterion/criterion.h>
+
+Test(test_dummy, always_succeed)
+{
+    cr_assert(true);
+}