mirror of
https://github.com/lukaszraczylo/traefik-llmgateway.git
synced 2026-10-14 05:18:54 +00:00
Add github.com/stretchr/testify (test-only) as a direct dependency and vendor it, matching the traefikoidc precedent: _test.go files are never Yaegi-interpreted, so vendoring a test-only dependency does not affect the plugin's runtime under Traefik or the catalog analyzer. tools/yaegi-check/main.go: add vendor to the harness's repo-copy exclude list, since vendor/'s nested module layout (go.yaml.in/yaml/v3 alongside testify) has nothing to do with the plugin package Yaegi imports. Verified: make yaegi-check stays green; go build/vet/test unaffected.
37 lines
1.5 KiB
Go
37 lines
1.5 KiB
Go
//go:build !testify_yaml_fail && !testify_yaml_custom
|
|
|
|
// Package yaml is just an indirection to handle YAML deserialization.
|
|
//
|
|
// This package is just an indirection that allows the builder to override the
|
|
// indirection with an alternative implementation of this package that uses
|
|
// another implementation of YAML deserialization. This allows to not either not
|
|
// use YAML deserialization at all, or to use another implementation than
|
|
// [go.yaml.in/yaml/v3] (for example for license compatibility reasons, see [PR #1120]).
|
|
//
|
|
// Alternative implementations are selected using build tags:
|
|
//
|
|
// - testify_yaml_fail: [Unmarshal] always fails with an error
|
|
// - testify_yaml_custom: [Unmarshal] is a variable. Caller must initialize it
|
|
// before calling any of [github.com/stretchr/testify/assert.YAMLEq] or
|
|
// [github.com/stretchr/testify/assert.YAMLEqf].
|
|
//
|
|
// Usage:
|
|
//
|
|
// go test -tags testify_yaml_fail
|
|
//
|
|
// You can check with "go list" which implementation is linked:
|
|
//
|
|
// go list -f '{{.Imports}}' github.com/stretchr/testify/assert/yaml
|
|
// go list -tags testify_yaml_fail -f '{{.Imports}}' github.com/stretchr/testify/assert/yaml
|
|
// go list -tags testify_yaml_custom -f '{{.Imports}}' github.com/stretchr/testify/assert/yaml
|
|
//
|
|
// [PR #1120]: https://github.com/stretchr/testify/pull/1120
|
|
package yaml
|
|
|
|
import goyaml "go.yaml.in/yaml/v3"
|
|
|
|
// Unmarshal is just a wrapper of [go.yaml.in/yaml/v3.Unmarshal].
|
|
func Unmarshal(in []byte, out interface{}) error {
|
|
return goyaml.Unmarshal(in, out)
|
|
}
|