handbrake: convert nixos test to runCommand

main
Patrick Hilhorst 2 years ago
parent 6d8215281b
commit 8b86f9816d
No known key found for this signature in database
GPG Key ID: 3BB083304DADC0FF
  1. 1
      nixos/tests/all-tests.nix
  2. 33
      nixos/tests/handbrake.nix
  3. 28
      pkgs/applications/video/handbrake/default.nix

@ -174,7 +174,6 @@ in
hadoop.all = handleTestOn [ "x86_64-linux" ] ./hadoop/hadoop.nix {};
hadoop.hdfs = handleTestOn [ "x86_64-linux" ] ./hadoop/hdfs.nix {};
hadoop.yarn = handleTestOn [ "x86_64-linux" ] ./hadoop/yarn.nix {};
handbrake = handleTestOn ["x86_64-linux"] ./handbrake.nix {};
haproxy = handleTest ./haproxy.nix {};
hardened = handleTest ./hardened.nix {};
hedgedoc = handleTest ./hedgedoc.nix {};

@ -1,33 +0,0 @@
import ./make-test-python.nix ({ pkgs, ... }:
let
# Download Big Buck Bunny example, licensed under CC Attribution 3.0.
testMkv = pkgs.fetchurl {
url = "https://github.com/Matroska-Org/matroska-test-files/blob/cf0792be144ac470c4b8052cfe19bb691993e3a2/test_files/test1.mkv?raw=true";
sha256 = "1hfxbbgxwfkzv85pvpvx55a72qsd0hxjbm9hkl5r3590zw4s75h9";
name = "test1.mkv";
};
in
{
name = "handbrake";
meta = {
maintainers = with pkgs.lib.maintainers; [ ];
};
machine = { pkgs, ... }: {
environment.systemPackages = with pkgs; [ handbrake ];
};
testScript = ''
# Test MP4 and MKV transcoding. Since this is a short clip, transcoding typically
# only takes a few seconds.
start_all()
machine.succeed("HandBrakeCLI -i ${testMkv} -o test.mp4 -e x264 -q 20 -B 160")
machine.succeed("test -e test.mp4")
machine.succeed("HandBrakeCLI -i ${testMkv} -o test.mkv -e x264 -q 20 -B 160")
machine.succeed("test -e test.mkv")
'';
})

@ -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

Loading…
Cancel
Save