Projekt

Allgemein

Profil

Aktionen

Feature #13847

geschlossen

PDF bei CI-Tests diffen

Von Maren Pufe vor fast 2 Jahren hinzugefügt. Vor fast 2 Jahren aktualisiert.

Status:
Erledigt
Priorität:
Normal
Zugewiesen an:
Beginn:
24.11.2022
Abgabedatum:
% erledigt:

0%

Geschätzter Aufwand:

Beschreibung

Für die Gewährung der Produktionssicherheit müssen wir einen Mechanismus etablieren, der im Rahmen der CI-Tests auch PDFs erzeugt und diese difft.

Dieses Ticket dient für interne Rückfragen und Dokumentation des Projektstandes.

Aktionen #1

Von Fränze Gramsch vor fast 2 Jahren aktualisiert

Der aktuelle Stand:
Ich habe den PDF Diff erfolgreich beim Projekt Hanser FB eingebaut. Hier wird ein Formellog-PDF mit pdflatex erzeugt, dass anschließend gedifft wird. Die Ausgabe im before_after.diff sieht aktuell so aus:
Gleiches PDF, keine Unterschiede:

======== diff  /data/svncompat/.jenkins/workspace/svncompat_https_subversion_le_tex_de_customers_hanser_fb_transpect//test_before/CHVPN44276_KU_WFV_Kies_Kap2_formellog.pdf /data/svncompat/.jenkins/workspace/svncompat_https_subversion_le_tex_de_customers_hanser_fb_transpect//test_after/CHVPN44276_KU_WFV_Kies_Kap2_formellog.pdf
/data/svncompat/.jenkins/workspace/svncompat_https_subversion_le_tex_de_customers_hanser_fb_transpect/vergleich.YiMGxB /data/svncompat/.jenkins/workspace/svncompat_https_subversion_le_tex_de_customers_hanser_fb_transpect
gs -dSAFER -dBATCH -dNOPAUSE -r150 -sDEVICE=pbm -sOutputFile=a_seite%04d /data/svncompat/.jenkins/workspace/svncompat_https_subversion_le_tex_de_customers_hanser_fb_transpect/test_before/CHVPN44276_KU_WFV_Kies_Kap2_formellog.pdf
GPL Ghostscript 9.26 (2018-11-20)
Copyright (C) 2018 Artifex Software, Inc.  All rights reserved.
This software comes with NO WARRANTY: see the file PUBLIC for details.
Processing pages 1 through 3.
Page 1
Page 2
Page 3
GPL Ghostscript 9.26 (2018-11-20)
Copyright (C) 2018 Artifex Software, Inc.  All rights reserved.
This software comes with NO WARRANTY: see the file PUBLIC for details.
Processing pages 1 through 3.
Page 1
Page 2
Page 3
Pages are the same(a3d85bf8edf4695a906a823ad86a6237/a3d85bf8edf4695a906a823ad86a6237)
Pages are the same(6d41f6e8922748b0baacda28f128ed0e/6d41f6e8922748b0baacda28f128ed0e)
Pages are the same(4b9cdde75f402be64d72cca089bd47db/4b9cdde75f402be64d72cca089bd47db)
/data/svncompat/.jenkins/workspace/svncompat_https_subversion_le_tex_de_customers_hanser_fb_transpect

Unterschiede im PDF:

