testutils

package
v0.40.0-rc1 Latest Latest
Warning

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

Go to latest
Published: Feb 11, 2026 License: Apache-2.0, MIT, Apache-2.0, + 1 more Imports: 21 Imported by: 0

Documentation

Index

Constants

View Source
const (
	CIDWelcomeDocs = "QmQPeNsJPyVWPFDVHb77w8G42Fvo15z4bG2X8D2GhfbSXc"
	CIDEmptyDir    = "QmUNLLsPACCz1vLxQVkXqqLX5R1X345qqfHbsf67hvA3Nn"
)

Variables

View Source
var (
	AlphabetEasy = []rune("abcdefghijklmnopqrstuvwxyz01234567890-_")
	AlphabetHard = []rune("abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ01234567890!@#$%^&*()-_+= ;.,<>'\"[]{}() ")
)

Functions

func AssertStringContainsOneOf added in v0.19.0

func AssertStringContainsOneOf(t *testing.T, str string, ss ...string)

func DeterministicRandomReader added in v0.35.0

func DeterministicRandomReader(sizeStr string, seed string) (io.Reader, error)

DeterministicRandomReader produces specified number of pseudo-random bytes from a seed. Size can be specified as a humanize string (e.g., "256KiB", "1MiB").

func DeterministicRandomReaderBytes

func DeterministicRandomReaderBytes(size int64, seed string) (io.Reader, error)

DeterministicRandomReaderBytes produces exactly `size` pseudo-random bytes from a seed. Use this when exact byte precision is needed.

func EstimateFilesForBlockThreshold

func EstimateFilesForBlockThreshold(threshold, nameLen, cidLen int, tsize uint64) int

EstimateFilesForBlockThreshold estimates how many files with given name/cid lengths will fit under the block size threshold. Returns the number of files that keeps the block size just under the threshold.

func FindUp

func FindUp(name, dir string) string

Searches for a file in a dir, then the parent dir, etc. If the file is not found, an empty string is returned.

func FloatTruncate added in v0.21.0

func FloatTruncate(value float64, decimalPlaces int) float64

func ForEachPar added in v0.19.0

func ForEachPar[T any](s []T, f func(T))

ForEachPar invokes f in a new goroutine for each element of s and waits for all to complete.

func LinkSerializedSize

func LinkSerializedSize(nameLen, cidLen int, tsize uint64) int

LinkSerializedSize calculates the serialized size of a single PBLink in a dag-pb block. This matches the calculation in boxo/ipld/unixfs/io/directory.go estimatedBlockSize().

The protobuf wire format for a PBLink is:

PBNode.Links wrapper tag (1 byte)
+ varint length of inner message
+ Hash field: tag (1) + varint(cidLen) + cidLen
+ Name field: tag (1) + varint(nameLen) + nameLen
+ Tsize field: tag (1) + varint(tsize)

func MustOpen

func MustOpen(name string) *os.File

func PreviewStr

func PreviewStr(s string) string

PreviewStr returns a preview of s, which is a prefix for logging that avoids dumping a huge string to logs.

func RequiresDocker

func RequiresDocker(t *testing.T)

func RequiresExpensive

func RequiresExpensive(t *testing.T)

func RequiresFUSE

func RequiresFUSE(t *testing.T)

func RequiresLinux

func RequiresLinux(t *testing.T)

func RequiresPlugins

func RequiresPlugins(t *testing.T)

func SplitLines

func SplitLines(s string) []string

func StrCat

func StrCat(args ...any) []string

StrCat takes a bunch of strings or string slices and concats them all together into one string slice. If an arg is not one of those types, this panics. If an arg is an empty string, it is dropped.

func ToJSONStr

func ToJSONStr(m JSONObj) string

func URLStrToMultiaddr

func URLStrToMultiaddr(u string) multiaddr.Multiaddr

URLStrToMultiaddr converts a URL string like http://localhost:80 to a multiaddr.

func VarintLen

func VarintLen(v uint64) int

VarintLen returns the number of bytes needed to encode v as a protobuf varint.

Types

type JSONObj

type JSONObj map[string]any

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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