summary refs log tree commit diff
diff options
context:
space:
mode:
authorLuke Granger-Brown <git@lukegb.com>2022-02-01 02:44:01 +0000
committerLuke Granger-Brown <git@lukegb.com>2022-02-01 02:44:01 +0000
commit0f3df5402378323b02068a19a5ed87809778a7f8 (patch)
treef103263a3af73ffd24eb7806777db95981fbb59c
parent7d374e858a5dcf57583a8bde1e902363a95922b1 (diff)
parent38f2d719cc9db947334dbe801144e0772de53f20 (diff)
downloadnixpkgs-0f3df5402378323b02068a19a5ed87809778a7f8.tar
nixpkgs-0f3df5402378323b02068a19a5ed87809778a7f8.tar.gz
nixpkgs-0f3df5402378323b02068a19a5ed87809778a7f8.tar.bz2
nixpkgs-0f3df5402378323b02068a19a5ed87809778a7f8.tar.lz
nixpkgs-0f3df5402378323b02068a19a5ed87809778a7f8.tar.xz
nixpkgs-0f3df5402378323b02068a19a5ed87809778a7f8.tar.zst
nixpkgs-0f3df5402378323b02068a19a5ed87809778a7f8.zip
Merge pull request #156146 from gbtb/tortoisehg_smoke_test
tortoisehg: added smoke test for thg
-rw-r--r--pkgs/applications/version-management/tortoisehg/default.nix96
1 files changed, 55 insertions, 41 deletions
diff --git a/pkgs/applications/version-management/tortoisehg/default.nix b/pkgs/applications/version-management/tortoisehg/default.nix
index f581380b928..66f3b9a0aaf 100644
--- a/pkgs/applications/version-management/tortoisehg/default.nix
+++ b/pkgs/applications/version-management/tortoisehg/default.nix
@@ -1,45 +1,59 @@
-{ lib, fetchurl, python3Packages
-, mercurial, qt5
+{ lib
+, fetchurl
+, python3Packages
+, mercurial
+, qt5
 }:
 
 python3Packages.buildPythonApplication rec {
-    pname = "tortoisehg";
-    version = "6.0";
-
-    src = fetchurl {
-      url = "https://www.mercurial-scm.org/release/tortoisehg/targz/tortoisehg-${version}.tar.gz";
-      sha256 = "sha256-25uQ2llF/+wqdGpun/nzlvAf286OIRmlZUISZ0szH6Y=";
-    };
-
-    # Extension point for when thg's mercurial is lagging behind mainline.
-    tortoiseMercurial = mercurial;
-
-    propagatedBuildInputs = with python3Packages; [
-      tortoiseMercurial qscintilla-qt5 iniparse
-    ];
-    nativeBuildInputs = [ qt5.wrapQtAppsHook ];
-
-    doCheck = false; # tests fail with "thg: cannot connect to X server"
-    postInstall = ''
-      mkdir -p $out/share/doc/tortoisehg
-      cp COPYING.txt $out/share/doc/tortoisehg/Copying.txt
-      # convenient alias
-      ln -s $out/bin/thg $out/bin/tortoisehg
-      wrapQtApp $out/bin/thg
-    '';
-
-    checkPhase = ''
-      echo "test: thg version"
-      $out/bin/thg version
-    '';
-
-    passthru.mercurial = tortoiseMercurial;
-
-    meta = {
-      description = "Qt based graphical tool for working with Mercurial";
-      homepage = "https://tortoisehg.bitbucket.io/";
-      license = lib.licenses.gpl2Only;
-      platforms = lib.platforms.linux;
-      maintainers = with lib.maintainers; [ danbst ];
-    };
+  pname = "tortoisehg";
+  version = "6.0";
+
+  src = fetchurl {
+    url = "https://www.mercurial-scm.org/release/tortoisehg/targz/tortoisehg-${version}.tar.gz";
+    sha256 = "sha256-25uQ2llF/+wqdGpun/nzlvAf286OIRmlZUISZ0szH6Y=";
+  };
+
+  # Extension point for when thg's mercurial is lagging behind mainline.
+  tortoiseMercurial = mercurial;
+
+  propagatedBuildInputs = with python3Packages; [
+    tortoiseMercurial
+    qscintilla-qt5
+    iniparse
+  ];
+  nativeBuildInputs = [ qt5.wrapQtAppsHook ];
+
+  doCheck = true;
+  postInstall = ''
+    mkdir -p $out/share/doc/tortoisehg
+    cp COPYING.txt $out/share/doc/tortoisehg/Copying.txt
+    # convenient alias
+    ln -s $out/bin/thg $out/bin/tortoisehg
+    wrapQtApp $out/bin/thg
+  '';
+
+  checkPhase = ''
+    export QT_QPA_PLATFORM=offscreen
+    echo "test: thg smoke test"
+    $out/bin/thg -h > help.txt &
+    sleep 1s
+    if grep "list of commands" help.txt; then
+      echo "thg help output was captured. Seems like package in a working state."
+      exit 0
+    else
+      echo "thg help output was not captured. Seems like package is broken."
+      exit 1
+    fi
+  '';
+
+  passthru.mercurial = tortoiseMercurial;
+
+  meta = {
+    description = "Qt based graphical tool for working with Mercurial";
+    homepage = "https://tortoisehg.bitbucket.io/";
+    license = lib.licenses.gpl2Only;
+    platforms = lib.platforms.linux;
+    maintainers = with lib.maintainers; [ danbst ];
+  };
 }