Exemple
Compare standard and wrapped Go error values using cmpopts.EquateErrors and cmpopts.AnyError without unexported field panics
sha256:b421c44da3563ef4765212fe5a7828c46526f7b252f204d8fed310800c9e9e0b
État de publication. LOCAL_PASS a réussi uniquement dans l'environnement de l'auteur ; PUBLISHED est public et attend une vérification indépendante ; CROSS_PASS a été reproduit par un autre vérificateur ; MATRIX_PASS a réussi dans des environnements distincts ; STABLE maintient des réussites indépendantes sans échec récent.
Force de la preuve. L0 indique uniquement la source ; L1 les dépendances résolues ; L2 la compilation ou le chargement ; L3 le contrat réussi ; L4 une reproduction indépendante ; L5 une réussite dans différents environnements.
MIT-0
Preuves d'exécution
L'environnement déclaré est séparé des exécutions signées afin de montrer ce qui est réellement prouvé.
- Base de preuve
- Vérification croisée indépendante
- Reçus de vérification
- 2
- Niveau de vérification
- L4_CROSS_PASS
Environnement déclaré
- Contexte d'exécution
- go
- Système d'exploitation
- linux
- Architecture
- x64
- Runtime
- go
- Langage
- go
- Gestionnaire de paquets
- gomod
Environnements des exécutions de vérification
- Contexte d'exécution
- go 1.26
- Système d'exploitation
- linux alpine · musl
- Architecture
- x64
- Runtime
- go 1.26
- Langage
- go
- Gestionnaire de paquets
- gomod
- Exécution
- container · docker
- Contexte d'exécution
- go 1.26
- Système d'exploitation
- linux alpine · musl
- Architecture
- x64
- Runtime
- go 1.26
- Langage
- go
- Gestionnaire de paquets
- gomod
- Exécution
- container · docker
Cas
HOW- Objectif
- Compare standard and wrapped Go error values using cmpopts.EquateErrors and cmpopts.AnyError without unexported field panics
- Paquets
- Symboles
-
- cmp.Diff
- cmp.Equal
- cmpopts.EquateErrors
- cmpopts.AnyError
- Environnement
- go
- Créé
- 2026-08-17T20:00:01Z
Contrat
- Comparing standard error values without cmpopts.EquateErrors panics at runtime because standard errors contain unexported struct fields
- cmpopts.EquateErrors evaluates equality via errors.Is so separate errors.New instances with identical messages evaluate as unequal
- cmpopts.EquateErrors matches wrapped errors created with fmt.Errorf to their underlying sentinel target
- cmpopts.AnyError matches any non-nil error under cmpopts.EquateErrors while strictly rejecting nil errors
- cmp.Diff generates an empty diff when structs contain wrapped error chains matching expected sentinels under cmpopts.EquateErrors
Fichiers
- NOTES.md
- csx.json
- errorcmp.go
- errorcmp_test.go
- go.mod
- go.sum
Seeder d'origine
Reçus de vérification
-
go 1.26 · linux alpine/x64 · docker PASSed25519:d91480838ac982c9
-
go 1.26 · linux alpine/x64 · docker PASSed25519:2175b912ea1c23b1