Documentation
¶
Index ¶
- func ActiveThreadCount(state *multithreaded.State) int
- func AddHintLengthPrefix(data []byte) []byte
- func AddPreimageLengthPrefix(data []byte) []byte
- func FindNextThread(state *multithreaded.State) *multithreaded.ThreadState
- func FindNextThreadExcluding(state *multithreaded.State, threadId arch.Word) *multithreaded.ThreadState
- func FindNextThreadFiltered(state *multithreaded.State, filter ThreadFilter) *multithreaded.ThreadState
- func FindThread(state *multithreaded.State, threadId arch.Word) *multithreaded.ThreadState
- func GetAllThreads(state *multithreaded.State) []*multithreaded.ThreadState
- func GetMtState(t require.TestingT, vm mipsevm.FPVM) *multithreaded.State
- func GetThreadStacks(state *multithreaded.State) (activeStack, inactiveStack []*multithreaded.ThreadState)
- func InitializeSingleThread(randSeed int, state *multithreaded.State, traverseRight bool, ...)
- func RandomState(seed int) *multithreaded.State
- func RandomThread(randSeed int64) *multithreaded.ThreadState
- func SetupThreads(randomSeed int64, state *multithreaded.State, traverseRight bool, ...)
- func ToMTState(t require.TestingT, state mipsevm.FPVMState) *multithreaded.State
- type ExpectedState
- func (e *ExpectedState) ActiveThread() *ExpectedThreadState
- func (e *ExpectedState) ActiveThreadId() arch.Word
- func (e *ExpectedState) ExpectActiveThreadId(expected arch.Word)
- func (e *ExpectedState) ExpectContextSwitch()
- func (e *ExpectedState) ExpectMemoryReservationCleared()
- func (e *ExpectedState) ExpectMemoryWrite(addr arch.Word, val arch.Word)
- func (e *ExpectedState) ExpectMemoryWriteUint32(t require.TestingT, addr arch.Word, val uint32)
- func (e *ExpectedState) ExpectNewThread() *ExpectedThreadState
- func (e *ExpectedState) ExpectNextThreadId(expected arch.Word)
- func (e *ExpectedState) ExpectNoContextSwitch()
- func (e *ExpectedState) ExpectPoppedThread()
- func (e *ExpectedState) ExpectPreemption()
- func (e *ExpectedState) ExpectStep()
- func (e *ExpectedState) ExpectTraverseRight(traverseRight bool)
- func (e *ExpectedState) ExpectedMemoryWrites() []arch.Word
- func (e *ExpectedState) PrestateActiveThread() *ExpectedThreadState
- func (e *ExpectedState) Thread(threadId arch.Word) *ExpectedThreadState
- func (e *ExpectedState) Validate(t require.TestingT, state mipsevm.FPVMState)
- type ExpectedThreadState
- type StateMutator
- func (m *StateMutator) Randomize(randSeed int64)
- func (m *StateMutator) SetExitCode(val uint8)
- func (m *StateMutator) SetExited(val bool)
- func (m *StateMutator) SetHI(val arch.Word)
- func (m *StateMutator) SetHeap(val arch.Word)
- func (m *StateMutator) SetLO(val arch.Word)
- func (m *StateMutator) SetLastHint(val hexutil.Bytes)
- func (m *StateMutator) SetNextPC(val arch.Word)
- func (m *StateMutator) SetPC(val arch.Word)
- func (m *StateMutator) SetPreimageKey(val common.Hash)
- func (m *StateMutator) SetPreimageOffset(val arch.Word)
- func (m *StateMutator) SetStep(val uint64)
- type StateOption
- func WithHI(hi arch.Word) StateOption
- func WithHeap(addr arch.Word) StateOption
- func WithLO(lo arch.Word) StateOption
- func WithLastHint(lastHint hexutil.Bytes) StateOption
- func WithNextPC(nextPC arch.Word) StateOption
- func WithPC(pc arch.Word) StateOption
- func WithPCAndNextPC(pc arch.Word) StateOption
- func WithPreimageKey(key common.Hash) StateOption
- func WithPreimageOffset(offset arch.Word) StateOption
- func WithRandomization(seed int64) StateOption
- func WithStep(step uint64) StateOption
- type ThreadFilter
- type ThreadIterator
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func ActiveThreadCount ¶ added in v1.13.6
func ActiveThreadCount(state *multithreaded.State) int
func AddHintLengthPrefix ¶ added in v1.13.5
func AddPreimageLengthPrefix ¶ added in v1.13.5
func FindNextThread ¶ added in v1.9.2
func FindNextThread(state *multithreaded.State) *multithreaded.ThreadState
FindNextThread Finds the next thread in line according to thread traversal logic
func FindNextThreadExcluding ¶ added in v1.9.2
func FindNextThreadExcluding(state *multithreaded.State, threadId arch.Word) *multithreaded.ThreadState
func FindNextThreadFiltered ¶ added in v1.9.2
func FindNextThreadFiltered(state *multithreaded.State, filter ThreadFilter) *multithreaded.ThreadState
func FindThread ¶ added in v1.9.2
func FindThread(state *multithreaded.State, threadId arch.Word) *multithreaded.ThreadState
func GetAllThreads ¶ added in v1.9.2
func GetAllThreads(state *multithreaded.State) []*multithreaded.ThreadState
func GetMtState ¶ added in v1.9.2
func GetThreadStacks ¶ added in v1.9.2
func GetThreadStacks(state *multithreaded.State) (activeStack, inactiveStack []*multithreaded.ThreadState)
func InitializeSingleThread ¶ added in v1.9.2
func InitializeSingleThread(randSeed int, state *multithreaded.State, traverseRight bool, opts ...StateOption)
func RandomState ¶ added in v1.9.2
func RandomState(seed int) *multithreaded.State
func RandomThread ¶ added in v1.9.2
func RandomThread(randSeed int64) *multithreaded.ThreadState
func SetupThreads ¶ added in v1.9.2
func SetupThreads(randomSeed int64, state *multithreaded.State, traverseRight bool, activeStackSize, otherStackSize int)
Types ¶
type ExpectedState ¶ added in v1.13.5
type ExpectedState struct {
PreimageKey common.Hash
PreimageOffset arch.Word
Heap arch.Word
LLReservationStatus multithreaded.LLReservationStatus
LLAddress arch.Word
LLOwnerThread arch.Word
ExitCode uint8
Exited bool
Step uint64
LastHint hexutil.Bytes
MemoryRoot common.Hash
// contains filtered or unexported fields
}
ExpectedState is a test utility that basically stores a copy of a state that can be explicitly mutated to define an expected post-state. The post-state is then validated with ExpectedState.Validate(t, postState)
func NewExpectedState ¶ added in v1.13.5
func NewExpectedState(t require.TestingT, state mipsevm.FPVMState) *ExpectedState
func (*ExpectedState) ActiveThread ¶ added in v1.13.5
func (e *ExpectedState) ActiveThread() *ExpectedThreadState
func (*ExpectedState) ActiveThreadId ¶ added in v1.13.5
func (e *ExpectedState) ActiveThreadId() arch.Word
func (*ExpectedState) ExpectActiveThreadId ¶ added in v1.13.6
func (e *ExpectedState) ExpectActiveThreadId(expected arch.Word)
func (*ExpectedState) ExpectContextSwitch ¶ added in v1.13.6
func (e *ExpectedState) ExpectContextSwitch()
func (*ExpectedState) ExpectMemoryReservationCleared ¶ added in v1.13.6
func (e *ExpectedState) ExpectMemoryReservationCleared()
func (*ExpectedState) ExpectMemoryWrite ¶ added in v1.13.6
func (e *ExpectedState) ExpectMemoryWrite(addr arch.Word, val arch.Word)
func (*ExpectedState) ExpectMemoryWriteUint32 ¶ added in v1.13.5
func (*ExpectedState) ExpectNewThread ¶ added in v1.13.5
func (e *ExpectedState) ExpectNewThread() *ExpectedThreadState
func (*ExpectedState) ExpectNextThreadId ¶ added in v1.13.6
func (e *ExpectedState) ExpectNextThreadId(expected arch.Word)
func (*ExpectedState) ExpectNoContextSwitch ¶ added in v1.13.6
func (e *ExpectedState) ExpectNoContextSwitch()
func (*ExpectedState) ExpectPoppedThread ¶ added in v1.13.6
func (e *ExpectedState) ExpectPoppedThread()
func (*ExpectedState) ExpectPreemption ¶ added in v1.13.5
func (e *ExpectedState) ExpectPreemption()
func (*ExpectedState) ExpectStep ¶ added in v1.13.5
func (e *ExpectedState) ExpectStep()
func (*ExpectedState) ExpectTraverseRight ¶ added in v1.13.6
func (e *ExpectedState) ExpectTraverseRight(traverseRight bool)
func (*ExpectedState) ExpectedMemoryWrites ¶ added in v1.13.6
func (e *ExpectedState) ExpectedMemoryWrites() []arch.Word
func (*ExpectedState) PrestateActiveThread ¶ added in v1.13.5
func (e *ExpectedState) PrestateActiveThread() *ExpectedThreadState
func (*ExpectedState) Thread ¶ added in v1.13.5
func (e *ExpectedState) Thread(threadId arch.Word) *ExpectedThreadState
type ExpectedThreadState ¶ added in v1.9.2
type StateMutator ¶ added in v1.13.5
type StateMutator struct {
// contains filtered or unexported fields
}
func NewStateMutator ¶ added in v1.13.5
func NewStateMutator(state *multithreaded.State) *StateMutator
func (*StateMutator) Randomize ¶ added in v1.13.5
func (m *StateMutator) Randomize(randSeed int64)
func (*StateMutator) SetExitCode ¶ added in v1.13.5
func (m *StateMutator) SetExitCode(val uint8)
func (*StateMutator) SetExited ¶ added in v1.13.5
func (m *StateMutator) SetExited(val bool)
func (*StateMutator) SetHI ¶ added in v1.13.5
func (m *StateMutator) SetHI(val arch.Word)
func (*StateMutator) SetHeap ¶ added in v1.13.5
func (m *StateMutator) SetHeap(val arch.Word)
func (*StateMutator) SetLO ¶ added in v1.13.5
func (m *StateMutator) SetLO(val arch.Word)
func (*StateMutator) SetLastHint ¶ added in v1.13.5
func (m *StateMutator) SetLastHint(val hexutil.Bytes)
func (*StateMutator) SetNextPC ¶ added in v1.13.5
func (m *StateMutator) SetNextPC(val arch.Word)
func (*StateMutator) SetPC ¶ added in v1.13.5
func (m *StateMutator) SetPC(val arch.Word)
func (*StateMutator) SetPreimageKey ¶ added in v1.13.5
func (m *StateMutator) SetPreimageKey(val common.Hash)
func (*StateMutator) SetPreimageOffset ¶ added in v1.13.5
func (m *StateMutator) SetPreimageOffset(val arch.Word)
func (*StateMutator) SetStep ¶ added in v1.13.5
func (m *StateMutator) SetStep(val uint64)
type StateOption ¶ added in v1.13.5
type StateOption func(state *StateMutator)
func WithHI ¶ added in v1.13.5
func WithHI(hi arch.Word) StateOption
func WithHeap ¶ added in v1.13.5
func WithHeap(addr arch.Word) StateOption
func WithLO ¶ added in v1.13.5
func WithLO(lo arch.Word) StateOption
func WithLastHint ¶ added in v1.13.5
func WithLastHint(lastHint hexutil.Bytes) StateOption
func WithNextPC ¶ added in v1.13.5
func WithNextPC(nextPC arch.Word) StateOption
func WithPC ¶ added in v1.13.5
func WithPC(pc arch.Word) StateOption
func WithPCAndNextPC ¶ added in v1.13.5
func WithPCAndNextPC(pc arch.Word) StateOption
func WithPreimageKey ¶ added in v1.13.5
func WithPreimageKey(key common.Hash) StateOption
func WithPreimageOffset ¶ added in v1.13.5
func WithPreimageOffset(offset arch.Word) StateOption
func WithRandomization ¶ added in v1.13.5
func WithRandomization(seed int64) StateOption
func WithStep ¶ added in v1.13.5
func WithStep(step uint64) StateOption
type ThreadFilter ¶ added in v1.9.2
type ThreadFilter func(thread *multithreaded.ThreadState) bool
type ThreadIterator ¶ added in v1.9.2
type ThreadIterator struct {
// contains filtered or unexported fields
}
func NewThreadIterator ¶ added in v1.9.2
func NewThreadIterator(state *multithreaded.State) ThreadIterator
func (*ThreadIterator) Next ¶ added in v1.9.2
func (i *ThreadIterator) Next() *multithreaded.ThreadState
Click to show internal directories.
Click to hide internal directories.