kubernetesk8s.io/kubernetes/test/e2e/framework/testfiles Index | Files

package testfiles

import "k8s.io/kubernetes/test/e2e/framework/testfiles"

Package testfiles provides a wrapper around various optional ways of retrieving additional files needed during a test run: - builtin bindata - filesystem access

Because it is a is self-contained package, it can be used by test/e2e/framework and test/e2e/manifest without creating a circular dependency.

Index

Functions

func AddFileSource

func AddFileSource(filesource FileSource)

AddFileSource registers another provider for files that may be needed at runtime. Should be called during initialization of a test binary.

func Exists

func Exists(filePath string) (bool, error)

Exists checks whether a file could be read. Unexpected errors are handled by calling the fail function, which then should abort the current test.

func Read

func Read(filePath string) ([]byte, error)

Read tries to retrieve the desired file content from one of the registered file sources.

Types

type EmbeddedFileSource

type EmbeddedFileSource struct {
	EmbeddedFS embed.FS
	Root       string
	// contains filtered or unexported fields
}

EmbeddedFileSource handles files stored in a package generated with bindata.

func (EmbeddedFileSource) DescribeFiles

func (e EmbeddedFileSource) DescribeFiles() string

DescribeFiles explains that it is looking inside an embedded filesystem

func (EmbeddedFileSource) ReadTestFile

func (e EmbeddedFileSource) ReadTestFile(filepath string) ([]byte, error)

ReadTestFile looks for an embedded file with the given path.

type FileSource

type FileSource interface {
	// ReadTestFile retrieves the content of a file that gets maintained
	// alongside a test's source code. Files are identified by the
	// relative path inside the repository containing the tests, for
	// example "cluster/gce/upgrade.sh" inside kubernetes/kubernetes.
	//
	// When the file is not found, a nil slice is returned. An error is
	// returned for all fatal errors.
	ReadTestFile(filePath string) ([]byte, error)

	// DescribeFiles returns a multi-line description of which
	// files are available via this source. It is meant to be
	// used as part of the error message when a file cannot be
	// found.
	DescribeFiles() string
}

FileSource implements one way of retrieving test file content. For example, one file source could read from the original source code file tree, another from bindata compiled into a test executable.

type RootFileSource

type RootFileSource struct {
	Root string
}

RootFileSource looks for files relative to a root directory.

func (RootFileSource) DescribeFiles

func (r RootFileSource) DescribeFiles() string

DescribeFiles explains that it looks for files inside a certain root directory.

func (RootFileSource) ReadTestFile

func (r RootFileSource) ReadTestFile(filePath string) ([]byte, error)

ReadTestFile looks for the file relative to the configured root directory. If the path is already absolute, for example in a test that has its own method of determining where files are, then the path will be used directly.

Source Files

testfiles.go

Version
v1.33.1 (latest)
Published
May 15, 2025
Platform
linux/amd64
Imports
8 packages
Last checked
4 hours ago

Tools for package owners.