testutils

package
v1.13.13 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Aug 23, 2026 License: Apache-2.0 Imports: 25 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var ChunkBoundaryCases = []struct {
	Name string
	Size int
}{
	{"1_byte", 1},
	{"small_64b", 64},
	{"min_minus_1", 512*1024 - 1},
	{"exactly_min", 512 * 1024},
	{"min_plus_1", 512*1024 + 1},
	{"max_minus_1", 2*1024*1024 - 1},
	{"exactly_max", 2 * 1024 * 1024},
	{"max_plus_1", 2*1024*1024 + 1},
	{"multi_chunk_uneven_tail", 3*2*1024*1024 + 37},
}

Functions

func ApplySchema

func ApplySchema(t *testing.T, dbconn *sql.DB)

func AssertCLIJSONOK

func AssertCLIJSONOK(t *testing.T, res CLIExecResult, command string) map[string]any

func AssertDeepVerifyAggregateError

func AssertDeepVerifyAggregateError(t *testing.T, err error, context string)

func AssertErrorContains

func AssertErrorContains(t *testing.T, err error, substring string, context string)

func AssertErrorContainsAny added in v1.8.0

func AssertErrorContainsAny(t *testing.T, err error, substrings []string, context string)

func AssertNoProcessingRows

func AssertNoProcessingRows(t *testing.T, dbconn *sql.DB)

func AssertUniqueFileChunkOrders

func AssertUniqueFileChunkOrders(t *testing.T, dbconn *sql.DB)

func BuildColdkeepBinary

func BuildColdkeepBinary(t *testing.T, repoRoot string) string

func BuildCommandEnv

func BuildCommandEnv(overrides map[string]string) []string

func CollectFileHashesByCount

func CollectFileHashesByCount(t *testing.T, root string) map[string]int

func ContainerPathForRecord

func ContainerPathForRecord(record FileChunkRecord) string

func CopyDirTree

func CopyDirTree(t *testing.T, srcDir, dstDir string)

func CorruptFirstCompletedChunkByte

func CorruptFirstCompletedChunkByte(t *testing.T, dbconn *sql.DB, containersDir string)

func CreateSampleDataset

func CreateSampleDataset(t *testing.T, dir string) map[string]string

func CreateTempFile

func CreateTempFile(t *testing.T, dir, name string, Size int) string

func DefaultCLIEnv

func DefaultCLIEnv(storageDir string) map[string]string

func DiagnosticDir added in v1.13.9

func DiagnosticDir() string

func DiagnosticManifestEnabled added in v1.13.9

func DiagnosticManifestEnabled() bool

func FetchFileIDByHash

func FetchFileIDByHash(t *testing.T, dbconn *sql.DB, fileHash string) int64

func FindCLIErrorPayload

func FindCLIErrorPayload(output string) (map[string]any, bool)

func FindRepoFixtureDir

func FindRepoFixtureDir(t *testing.T, fixtureDir string) string

func FindRepoRoot

func FindRepoRoot(t *testing.T) string

func GetenvOrDefault

func GetenvOrDefault(name, fallback string) string

func IsDuplicateSchemaError

func IsDuplicateSchemaError(err error) bool

func IsRetryableTxAbortError

func IsRetryableTxAbortError(err error) bool

func Itoa

func Itoa(i int) string

func JSONInt64

func JSONInt64(t *testing.T, payload map[string]any, key string) int64

func JSONMap

func JSONMap(t *testing.T, payload map[string]any, key string) map[string]any

func MustRead

func MustRead(t *testing.T, p string) []byte

func NewTestContext

func NewTestContext(dbconn *sql.DB) storage.StorageContext

func OpenRawPostgresDB

func OpenRawPostgresDB(t *testing.T, dbName string) *sql.DB

func OpenRawPostgresDBForMaintenance added in v1.13.8

func OpenRawPostgresDBForMaintenance(purpose string) *sql.DB

func ParseJSONLines

func ParseJSONLines(output string) []map[string]any

func PreserveFailureStateEnabled added in v1.13.9

func PreserveFailureStateEnabled() bool

func RequireDB

func RequireDB(t *testing.T)

