diff options
author | tuxcoder <tuxcoder+git@o-g.at> | 2024-04-13 09:13:54 +0200 |
---|---|---|
committer | tuxcoder <tuxcoder+git@o-g.at> | 2024-04-19 11:07:14 +0200 |
commit | fae8ec30eabc4dc29051ab26a37ba1ba89827031 (patch) | |
tree | 72db7ba47c61d7f71bb265424ffec3eea1362014 | |
parent | 9bf31eaba05c0d7796f076662fb58c2e5ae82df4 (diff) |
inkscape: add unit test for ps2pdf plugin
to prevent future regressen add a smal test, to check if ps2pdf plugin is working by createing a .ps / .eps file and converting it back to svg
-rw-r--r-- | pkgs/applications/graphics/inkscape/default.nix | 3 | ||||
-rw-r--r-- | pkgs/applications/graphics/inkscape/test-ps2pdf-plugin.nix | 27 |
2 files changed, 30 insertions, 0 deletions
diff --git a/pkgs/applications/graphics/inkscape/default.nix b/pkgs/applications/graphics/inkscape/default.nix index 35000a06de02e..fcc56fd14dd0e 100644 --- a/pkgs/applications/graphics/inkscape/default.nix +++ b/pkgs/applications/graphics/inkscape/default.nix @@ -3,6 +3,7 @@ , boehmgc , boost , cairo +, callPackage , cmake , desktopToDarwinBundle , fetchurl @@ -172,6 +173,8 @@ stdenv.mkDerivation rec { done ''; + passthru.tests.ps2pdf-plugin = callPackage ./test-ps2pdf-plugin.nix { }; + meta = with lib; { description = "Vector graphics editor"; homepage = "https://www.inkscape.org"; diff --git a/pkgs/applications/graphics/inkscape/test-ps2pdf-plugin.nix b/pkgs/applications/graphics/inkscape/test-ps2pdf-plugin.nix new file mode 100644 index 0000000000000..3e55557c860e1 --- /dev/null +++ b/pkgs/applications/graphics/inkscape/test-ps2pdf-plugin.nix @@ -0,0 +1,27 @@ +{ inkscape, runCommand, writeTextFile }: + +let + svg_file = writeTextFile { + name = "test.svg"; + text = '' +<?xml version="1.0" encoding="UTF-8"?> +<svg width="50" height="50" version="1.1"> + <ellipse cx="1" cy="1" rx="1" ry="1" /> +</svg>''; + }; +in +runCommand "inkscape-test-eps" +{ + nativeBuildInputs = [ inkscape ]; +} '' + echo ps test + inkscape ${svg_file} --export-type=ps -o test.ps + inkscape test.ps -o test.ps.svg + + echo eps test + inkscape ${svg_file} --export-type=eps -o test.eps + inkscape test.eps -o test.eps.svg + + # inkscape does not return an error code, only does not create files + [[ -f test.ps.svg && -f test.eps.svg ]] && touch $out +'' |