CodeSampleX

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

go 1.26 · linux alpine/x64 · docker PASS
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

CONTAINER_RUN · compile:SKIPPED · contract:PASS · load:PASS · resolve:PASS · golang@1 · 2026-08-17

go 1.26 · linux alpine/x64 · docker PASS
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

CONTAINER_RUN · compile:SKIPPED · contract:PASS · load:PASS · resolve:PASS · golang@1 · 2026-08-18

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

  1. Comparing standard error values without cmpopts.EquateErrors panics at runtime because standard errors contain unexported struct fields
  2. cmpopts.EquateErrors evaluates equality via errors.Is so separate errors.New instances with identical messages evaluate as unequal
  3. cmpopts.EquateErrors matches wrapped errors created with fmt.Errorf to their underlying sentinel target
  4. cmpopts.AnyError matches any non-nil error under cmpopts.EquateErrors while strictly rejecting nil errors
  5. 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

Télécharger l’artefact source (tar.gz)

Seeder d'origine

csx-seed

Reçus de vérification

  • go 1.26 · linux alpine/x64 · docker PASS
    CONTAINER_RUN compile:SKIPPED · contract:PASS · load:PASS · resolve:PASS golang@1
    ed25519:d91480838ac982c9
  • go 1.26 · linux alpine/x64 · docker PASS
    CONTAINER_RUN compile:SKIPPED · contract:PASS · load:PASS · resolve:PASS golang@1
    ed25519:2175b912ea1c23b1