gocuelang.org/go/internal/cuetdtest Index | Files

package cuetdtest

import "cuelang.org/go/internal/cuetdtest"

Package testing is a helper package for test packages in the CUE project. As such it should only be imported in _test.go files.

Index

Functions

func Run

func Run[TC any](t *testing.T, table []TC, fn func(t *T, tc *TC))

Run creates a new table-driven test using the CUE testing defaults.

Types

type M

type M struct {
	// Flags is public to allow tests to customise e.g. logging.
	Flags cuedebug.Config
	// contains filtered or unexported fields
}

M represents a point in the evaluation matrix of possible runtime configurations.

func (*M) CueContext

func (t *M) CueContext() *cue.Context

func (*M) Fallback

func (t *M) Fallback() string

func (*M) IsDefault

func (t *M) IsDefault() bool

IsDefault reports whether this matrix entry should be considered "default" for this matrix.

func (*M) Name

func (t *M) Name() string

func (*M) Runtime

func (t *M) Runtime() *runtime.Runtime

Runtime creates a runtime that is configured according to the matrix.

func (*M) TODO_NoSharing

func (m *M) TODO_NoSharing(t testing.TB)

func (*M) TODO_Sharing

func (m *M) TODO_Sharing(t testing.TB)

type Matrix

type Matrix []M

Matrix represents a set of possible parameters to run tests over. The first entry in the slice is considered the "default" and can be used to choose a specific entry to record values for (for example test statistics or error message output).

var FullMatrix Matrix = []M{
	evalv3,
	evalv3NoShare,
}
var SmallMatrix Matrix = []M{evalv3}

func (Matrix) Do

func (m Matrix) Do(t *testing.T, f func(t *testing.T, m *M))

Do runs f in a subtest for each configuration in the matrix.

func (Matrix) Run

func (m Matrix) Run(t *testing.T, name string, f func(t *testing.T, m *M))

Run runs a subtest with the given name that invokes a further subtest for each configuration in the matrix.

type T

type T struct {
	*tdtest.T
	M *M
}

Source Files

cuetdtest.go matrix.go

Version
v0.15.1 (latest)
Published
Nov 21, 2025
Platform
linux/amd64
Imports
8 packages
Last checked
4 months ago

Tools for package owners.