summary refs log tree commit diff
path: root/pkgs/applications/video/handbrake/default.nix
diff options
context:
space:
mode:
Diffstat (limited to 'pkgs/applications/video/handbrake/default.nix')
-rw-r--r--pkgs/applications/video/handbrake/default.nix28
1 files changed, 24 insertions, 4 deletions
diff --git a/pkgs/applications/video/handbrake/default.nix b/pkgs/applications/video/handbrake/default.nix
index e7ac4881b56..841604399ed 100644
--- a/pkgs/applications/video/handbrake/default.nix
+++ b/pkgs/applications/video/handbrake/default.nix
@@ -10,7 +10,10 @@
 { stdenv
 , lib
 , fetchFromGitHub
-, nixosTests
+  # For tests
+, testVersion
+, runCommand
+, fetchurl
   # Main build tools
 , pkg-config
 , autoconf
@@ -103,7 +106,7 @@ let
   inherit (lib) optional optionals optionalString versions;
 
 in
-stdenv.mkDerivation rec {
+let self = stdenv.mkDerivation rec {
   pname = "handbrake";
   inherit version src;
 
@@ -211,7 +214,23 @@ stdenv.mkDerivation rec {
   makeFlags = [ "--directory=build" ];
 
   passthru.tests = {
-    basic-conversion = nixosTests.handbrake;
+    basic-conversion =
+      let
+        # Big Buck Bunny example, licensed under CC Attribution 3.0.
+        testMkv = fetchurl {
+          url = "https://github.com/Matroska-Org/matroska-test-files/blob/cf0792be144ac470c4b8052cfe19bb691993e3a2/test_files/test1.mkv?raw=true";
+          sha256 = "1hfxbbgxwfkzv85pvpvx55a72qsd0hxjbm9hkl5r3590zw4s75h9";
+        };
+      in
+      runCommand "${pname}-${version}-basic-conversion" { nativeBuildInputs = [ self ]; } ''
+        mkdir -p $out
+        cd $out
+        HandBrakeCLI -i ${testMkv} -o test.mp4 -e x264 -q 20 -B 160
+        test -e test.mp4
+        HandBrakeCLI -i ${testMkv} -o test.mkv -e x264 -q 20 -B 160
+        test -e test.mkv
+      '';
+    version = testVersion { package = self; command = "HandBrakeCLI --version"; };
   };
 
   meta = with lib; {
@@ -230,4 +249,5 @@ stdenv.mkDerivation rec {
     platforms = with platforms; unix;
     broken = stdenv.isDarwin && lib.versionOlder stdenv.hostPlatform.darwinMinVersion "10.13";
   };
-}
+};
+in self