func RequireLongRun

func RequireLongRun(t *testing.T)

func RequireStress

func RequireStress(t *testing.T)

func ResetDB

func ResetDB(t *testing.T, dbconn *sql.DB)

func ResetStorage

func ResetStorage(t *testing.T)

func RunFixtureFolderEndToEnd

func RunFixtureFolderEndToEnd(t *testing.T, fixtureDir string)

func RunFixtureFolderRestoreAll

func RunFixtureFolderRestoreAll(t *testing.T, fixtureDir string)

func RunWithIsolatedPostgresDB added in v1.13.8

func RunWithIsolatedPostgresDB(packageLabel string, m *testing.M) int

RunWithIsolatedPostgresDB executes a package test suite against a unique PostgreSQL database so concurrently running test binaries do not share rows.

func SHA256File

func SHA256File(t *testing.T, path string) string

func SetTestAESGCMKey

func SetTestAESGCMKey(t *testing.T)

func SetupStoredFileForVerification

func SetupStoredFileForVerification(t *testing.T, filename string, Size int) (*sql.DB, string, int64)

func TryParseLastJSONLine

func TryParseLastJSONLine(output string) (map[string]any, bool)

func WriteDiagnosticJSON added in v1.13.9

func WriteDiagnosticJSON(prefix string, payload any) (string, error)

func WritePreservedIsolatedDBManifest added in v1.13.9

func WritePreservedIsolatedDBManifest(packageLabel, dbName string) (string, error)

Types

type CLIExecResult

type CLIExecResult struct {
	Stdout   string
	Stderr   string
	ExitCode int
}

func RunColdkeepCommand

func RunColdkeepCommand(t *testing.T, repoRoot, binPath string, env map[string]string, args ...string) CLIExecResult

type ChunkRecord

type ChunkRecord struct {
	Order int
	Hash  string
	Size  int64
}

func QueryChunkGraph

func QueryChunkGraph(t *testing.T, dbconn *sql.DB, fileID int64) []ChunkRecord

type FileChunkRecord

type FileChunkRecord struct {
	ChunkID              int64
	ContainerID          int64
	BlockOffset          int64
	StoredSize           int64
	ContainerFilename    string
	ContainerCurrentSize int64
}

func FetchFirstChunkRecord

func FetchFirstChunkRecord(t *testing.T, dbconn *sql.DB, fileID int64) FileChunkRecord

func FetchFirstFileChunkRecord

func FetchFirstFileChunkRecord(t *testing.T, dbconn *sql.DB, fileID int64) FileChunkRecord

type PreservedIsolatedDBManifest added in v1.13.9

type PreservedIsolatedDBManifest struct {
	Kind         string    `json:"kind"`
	TimestampUTC time.Time `json:"timestamp_utc"`
	PackageLabel string    `json:"package_label"`
	DatabaseName string    `json:"database_name"`
}

type RollbackFailingWriter

type RollbackFailingWriter struct {
	Base            *container.LocalWriter
	ForcedErr       error
	AppendSucceeded bool
	LastPlacement   container.LocalPlacement
	QuarantineCalls int
}

func NewRollbackFailingWriter

func NewRollbackFailingWriter(Base *container.LocalWriter) *RollbackFailingWriter

func (*RollbackFailingWriter) AcknowledgeAppendCommitted

func (w *RollbackFailingWriter) AcknowledgeAppendCommitted()

func (*RollbackFailingWriter) AppendPayload

func (w *RollbackFailingWriter) AppendPayload(tx db.DBTX, payload []byte) (container.LocalPlacement, error)

func (*RollbackFailingWriter) BindDB

func (w *RollbackFailingWriter) BindDB(dbconn *sql.DB)

func (*RollbackFailingWriter) FinalizeContainer

func (w *RollbackFailingWriter) FinalizeContainer() error

func (*RollbackFailingWriter) QuarantineActiveContainer

func (w *RollbackFailingWriter) QuarantineActiveContainer() error

func (*RollbackFailingWriter) RollbackLastAppend

func (w *RollbackFailingWriter) RollbackLastAppend() error

Directories

Path Synopsis

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL