ronn: add test for HTML reproducibility
This commit is contained in:
parent
c859908cd6
commit
4351cfa35c
|
@ -1,4 +1,4 @@
|
||||||
{ stdenv, lib, bundlerEnv, bundlerUpdateScript, makeWrapper, groff }:
|
{ stdenv, lib, bundlerEnv, bundlerUpdateScript, makeWrapper, groff, callPackage }:
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
pname = "ronn";
|
pname = "ronn";
|
||||||
|
@ -21,6 +21,8 @@ stdenv.mkDerivation rec {
|
||||||
|
|
||||||
passthru.updateScript = bundlerUpdateScript "ronn";
|
passthru.updateScript = bundlerUpdateScript "ronn";
|
||||||
|
|
||||||
|
passthru.tests.reproducible-html-manpage = callPackage ./test-reproducible-html.nix { };
|
||||||
|
|
||||||
meta = with lib; {
|
meta = with lib; {
|
||||||
description = "markdown-based tool for building manpages";
|
description = "markdown-based tool for building manpages";
|
||||||
homepage = "https://rtomayko.github.io/ronn/";
|
homepage = "https://rtomayko.github.io/ronn/";
|
||||||
|
|
30
pkgs/development/tools/ronn/test-reproducible-html.nix
Normal file
30
pkgs/development/tools/ronn/test-reproducible-html.nix
Normal file
|
@ -0,0 +1,30 @@
|
||||||
|
{ runCommand
|
||||||
|
, diffutils
|
||||||
|
, ronn
|
||||||
|
}:
|
||||||
|
runCommand "ronn-test-reproducible-html" { } ''
|
||||||
|
set -euo pipefail
|
||||||
|
|
||||||
|
cat > aprog.1.ronn << EOF
|
||||||
|
aprog
|
||||||
|
=====
|
||||||
|
|
||||||
|
## AUTHORS
|
||||||
|
|
||||||
|
Vincent Haupert <veehaitch@users.noreply.github.com>
|
||||||
|
EOF
|
||||||
|
|
||||||
|
# We have to repeat the manpage generation a few times to be confident
|
||||||
|
# it is in fact reproducible.
|
||||||
|
for i in {1..20}; do
|
||||||
|
${ronn}/bin/ronn --html --pipe aprog.1.ronn > aprog.1.html-1
|
||||||
|
${ronn}/bin/ronn --html --pipe aprog.1.ronn > aprog.1.html-2
|
||||||
|
|
||||||
|
${diffutils}/bin/diff -q aprog.1.html-1 aprog.1.html-2 \
|
||||||
|
|| (printf 'The HTML manpage is not reproducible (round %d)' "$i" && exit 1)
|
||||||
|
done
|
||||||
|
|
||||||
|
echo 'The HTML manpage appears reproducible'
|
||||||
|
|
||||||
|
mkdir $out
|
||||||
|
''
|
Loading…
Reference in a new issue