about summary refs log tree commit diff
path: root/nixpkgs/pkgs/development/tools/ronn/test-reproducible-html.nix
diff options
context:
space:
mode:
Diffstat (limited to 'nixpkgs/pkgs/development/tools/ronn/test-reproducible-html.nix')
-rw-r--r--nixpkgs/pkgs/development/tools/ronn/test-reproducible-html.nix30
1 files changed, 30 insertions, 0 deletions
diff --git a/nixpkgs/pkgs/development/tools/ronn/test-reproducible-html.nix b/nixpkgs/pkgs/development/tools/ronn/test-reproducible-html.nix
new file mode 100644
index 000000000000..6bc9d6cdbf9f
--- /dev/null
+++ b/nixpkgs/pkgs/development/tools/ronn/test-reproducible-html.nix
@@ -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
+''