======== diff  /data/svncompat/.jenkins/workspace/svncompat_https_subversion_le_tex_de_customers_hanser_fb_transpect//test_before/CHVPNXX754_KU_Muenstedt_Kap5_formellog.pdf /data/svncompat/.jenkins/workspace/svncompat_https_subversion_le_tex_de_customers_hanser_fb_transpect//test_after/CHVPNXX754_KU_Muenstedt_Kap5_formellog.pdf
/data/svncompat/.jenkins/workspace/svncompat_https_subversion_le_tex_de_customers_hanser_fb_transpect/vergleich.kC06Ju /data/svncompat/.jenkins/workspace/svncompat_https_subversion_le_tex_de_customers_hanser_fb_transpect
gs -dSAFER -dBATCH -dNOPAUSE -r150 -sDEVICE=pbm -sOutputFile=a_seite%04d /data/svncompat/.jenkins/workspace/svncompat_https_subversion_le_tex_de_customers_hanser_fb_transpect/test_before/CHVPNXX754_KU_Muenstedt_Kap5_formellog.pdf
GPL Ghostscript 9.26 (2018-11-20)
Copyright (C) 2018 Artifex Software, Inc.  All rights reserved.
This software comes with NO WARRANTY: see the file PUBLIC for details.
Processing pages 1 through 1.
Page 1
GPL Ghostscript 9.26 (2018-11-20)
Copyright (C) 2018 Artifex Software, Inc.  All rights reserved.
This software comes with NO WARRANTY: see the file PUBLIC for details.
Processing pages 1 through 12.
Page 1
Page 2
Page 3
Page 4
Page 5
Page 6
Page 7
Page 8
Page 9
Page 10
Page 11
Page 12
Unterschied zwischen Datei /data/svncompat/.jenkins/workspace/svncompat_https_subversion_le_tex_de_customers_hanser_fb_transpect/test_before/CHVPNXX754_KU_Muenstedt_Kap5_formellog.pdf und /data/svncompat/.jenkins/workspace/svncompat_https_subversion_le_tex_de_customers_hanser_fb_transpect/test_after/CHVPNXX754_KU_Muenstedt_Kap5_formellog.pdf auf Seite 0001
'm_seite' -> '/data/svncompat/.jenkins/workspace/svncompat_https_subversion_le_tex_de_customers_hanser_fb_transpect/pagediff_0001.pnm'
/data/svncompat/.jenkins/workspace/svncompat_https_subversion_le_tex_de_customers_hanser_fb_transpect

vgl. Build 2407
Die Ausgabe ließe sich vielleicht noch etwas verschönern.

Was aber noch ein bisschen problematisch ist:
Wenn man mit make accept_results_jenkins die erzeugten PDFs von Jenkins abholt, sind sie im SVN doch etwas unterschiedlich:

$ svn diff -r COMMITTED:PREV --force  test_before/CHVPN44276_KU_WFV_Kies_Kap2_formellog.pdf
Index: test_before/CHVPN44276_KU_WFV_Kies_Kap2_formellog.pdf

===================================================================
--- test_before/CHVPN44276_KU_WFV_Kies_Kap2_formellog.pdf       (Revision 49371)
+++ test_before/CHVPN44276_KU_WFV_Kies_Kap2_formellog.pdf       (Revision 49370)
@@ -492,8 +492,8 @@
 <<
 /Producer (pdfTeX-1.40.20)
 /Creator (TeX)
-/CreationDate (D:20221123144747+01'00')
-/ModDate (D:20221123144747+01'00')
+/CreationDate (D:20221123142437+01'00')
+/ModDate (D:20221123142437+01'00')
 /Trapped /False
 /PTEX.Fullbanner (This is pdfTeX, Version 3.14159265-2.6-1.40.20 (TeX Live 2019) kpathsea version 6.3.1)
 >>
@@ -536,7 +536,7 @@
 /W [1 2 1]
 /Root 45 0 R
 /Info 46 0 R
-/ID [<B7BBDCF70FE2BB22B4916DF0CCA0476A> <B7BBDCF70FE2BB22B4916DF0CCA0476A>]
+/ID [<6CFE62E1CE109D3047874D27D1D9FA3A> <6CFE62E1CE109D3047874D27D1D9FA3A>]
 /Length 133
 /Filter /FlateDecode
 >>

Das ist natürlich nicht ganz so praktisch, hier müssten wir uns überlegen, wie man am besten vorgeht. Jedes mal ein "geändertes" (aber eigentlich gleich gebliebenes) PDF committen, vermüllt das SVN Zusehens... Vielleicht die PDFs nicht automatisch mit make accept_results_jenkins abholen oder ein neues target bauen, in dem man nur die geänderten und akzeptierbaren PDFs übergibt, die dann gecurlt werden. Oder die PDFs aus dem test_before löschen, wenn sie gleich geblieben sind?

Aktionen #2

Von Martin Kraetke vor fast 2 Jahren aktualisiert

Cool, sieht sehr gut aus. Die PDFs sollte man dann lieber mit einem anderen Target kopieren. Also nur wenn sich die Referenzdaten geändert haben und die Änderung erwünscht war.

Aktionen #3

Von Fränze Gramsch vor fast 2 Jahren aktualisiert

  • Status wurde von Neu zu Erledigt geändert

Ich habe die Tests jetzt für einige Projekte eingebaut und die Wiki Seite angepasst.
Ich habe jetzt für die meisten Xerif Projekte ein Extra Target render_testfile_pdf erstellt, das im transpect/Makefile liegt. Das muss ggf. noch mit projektspezifischen Parametern erweitert werden. Als Vorlage kann das Brill Makefile benutzt werden.

Aktionen

Auch abrufbar als: Atom PDF