Repository navigation
Description
Umgesetzt am 31.10.2026 — PR #489
Der fehlende Channel-Test für das bereits dokumentierte Istverhalten reservierter FS ist in #489 umgesetzt: nach einem CTS-Block werden FS 3 und 15 injiziert; beide lassen den Send offen, verlängern N_Bs nicht und enden am ursprünglichen virtuellen Termin mit N_Bs-Timeout. Vollständige lokale Suite: 3127 grün; net48-Kompilierung, Format, neun frische Pakete und 50 Engineering-Tests erfolgreich. Beide realen Mutationen (reserved→Wait und reserved→Overflow) kompilierten und ließen beide Fälle fehlschlagen; Quellen anschließend wiederhergestellt.
Status: PR offen; erst nach Merge als auf main erledigt zählen. Dies entscheidet nicht die noch offene ISO-Frage „Drop versus sofortiger Abbruch“. Wenn der Normabgleich eine Änderung ergibt, muss dieser Test gezielt daran angepasst werden. Der Testnachweis muss deshalb nicht auf den Normtext warten; nur die normativ richtige Zielsemantik bleibt offen.
Ursprung: docs/reviews/2026-10-21-deep-review/isotp.md. Die ursprüngliche Sammelliste war nach den folgenden PRs veraltet.
Erledigt
- I-2 bis I-5: fremde Cancellation im Reader, Empfang während Discard, Zurücknahme eines angekündigten First Frame nach Actor-Dispose und Fensterprüfung von
CollectResponsesAsync: fix(isotp): close the I-2..I-5 minor findings of the 2026-10-21 review #376; Empfang/Discard anschließend vollständig serialisiert durch fix(isotp): serialise receives with a pending-PDU discard #394 (IsoTp: a receive concurrent with DiscardPendingPdus can take a PDU the discard was dropping #383). - Testlücken CAN-FD ohne Padding, Extended Addressing mit verschiedenen SA/TA, Wait→CTS/WFT-Reset, N_Bs nach Wait und zurückgestelltes FC(OVFLW): fix(isotp): close the I-2..I-5 minor findings of the 2026-10-21 review #376.
- Channel-Tests für Mixed und NormalFixed Addressing sowie reihenfolgeunabhängige FC-Prüfung: fix(isotp): serialise receives with a pending-PDU discard #394.
- Die Timing-Zeile
The_Loss_Does_Not_Overtake_A_Frame_A_Pumping_Caller_Is_About_To_Postwartet auf ein Signal statt auf Pool-Start innerhalb 100 ms: test: take the ISO-TP, UDS, RawCan and actor timing tests off the wall clock #385; in fix(isotp): serialise receives with a pending-PDU discard #394 nochmals bestätigt. - XML-/README-/SRS-Drift einschließlich NFR-003: fix(isotp): close the I-2..I-5 minor findings of the 2026-10-21 review #376. Aktuelles Verhalten der acht Normfragen und tatsächliche STmin-Rundung dokumentiert/gepinnt: fix(rawcan): cancel in-flight approximated sends on Dispose; document the UDS and ISO-TP decisions #416. Dokumentiert bedeutet hier nicht normativ entschieden.
- B-9 wird nicht mehr als ISO-TP-Implementierungsarbeit geführt: künftige Commit-Prüfung ci: check commit subjects and pin the ruleset's required checks to ci.yml #410; historischer Release-Notes-Nachweis wird in Release: echten Prepare-/Publish-/Attestations-Durchlauf nachweisen; Dry Run erledigt #346 verfolgt.
Rest: Normabgleich mit konkretem Ergebnis je Punkt
Voraussetzung für jede Zeile: maßgebliche Ausgabe von ISO 15765-2 festhalten und den zutreffenden Abschnitt prüfen. Der Review vermerkt vorhandenen Text beim Maintainer; #416 hatte ihn während der Bearbeitung nicht verfügbar. Persönlicher Besitz wird hier weder verneint noch bestätigt.
- N_Ar / unbestätigte Flow Control: festhalten, ob eine fehlgeschlagene FC-Bestätigung den Empfang abbrechen muss. Bei Abweichung Empfangs-Lebensdauer/Fehler ändern; Tests für erfolgreiche, fehlgeschlagene und ausbleibende Bestätigung.
- N_Cr-Start: Queue-Handoff versus FC-Bestätigung anhand der Norm entscheiden; kontrollierte Tests mit verzögerter Bestätigung pinnen den gewählten Start.
- Reservierte FlowStatus-Werte: Drop/weiteres N_Bs-Warten versus sofortiger Fehler mit Abschnitt belegen. Danach Channel-Test während einer laufenden Übertragung ergänzen (bloßer Codec-Test reicht nicht); Fehlerart und Sitzungsende/Timeout müssen unterscheidbar geprüft sein.
- Escape-FF mit FF_DL > int.MaxValue: Drop versus FC(OVFLW) entscheiden; Empfangs-/Wire-Test belegt das Ergebnis ohne große Allokation.
- STmin-Rundung: erlaubte Richtung/Granularität prüfen und 190 µs, 999 µs sowie eine nicht ganzzahlige ms-Grenze belegen; Codec, Option und Dokumentation müssen dieselbe Regel ausdrücken.
- TX_DL / BRS: getrennt prüfen, ob konfigurierbare Werte für den beanspruchten Umfang erforderlich sind. Erforderliches implementieren/testen; eine zulässige Einschränkung mit Normbezug ausdrücklich dokumentieren.
- Abschnittsnummern: XML-Dokumentation und Code-Kommentare auf die festgelegte Normausgabe abgleichen; widersprüchliche Verweise korrigieren.
- STmin vor dem ersten CF jedes CTS-Blocks: Anwendbarkeit normativ entscheiden und Timing-Test entsprechend beibehalten oder ändern.
- Nachtrag aus fix(rawcan): cancel in-flight approximated sends on Dispose; document the UDS and ISO-TP decisions #416: die behauptete CAN-FD-Längenrundung (
UsePadding) und die Abbildung reservierter STmin-Werte auf 127 ms (DecodeStMin) gegen den Text prüfen; unbestätigte Normbehauptungen bestätigen oder korrigieren.
Abschlussbedingung
Für jede offene Zeile liegt eine nachvollziehbare Entscheidung mit Normausgabe/Abschnitt und Ergebnis vor. Jede daraus erforderliche Codeänderung ist gemergt und durch passende Regressionstests belegt; der Reserved-FS-Channel-Test existiert. README/XML/SRS stimmen damit überein und führen die erledigten Fragen nicht weiter als offen. Kein Schließen allein aufgrund der schon erfolgten Dokumentation des Istverhaltens.
Abgleich: 2026-10-31, gegen gemergte PRs, Issue-Kommentare und main @ 61d037a7. Dies ist eine Bestandsaufnahme; die verlinkten Prüfungen wurden dabei nicht erneut ausgeführt.
Activity
fix(isotp): judge TryReceiveWithArrival's empty read by the discards …
test(isotp): dispose the receive timeouts of the round-trip tests
dborgards commentedon Oct 24, 2026
Noted during #416 (not changed there), both cite ISO 15765-2 from memory, unchecked: the
IsoTpChannelOptions.UsePaddingdoc says "ISO 15765-2 requires that rounding"; the ISO-TP README saysDecodeStMinmaps reserved values to 127 ms "per ISO 15765-2". Add to the open norm questions #416 listed in the README.Generated by Claude Code
[-]ISO-TP: minor findings, carried-over norm questions and doc drift from the 2026-10-21 deep review (I-2..I-5)[/-][+]ISO-TP: verbleibende ISO-15765-2-Normfragen und Reserved-FS-Integrationstest[/+]