Deterministische differenzielle Regressionstests

HPDFCompareRegressionResultsDeterministic führt zwei Engine-Adapter über ausgewählte Domänen wiederholt aus, weist instabile oder fehlgeschlagene Durchläufe zurück und erfasst ein geordnetes maschinenlesbares Ergebnis

API

function HPDFCompareRegressionResultsDeterministic(
  const Input: TBytes;
  Domains: THPDFRegressionDomains;
  const LeftProbe, RightProbe: THPDFRegressionProbe;
  const Options: THPDFDifferentialProbeOptions;
  out AInfo: THPDFDifferentialRegressionInfo): Boolean;

Domänen

DomäneIntegrierte HotPDF-Signatur
rgdParserZusammenfassung zu Seite, Objekt, Version, Anmerkung, Schrift, Bild, Formular, Signatur, Verschlüsselung, AcroForm und Struktur
rgdRendererVon oben nach unten berechneter BGR-Pixel-SHA-256 bei fester DPI, ohne Alpha und Zeilen-Padding
rgdTextSeitengrenzen-orientierter UTF-8-SHA-256 nach CRLF- und CR-Normalisierung
rgdSaveSHA-256 und Bytelänge der begrenzten Ausgabe mit deterministischer Wörterbuchreihenfolge

Die Legacy-Werte rgdSignature und rgdConformance bleiben verfügbar, damit vorhandene Probe-Adapter ihre Ordinalwerte und ihre Quellkompatibilität behalten

HPDFRegressionDomainName(Domain) liefert den stabilen kleingeschriebenen Namen eines THPDFRegressionDomain-Werts wie parser oder renderer für Protokoll- und Berichtsfelder

Stabilitätsvertrag

HPDFDefaultDifferentialProbeOptions wählt drei Läufe, ein Eingabelimit von 256 MiB und stabile Fallback-Engine-Namen

RepeatCount akzeptiert 2 bis 64 Läufe; eine Signaturänderung innerhalb einer Engine markiert diese Domäne als instabil, selbst wenn ihre erste Signatur zur anderen Engine passt

Probe-Ausnahmen werden in stabile Fehlersignaturen aus Ausnahmeklasse und SHA-256 der Meldung umgewandelt; jeder Fehler lässt die Domäne geschlossen abweichen

Dieselbe unveränderliche Eingabe wird in fester Domänen- und Engine-Reihenfolge geliefert, und jede gewählte Domäne erscheint einmal im JSON-Bericht

Eingebaute Grenzen

Die konfigurierbare Überladung HPDFProbeHotPDFDocument akzeptiert eine Render-DPI, eine maximale Seitenzahl und maximale Ausgabebytes

Render-Fingerabdrücke schließen Alpha und Zeilen-Padding aus, Text-Fingerabdrücke normalisieren die Zeilenumbruch-Darstellung, und Save-Ausgabe nutzt vor dem Hashen einen begrenzten Stream

Bericht

THPDFDifferentialRegressionInfo trägt verglichene und abweichende Domänenmengen, linke und rechte Signaturen, instabile Mengen, Fehlermengen, Engine-Namen, die Wiederholungsanzahl und die Eingabe-SHA-256

HPDFDifferentialRegressionInfoToJSON gibt das feste Schema hotpdf.differential.v1 mit stabiler Feld- und Domänenreihenfolge aus, für CI, Korpus-Triage und Audit-Speicherung

Kompatibilitätshelfer

HPDFCompareRegressionResults behält das ursprüngliche Einzellauf-Callback-Verhalten für Aufrufer bei, die bereits extern stabilisierte Signaturen erzeugen