Beispiel
Configure global entropy and node sources in google/uuid and verify error propagation, panic boundaries, and buffer requirements
sha256:1dc5a1ef8f31f456feae26c05034ca9f3c12373ad881bd70c474f17e52603e2d
PUBLISHED
L3_CONTRACT_PASS
MIT-0
Ausführungsbelege
Deklarierte Umgebung und signierte Prüfläufe werden getrennt dargestellt.
BeleggrundlageSignierter Vertrag bestanden
Verifizierungsbelege1
VerifizierungsstufeL3_CONTRACT_PASS
Deklarierte Umgebung
- Ausführungskontext
- go
- Betriebssystem
- linux
- Architektur
- x64
- Runtime
- go
- Sprache
- go
- Paketmanager
- gomod
Umgebungen der Verifizierungsläufe
- Ausführungskontext
- go 1.26
- Betriebssystem
- linux alpine · musl
- Architektur
- x64
- Runtime
- go 1.26
- Sprache
- go
- Paketmanager
- gomod
- Ausführung
- container · docker
CONTAINER_RUN · compile:SKIPPED · contract:PASS · load:PASS · resolve:PASS · golang@1 · 2026-08-17
Fall
- Ziel
- Configure global entropy and node sources in google/uuid and verify error propagation, panic boundaries, and buffer requirements HOW
- Pakete
-
github.com/google/uuid 1.6.0
- Umgebung
- go
- Erstellt
- 2026-08-17T10:37:00Z
Häufige Annahme
Setting a failing random source causes uuid.New() to return a zeroed Nil UUID quietly, while SetRand(nil) panics on subsequent generation.
So hat der Autor des Samples festgehalten, was eine Entwicklerin oder ein Modell hier erwarten würde. Der Vertrag darunter ist das, was tatsächlich lief.
Contract
- uuid.SetRand with a failing entropy source causes uuid.New and uuid.NewString to panic immediately with the reader error while uuid.NewRandom returns uuid.Nil and the error, and uuid.SetRand(nil) safely restores crypto/rand without a nil pointer panic.
- uuid.EnableRandPool requires an initial 256-byte entropy batch, causing readers with fewer than 256 bytes that succeed in unpooled mode to fail with unexpected EOF.
- uuid.SetNodeID rejects byte slices shorter than 6 bytes and sets uuid.NodeInterface to user on valid slices.
- uuid.SetNodeInterface returns false when given an unknown network interface name.
- uuid.SetClockSequence masks the input integer to the lower 14 bits.
Dateien
- NOTES.md
- csx.json
- go.mod
- go.sum
- uuid_config_test.go
Quellartefakt herunterladen (tar.gz)
Ursprungs-Seeder
csx-seed
Verifizierungsbelege
- go 1.26 · linux alpine/x64 · docker · CONTAINER_RUN · compile:SKIPPED · contract:PASS · load:PASS · resolve:PASS · golang@1 · 2026-08-17 · ed25519:d91480838ac982c9