Freeze the Go implementation as a test-only oracle, with vectors

oracle/go is the Go code at 4c1507c, moved unchanged, plus test-only
generators that record what it computes. tests/vectors holds the
deterministic crypto/store vectors and synthetic fixtures they produce.

Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
Andy Dixon
2026-10-08 09:55:17 +01:00
co-authored by Claude
parent 4c1507c463
commit 69f4b90777
60 changed files with 4843 additions and 0 deletions
+41
View File
@@ -0,0 +1,41 @@
// SPDX-License-Identifier: GPL-3.0-or-later
package format
import (
"bufio"
"bytes"
"strings"
"testing"
)
func TestStanzaReaderRejectsOversizedStanza(t *testing.T) {
var input bytes.Buffer
input.WriteString("-> test ")
input.WriteString(strings.Repeat("a", MaxStanzaSize))
input.WriteString("\n\n")
sr := NewStanzaReader(bufio.NewReader(&input))
if _, err := sr.ReadStanza(); err == nil {
t.Fatal("ReadStanza accepted an oversized stanza")
} else if !strings.Contains(err.Error(), "stanza exceeds") {
t.Fatalf("ReadStanza error = %v, want stanza size limit error", err)
}
}
func TestParseRejectsOversizedHeader(t *testing.T) {
var input bytes.Buffer
input.WriteString(intro)
for input.Len() <= MaxHeaderSize {
input.WriteString("-> test ")
input.WriteString(strings.Repeat("a", MaxStanzaSize-1024))
input.WriteString("\n\n")
}
input.WriteString("--- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n")
if _, _, err := Parse(&input); err == nil {
t.Fatal("Parse accepted an oversized header")
} else if !strings.Contains(err.Error(), "header exceeds") {
t.Fatalf("Parse error = %v, want header size limit error", err)
}
}