testutils

package
v0.5.2-call-depth-metrics Latest Latest
Warning

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

Go to latest
Published: Jun 29, 2023 License: GPL-3.0, LGPL-3.0 Imports: 10 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func RunEqualTests added in v0.5.1

func RunEqualTests(t *testing.T, tests map[string]ConfigEqualTest)

func RunVerifyTests added in v0.5.1

func RunVerifyTests(t *testing.T, tests map[string]ConfigVerifyTest)

Types

type ConfigEqualTest added in v0.5.0

type ConfigEqualTest struct {
	Config   precompileconfig.Config
	Other    precompileconfig.Config
	Expected bool
}

ConfigEqualTest is a test case for comparing two configs

type ConfigVerifyTest added in v0.5.0

type ConfigVerifyTest struct {
	Config        precompileconfig.Config
	ExpectedError string
}

ConfigVerifyTest is a test case for verifying a config

type PrecompileRunparams added in v0.5.0

type PrecompileRunparams struct {
	AccessibleState contract.AccessibleState
	Caller          common.Address
	ContractAddress common.Address
	Input           []byte
	SuppliedGas     uint64
	ReadOnly        bool
}

type PrecompileTest

type PrecompileTest struct {
	// Caller is the address of the precompile caller
	Caller common.Address
	// Input the raw input bytes to the precompile
	Input []byte
	// InputFn is a function that returns the raw input bytes to the precompile
	// If specified, Input will be ignored.
	InputFn func(t testing.TB) []byte
	// SuppliedGas is the amount of gas supplied to the precompile
	SuppliedGas uint64
	// ReadOnly is whether the precompile should be called in read only
	// mode. If true, the precompile should not modify the state.
	ReadOnly bool
	// Config is the config to use for the precompile
	// It should be the same precompile config that is used in the
	// precompile's configurator.
	// If nil, Configure will not be called.
	Config precompileconfig.Config
	// BeforeHook is called before the precompile is called.
	BeforeHook func(t testing.TB, state contract.StateDB)
	// AfterHook is called after the precompile is called.
	AfterHook func(t testing.TB, state contract.StateDB)
	// ExpectedRes is the expected raw byte result returned by the precompile
	ExpectedRes []byte
	// ExpectedErr is the expected error returned by the precompile
	ExpectedErr string
	// BlockNumber is the block number to use for the precompile's block context
	BlockNumber int64
}

PrecompileTest is a test case for a precompile

func (PrecompileTest) Bench added in v0.5.0

func (test PrecompileTest) Bench(b *testing.B, module modules.Module, state contract.StateDB)

func (PrecompileTest) Run

func (test PrecompileTest) Run(t *testing.T, module modules.Module, state contract.StateDB)

Jump to

Keyboard shortcuts

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