From 99b48447f978ca4829fbeb8f69c09f982d55d9d9 Mon Sep 17 00:00:00 2001 From: Doron Behar Date: Tue, 3 Oct 2023 13:24:40 +0300 Subject: [PATCH] syncthingtray: enable tests --- .../misc/syncthingtray/default.nix | 19 +++++++++++++++++-- 1 file changed, 17 insertions(+), 2 deletions(-) diff --git a/pkgs/applications/misc/syncthingtray/default.nix b/pkgs/applications/misc/syncthingtray/default.nix index c464fddcc702..e9ccfc61ac43 100644 --- a/pkgs/applications/misc/syncthingtray/default.nix +++ b/pkgs/applications/misc/syncthingtray/default.nix @@ -17,6 +17,8 @@ , plasma-framework , qttools , iconv +, cppunit +, syncthing , webviewSupport ? true , jsSupport ? true , kioPluginSupport ? stdenv.isLinux @@ -58,18 +60,31 @@ stdenv.mkDerivation (finalAttrs: { wrapQtAppsHook cmake qttools + # Although these are test dependencies, we add them anyway so that we test + # whether the test units compile. On Darwin we don't run the tests but we + # still build them. + cppunit + syncthing ] ++ lib.optionals plasmoidSupport [ extra-cmake-modules ] ; - # No tests are available by upstream, but we test --help anyway - # Don't test on Darwin because output is .app + # syncthing server seems to hang on darwin, causing tests to fail. + doCheck = !stdenv.isDarwin; + preCheck = '' + export QT_QPA_PLATFORM=offscreen + export QT_PLUGIN_PATH="${qtbase.bin}/${qtbase.qtPluginPrefix}" + ''; + # don't test --help on Darwin because output is .app doInstallCheck = !stdenv.isDarwin; installCheckPhase = '' $out/bin/syncthingtray --help | grep ${finalAttrs.version} ''; cmakeFlags = [ + "-DBUILD_TESTING=ON" + # See https://github.com/Martchus/syncthingtray/issues/208 + "-DEXCLUDE_TESTS_FROM_ALL=OFF" "-DAUTOSTART_EXEC_PATH=${autostartExecPath}" # See https://github.com/Martchus/syncthingtray/issues/42 "-DQT_PLUGIN_DIR:STRING=${placeholder "out"}/${qtbase.qtPluginPrefix}"