Documentation ¶
Index ¶
- Constants
- func AutoSealInterval(autoSealInterval string) func(*TestDaemon)
- func CmdTimeout(t time.Duration) func(*TestDaemon)
- func ContainerDir(dir string) func(*TestDaemon)
- func DefaultAddress(defaultAddr address.Address) func(*TestDaemon)
- func GenesisFile(a string) func(*TestDaemon)
- func GenesisFilePath() string
- func GetFilecoinBinary() (string, error)
- func GetFreePort() (int, error)
- func InitArgs(a ...string) func(*TestDaemon)
- func IsRelay(td *TestDaemon)
- func KeyFile(kf string) func(*TestDaemon)
- func MustGetFilecoinBinary() string
- func NewFakeHost() host.Host
- func RandPeerID() (peer.ID, error)
- func RequireIntPeerID(t *testing.T, i int64) peer.ID
- func RequireMakeStateTree(t *testing.T, cst cbor.IpldStore, acts map[address.Address]*types.Actor) (cid.Cid, *tree.State)
- func RequireRandomPeerID(t *testing.T) peer.ID
- func RequireSignedTestBlockFromTipSet(t *testing.T, baseTipSet types.TipSet, stateRootCid cid.Cid, ...) *types.BlockHeader
- func RequireTipset(t *testing.T) *types.TipSet
- func RequireTipsetWithHeight(t *testing.T, height abi.ChainEpoch) *types.TipSet
- func RunInit(td *TestDaemon, opts ...string) ([]byte, error)
- func RunSuccessFirstLine(td *TestDaemon, args ...string) string
- func RunSuccessLines(td *TestDaemon, args ...string) []string
- func ShouldInit(i bool) func(*TestDaemon)
- func WaitForIt(count int, delay time.Duration, cb func() (bool, error)) error
- func WaitTimeout(wg *sync.WaitGroup, timeout time.Duration) bool
- type CmdOutput
- func (o *CmdOutput) AssertFail(err string) *CmdOutput
- func (o *CmdOutput) AssertSuccess() *CmdOutput
- func (o *CmdOutput) ReadStderr() string
- func (o *CmdOutput) ReadStdout() string
- func (o *CmdOutput) ReadStdoutTrimNewlines() string
- func (o *CmdOutput) SetInvocationError(executionErr error)
- func (o *CmdOutput) SetStatus(status int)
- func (o *CmdOutput) Status() (int, error)
- func (o *CmdOutput) Stderr() []byte
- func (o *CmdOutput) Stdout() []byte
- type FakeBlockValidator
- func (fbv *FakeBlockValidator) ValidateHeaderSemantic(ctx context.Context, child *types.BlockHeader, parents types.TipSet) error
- func (fbv *FakeBlockValidator) ValidateMessagesSyntax(ctx context.Context, messages []*types.SignedMessage) error
- func (fbv *FakeBlockValidator) ValidateReceiptsSyntax(ctx context.Context, receipts []types.MessageReceipt) error
- func (fbv *FakeBlockValidator) ValidateSyntax(ctx context.Context, blk *types.BlockHeader) error
- func (fbv *FakeBlockValidator) ValidateUnsignedMessagesSyntax(ctx context.Context, messages []*types.UnsignedMessage) error
- type FakeCMgr
- func (f FakeCMgr) Close() error
- func (f FakeCMgr) GetTagInfo(p peer.ID) *connmgr.TagInfo
- func (f FakeCMgr) IsProtected(id peer.ID, tag string) (protected bool)
- func (f FakeCMgr) Notifee() inet.Notifiee
- func (f FakeCMgr) Protect(id peer.ID, tag string)
- func (f FakeCMgr) TagPeer(id peer.ID, s string, i int)
- func (f FakeCMgr) TrimOpenConns(ctx context.Context)
- func (f FakeCMgr) Unprotect(id peer.ID, tag string) (protected bool)
- func (f FakeCMgr) UntagPeer(p peer.ID, tag string)
- func (f FakeCMgr) UpsertTag(p peer.ID, tag string, upsert func(int) int)
- type FakeDialer
- func (fd *FakeDialer) ClosePeer(peer.ID) error
- func (fd *FakeDialer) Connectedness(peer.ID) inet.Connectedness
- func (fd *FakeDialer) Conns() []inet.Conn
- func (fd *FakeDialer) ConnsToPeer(peer.ID) []inet.Conn
- func (fd *FakeDialer) DialPeer(context.Context, peer.ID) (inet.Conn, error)
- func (fd *FakeDialer) LocalPeer() peer.ID
- func (fd *FakeDialer) Notify(inet.Notifiee)
- func (fd *FakeDialer) Peers() []peer.ID
- func (fd *FakeDialer) Peerstore() peerstore.Peerstore
- func (fd *FakeDialer) StopNotify(inet.Notifiee)
- type FakeHost
- func (fh *FakeHost) Addrs() []ma.Multiaddr
- func (fh *FakeHost) Close() error
- func (fh *FakeHost) ConnManager() connmgr.ConnManager
- func (fh *FakeHost) Connect(ctx context.Context, pi peer.AddrInfo) error
- func (fh *FakeHost) EventBus() event.Bus
- func (fh *FakeHost) ID() peer.ID
- func (fh *FakeHost) Mux() protocol.Switch
- func (fh *FakeHost) Network() inet.Network
- func (fh *FakeHost) NewStream(context.Context, peer.ID, ...protocol.ID) (inet.Stream, error)
- func (fh *FakeHost) Peerstore() peerstore.Peerstore
- func (fh *FakeHost) RemoveStreamHandler(protocol.ID)
- func (fh *FakeHost) SetStreamHandler(protocol.ID, inet.StreamHandler)
- func (fh *FakeHost) SetStreamHandlerMatch(protocol.ID, func(string) bool, inet.StreamHandler)
- type MockMessagePoolValidator
- type StubBlockValidator
- type TestDaemon
- func (td *TestDaemon) CmdAddr() (ma.Multiaddr, error)
- func (td *TestDaemon) CmdToken() (string, error)
- func (td *TestDaemon) Config() *config.Config
- func (td *TestDaemon) ConnectSuccess(remote *TestDaemon) *CmdOutput
- func (td *TestDaemon) CreateAddress() string
- func (td *TestDaemon) CreateStorageMinerAddr(peer *TestDaemon, fromAddr address.Address) address.Address
- func (td *TestDaemon) GetAddresses() []string
- func (td *TestDaemon) GetChainHead() []types.BlockHeader
- func (td *TestDaemon) GetDefaultAddress() string
- func (td *TestDaemon) GetID() string
- func (td *TestDaemon) GetMinerAddress() address.Address
- func (td *TestDaemon) MakeMoney(rewards int, peers ...*TestDaemon)
- func (td *TestDaemon) MineAndPropagate(wait time.Duration, peers ...*TestDaemon)
- func (td *TestDaemon) MinerSetPrice(minerAddr address.Address, fromAddr address.Address, price string, ...) cid.Cid
- func (td *TestDaemon) MustHaveChainHeadBy(wait time.Duration, peers []*TestDaemon)
- func (td *TestDaemon) MustUnmarshalChain(input string) [][]types.BlockHeader
- func (td *TestDaemon) ReadStderr() string
- func (td *TestDaemon) ReadStdout() string
- func (td *TestDaemon) RepoDir() string
- func (td *TestDaemon) Restart() *TestDaemon
- func (td *TestDaemon) Run(args ...string) *CmdOutput
- func (td *TestDaemon) RunFail(err string, args ...string) *CmdOutput
- func (td *TestDaemon) RunSuccess(args ...string) *CmdOutput
- func (td *TestDaemon) RunWithStdin(stdin io.Reader, args ...string) *CmdOutput
- func (td *TestDaemon) Shutdown()
- func (td *TestDaemon) ShutdownEasy()
- func (td *TestDaemon) ShutdownSuccess()
- func (td *TestDaemon) Start() *TestDaemon
- func (td *TestDaemon) Stop() *TestDaemon
- func (td *TestDaemon) UpdatePeerID()
- func (td *TestDaemon) WaitForAPI() error
- func (td *TestDaemon) WaitForMessageRequireSuccess(msgCid cid.Cid) *types.MessageReceipt
- type TestExchange
- func (f *TestExchange) AddPeer(peer peer.ID)
- func (f *TestExchange) AddSourceBlocks(blocks ...*types.BlockHeader)
- func (f *TestExchange) GetBlocks(ctx context.Context, tsk types.TipSetKey, count int) ([]*types.TipSet, error)
- func (f *TestExchange) GetChainMessages(ctx context.Context, tipsets []*types.TipSet) ([]*exchange.CompactedMessages, error)
- func (f *TestExchange) GetFullTipSet(ctx context.Context, peer []peer.ID, tsk types.TipSetKey) (*types.FullTipSet, error)
- func (f *TestExchange) RemovePeer(peer peer.ID)
- type TestFetcher
- func (f *TestFetcher) AddSourceBlocks(blocks ...*types.BlockHeader)
- func (f *TestFetcher) FetchTipSetHeaders(ctx context.Context, tsKey types.TipSetKey, from peer.ID, ...) ([]*types.TipSet, error)
- func (f *TestFetcher) FetchTipSets(ctx context.Context, tsKey types.TipSetKey, from peer.ID, ...) ([]*types.TipSet, error)
- func (f *TestFetcher) GetBlocks(ctx context.Context, cids []cid.Cid) ([]*types.BlockHeader, error)
Constants ¶
const ( // DefaultDaemonCmdTimeout is the default timeout for executing commands. DefaultDaemonCmdTimeout = 1 * time.Minute )
Variables ¶
This section is empty.
Functions ¶
func AutoSealInterval ¶
func AutoSealInterval(autoSealInterval string) func(*TestDaemon)
AutoSealInterval specifies an interval for automatically sealing
func CmdTimeout ¶
func CmdTimeout(t time.Duration) func(*TestDaemon)
CmdTimeout allows setting the `cmdTimeout` config option on the daemon.
func ContainerDir ¶
func ContainerDir(dir string) func(*TestDaemon)
ContainerDir sets the `containerDir` path for the daemon.
func DefaultAddress ¶
func DefaultAddress(defaultAddr address.Address) func(*TestDaemon)
DefaultAddress specifies a key file for this daemon to add to their wallet during init
func GenesisFile ¶
func GenesisFile(a string) func(*TestDaemon)
GenesisFile allows setting the `genesisFile` config option on the daemon.
func GenesisFilePath ¶
func GenesisFilePath() string
GenesisFilePath returns the path to the test genesis
func GetFilecoinBinary ¶
GetFilecoinBinary returns the path where the filecoin binary will be if it has been built
func GetFreePort ¶
GetFreePort gets a free port from the kernel Credit: https://github.com/phayes/freeport
func InitArgs ¶
func InitArgs(a ...string) func(*TestDaemon)
InitArgs allows setting additional arguments to repo initialization
func KeyFile ¶
func KeyFile(kf string) func(*TestDaemon)
KeyFile specifies a key file for this daemon to add to their wallet during init
func MustGetFilecoinBinary ¶
func MustGetFilecoinBinary() string
MustGetFilecoinBinary returns the path where the filecoin binary will be if it has been built and panics otherwise.
func NewFakeHost ¶
NewFakeHost constructs a FakeHost with no other parameters needed
func RandPeerID ¶
RandPeerID is a libp2p random peer ID generator. These peer.ID generators were copied from libp2p/go-testutil. We didn't bring in the whole repo as a dependency because we only need this small bit. However if we find ourselves using more and more pieces we should just take a dependency on it.
func RequireIntPeerID ¶
RequireIntPeerID takes in an integer and creates a unique peer id for it.
func RequireMakeStateTree ¶
func RequireMakeStateTree(t *testing.T, cst cbor.IpldStore, acts map[address.Address]*types.Actor) (cid.Cid, *tree.State)
RequireMakeStateTree takes a map of addresses to actors and stores them on the state tree, requiring that all its steps succeed.
func RequireRandomPeerID ¶
RequireRandomPeerID returns a new libp2p peer ID or panics.
func RequireSignedTestBlockFromTipSet ¶
func RequireSignedTestBlockFromTipSet(t *testing.T, baseTipSet types.TipSet, stateRootCid cid.Cid, receiptRootCid cid.Cid, height abi.ChainEpoch, minerAddr address.Address, minerWorker address.Address, signer types.Signer) *types.BlockHeader
RequireSignedTestBlockFromTipSet creates a block with a valid signature by the passed in miner work and a Miner field set to the minerAddr.
func RequireTipset ¶
RequireTipset is a helper that constructs a tipset
func RequireTipsetWithHeight ¶
func RunInit ¶
func RunInit(td *TestDaemon, opts ...string) ([]byte, error)
RunInit is the equivalent of executing `venus init`.
func RunSuccessFirstLine ¶
func RunSuccessFirstLine(td *TestDaemon, args ...string) string
RunSuccessFirstLine executes the given command, asserts success and returns the first line of stdout.
func RunSuccessLines ¶
func RunSuccessLines(td *TestDaemon, args ...string) []string
RunSuccessLines executes the given command, asserts success and returns an array of lines of the stdout.
func ShouldInit ¶
func ShouldInit(i bool) func(*TestDaemon)
ShouldInit allows setting the `init` config option on the daemon. If set, `venus init` is run before starting up the daemon.
Types ¶
type CmdOutput ¶
type CmdOutput struct { // Args is the command and argument sequence executed. Args []string // contains filtered or unexported fields }
CmdOutput collects the output from a CLI command issued to a process.
func ReadOutput ¶
ReadOutput reads the `stdout` and `stderr` streams completely and returns a new Output object.
func (*CmdOutput) AssertFail ¶
AssertFail asserts that the output represents a failed execution, with the error matching the passed in error.
func (*CmdOutput) AssertSuccess ¶
AssertSuccess asserts that the output represents a successful execution.
func (*CmdOutput) ReadStderr ¶
ReadStderr returns a string representation of the stderr output.
func (*CmdOutput) ReadStdout ¶
ReadStdout returns a string representation of the stdout output.
func (*CmdOutput) ReadStdoutTrimNewlines ¶
ReadStdoutTrimNewlines returns a string representation of stdout, with trailing line breaks removed.
func (*CmdOutput) SetInvocationError ¶
SetInvocationError sets the error for an unsuccessful invocation. May not be called if a status code has been set (probably indicating a usage error).
func (*CmdOutput) SetStatus ¶
SetStatus sets the status code for a successful invocation. May not be called if a status code has been set (probably indicating a usage error).
func (*CmdOutput) Status ¶
Status returns the status code and any error value from execution. The status code and any output streams are valid only if error is nil.
type FakeBlockValidator ¶
type FakeBlockValidator struct{}
FakeBlockValidator passes everything as valid
func NewFakeBlockValidator ¶
func NewFakeBlockValidator() *FakeBlockValidator
NewFakeBlockValidator createas a FakeBlockValidator that passes everything as valid.
func (*FakeBlockValidator) ValidateHeaderSemantic ¶
func (fbv *FakeBlockValidator) ValidateHeaderSemantic(ctx context.Context, child *types.BlockHeader, parents types.TipSet) error
ValidateHeaderSemantic does nothing.
func (*FakeBlockValidator) ValidateMessagesSyntax ¶
func (fbv *FakeBlockValidator) ValidateMessagesSyntax(ctx context.Context, messages []*types.SignedMessage) error
ValidateMessagesSyntax does nothing
func (*FakeBlockValidator) ValidateReceiptsSyntax ¶
func (fbv *FakeBlockValidator) ValidateReceiptsSyntax(ctx context.Context, receipts []types.MessageReceipt) error
ValidateReceiptsSyntax does nothing
func (*FakeBlockValidator) ValidateSyntax ¶
func (fbv *FakeBlockValidator) ValidateSyntax(ctx context.Context, blk *types.BlockHeader) error
ValidateSyntax does nothing.
func (*FakeBlockValidator) ValidateUnsignedMessagesSyntax ¶
func (fbv *FakeBlockValidator) ValidateUnsignedMessagesSyntax(ctx context.Context, messages []*types.UnsignedMessage) error
ValidateUnsignedMessagesSyntax does nothing
type FakeCMgr ¶
type FakeCMgr struct { }
func (FakeCMgr) IsProtected ¶
func (FakeCMgr) TrimOpenConns ¶
type FakeDialer ¶
FakeDialer is a test inet.Dialer
func (*FakeDialer) Connectedness ¶
func (fd *FakeDialer) Connectedness(peer.ID) inet.Connectedness
func (*FakeDialer) Conns ¶
func (fd *FakeDialer) Conns() []inet.Conn
func (*FakeDialer) ConnsToPeer ¶
func (fd *FakeDialer) ConnsToPeer(peer.ID) []inet.Conn
func (*FakeDialer) LocalPeer ¶
func (fd *FakeDialer) LocalPeer() peer.ID
func (*FakeDialer) Notify ¶
func (fd *FakeDialer) Notify(inet.Notifiee)
func (*FakeDialer) Peers ¶
func (fd *FakeDialer) Peers() []peer.ID
Peers returns a fake inet.Dialer PeersImpl
func (*FakeDialer) Peerstore ¶
func (fd *FakeDialer) Peerstore() peerstore.Peerstore
func (*FakeDialer) StopNotify ¶
func (fd *FakeDialer) StopNotify(inet.Notifiee)
type FakeHost ¶
FakeHost is a test host.Host
func (*FakeHost) ConnManager ¶
func (fh *FakeHost) ConnManager() connmgr.ConnManager
func (*FakeHost) NewStream ¶
NewStream is required for the host.Host interface; returns a new FakeStream.
func (*FakeHost) RemoveStreamHandler ¶
func (*FakeHost) SetStreamHandler ¶
func (fh *FakeHost) SetStreamHandler(protocol.ID, inet.StreamHandler)
func (*FakeHost) SetStreamHandlerMatch ¶
type MockMessagePoolValidator ¶
type MockMessagePoolValidator struct {
Valid bool
}
MockMessagePoolValidator is a mock validator
func NewMockMessagePoolValidator ¶
func NewMockMessagePoolValidator() *MockMessagePoolValidator
NewMockMessagePoolValidator creates a MockMessagePoolValidator
func (*MockMessagePoolValidator) ValidateSignedMessageSyntax ¶
func (v *MockMessagePoolValidator) ValidateSignedMessageSyntax(ctx context.Context, msg *types.SignedMessage) error
Validate returns true if the mock validator is set to validate the message
type StubBlockValidator ¶
type StubBlockValidator struct {
// contains filtered or unexported fields
}
StubBlockValidator is a mockable block validator.
func NewStubBlockValidator ¶
func NewStubBlockValidator() *StubBlockValidator
NewStubBlockValidator creates a StubBlockValidator that allows errors to configured for blocks passed to the Validate* methods.
func (*StubBlockValidator) StubSyntaxValidationForBlock ¶
func (mbv *StubBlockValidator) StubSyntaxValidationForBlock(blk *types.BlockHeader, err error)
StubSyntaxValidationForBlock stubs an error when the ValidateSyntax is called on the with the given block.
func (*StubBlockValidator) ValidateBlockMsg ¶ added in v0.9.1
func (mbv *StubBlockValidator) ValidateBlockMsg(ctx context.Context, blk *types.BlockMsg) pubsub.ValidationResult
ValidateSyntax return nil or error for stubbed block `blk`.
type TestDaemon ¶
type TestDaemon struct { Stdin io.Writer Stdout io.Reader Stderr io.Reader // contains filtered or unexported fields }
TestDaemon is used to manage a Filecoin daemon instance for testing purposes.
func NewDaemon ¶
func NewDaemon(t *testing.T, options ...func(*TestDaemon)) *TestDaemon
NewDaemon creates a new `TestDaemon`, using the passed in configuration options.
func (*TestDaemon) CmdAddr ¶
func (td *TestDaemon) CmdAddr() (ma.Multiaddr, error)
CmdAddr returns the command address of the test daemon (if it is running).
func (*TestDaemon) CmdToken ¶ added in v0.9.7
func (td *TestDaemon) CmdToken() (string, error)
CmdToken returns the command token of the test daemon (if it is running).
func (*TestDaemon) Config ¶
func (td *TestDaemon) Config() *config.Config
Config is a helper to read out the config of the daemon.
func (*TestDaemon) ConnectSuccess ¶
func (td *TestDaemon) ConnectSuccess(remote *TestDaemon) *CmdOutput
ConnectSuccess connects the daemon to another daemon, asserting that the operation was successful.
func (*TestDaemon) CreateAddress ¶
func (td *TestDaemon) CreateAddress() string
CreateAddress adds a new address to the daemons wallet and returns it. equivalent to:
`venus address new`
func (*TestDaemon) CreateStorageMinerAddr ¶
func (td *TestDaemon) CreateStorageMinerAddr(peer *TestDaemon, fromAddr address.Address) address.Address
CreateStorageMinerAddr issues a new message to the network, mines the message and returns the address of the new miner equivalent to:
`venus miner create --from $TEST_ACCOUNT 20`
func (*TestDaemon) GetAddresses ¶
func (td *TestDaemon) GetAddresses() []string
GetAddresses returns all of the addresses of the daemon.
func (*TestDaemon) GetChainHead ¶
func (td *TestDaemon) GetChainHead() []types.BlockHeader
GetChainHead returns the blocks in the head tipset from `td`
func (*TestDaemon) GetDefaultAddress ¶
func (td *TestDaemon) GetDefaultAddress() string
GetDefaultAddress returns the default sender address for this daemon.
func (*TestDaemon) GetMinerAddress ¶
func (td *TestDaemon) GetMinerAddress() address.Address
GetMinerAddress returns the miner address for this daemon.
func (*TestDaemon) MakeMoney ¶
func (td *TestDaemon) MakeMoney(rewards int, peers ...*TestDaemon)
MakeMoney mines a block and ensures that the block has been propagated to all peers.
func (*TestDaemon) MineAndPropagate ¶
func (td *TestDaemon) MineAndPropagate(wait time.Duration, peers ...*TestDaemon)
MineAndPropagate mines a block and ensure the block has propagated to all `peers` by comparing the current head block of `td` with the head block of each peer in `peers`
func (*TestDaemon) MinerSetPrice ¶
func (td *TestDaemon) MinerSetPrice(minerAddr address.Address, fromAddr address.Address, price string, expiry string) cid.Cid
MinerSetPrice creates an ask for a CURRENTLY MINING test daemon and waits for it to appears on chain. It returns the cid of the AddAsk message so other daemons can `message wait` for it.
func (*TestDaemon) MustHaveChainHeadBy ¶
func (td *TestDaemon) MustHaveChainHeadBy(wait time.Duration, peers []*TestDaemon)
MustHaveChainHeadBy ensures all `peers` have the same chain head as `td`, by duration `wait`
func (*TestDaemon) MustUnmarshalChain ¶
func (td *TestDaemon) MustUnmarshalChain(input string) [][]types.BlockHeader
MustUnmarshalChain unmarshals the chain from `input` into a slice of blocks
func (*TestDaemon) ReadStderr ¶
func (td *TestDaemon) ReadStderr() string
ReadStderr returns a string representation of the stderr of the daemon.
func (*TestDaemon) ReadStdout ¶
func (td *TestDaemon) ReadStdout() string
ReadStdout returns a string representation of the stdout of the daemon.
func (*TestDaemon) RepoDir ¶
func (td *TestDaemon) RepoDir() string
RepoDir returns the repo directory of the test daemon.
func (*TestDaemon) Restart ¶
func (td *TestDaemon) Restart() *TestDaemon
Restart restarts the daemon
func (*TestDaemon) Run ¶
func (td *TestDaemon) Run(args ...string) *CmdOutput
Run executes the given command against the test daemon.
func (*TestDaemon) RunFail ¶
func (td *TestDaemon) RunFail(err string, args ...string) *CmdOutput
RunFail is like Run, but asserts that the command exited with an error matching the passed in error.
func (*TestDaemon) RunSuccess ¶
func (td *TestDaemon) RunSuccess(args ...string) *CmdOutput
RunSuccess is like Run, but asserts that the command exited successfully.
func (*TestDaemon) RunWithStdin ¶
func (td *TestDaemon) RunWithStdin(stdin io.Reader, args ...string) *CmdOutput
RunWithStdin executes the given command against the test daemon, allowing to control stdin of the process.
func (*TestDaemon) Shutdown ¶
func (td *TestDaemon) Shutdown()
Shutdown stops the daemon and deletes the repository.
func (*TestDaemon) ShutdownEasy ¶
func (td *TestDaemon) ShutdownEasy()
ShutdownEasy stops the daemon using `SIGINT`.
func (*TestDaemon) ShutdownSuccess ¶
func (td *TestDaemon) ShutdownSuccess()
ShutdownSuccess stops the daemon, asserting that it exited successfully.
func (*TestDaemon) UpdatePeerID ¶
func (td *TestDaemon) UpdatePeerID()
UpdatePeerID updates a currently mining miner's peer ID
func (*TestDaemon) WaitForAPI ¶
func (td *TestDaemon) WaitForAPI() error
WaitForAPI polls if the API on the daemon is available, and blocks until it is.
func (*TestDaemon) WaitForMessageRequireSuccess ¶
func (td *TestDaemon) WaitForMessageRequireSuccess(msgCid cid.Cid) *types.MessageReceipt
WaitForMessageRequireSuccess accepts a message cid and blocks until a message with matching cid is included in a block. The receipt is then inspected to ensure that the corresponding message receipt had a 0 exit code.
type TestExchange ¶
type TestExchange struct {
// contains filtered or unexported fields
}
func NewTestExchange ¶
func NewTestExchange() *TestExchange
func (*TestExchange) AddPeer ¶
func (f *TestExchange) AddPeer(peer peer.ID)
func (*TestExchange) AddSourceBlocks ¶
func (f *TestExchange) AddSourceBlocks(blocks ...*types.BlockHeader)
AddSourceBlocks adds the input blocks to the fetcher source.
func (*TestExchange) GetChainMessages ¶
func (f *TestExchange) GetChainMessages(ctx context.Context, tipsets []*types.TipSet) ([]*exchange.CompactedMessages, error)
func (*TestExchange) GetFullTipSet ¶
func (f *TestExchange) GetFullTipSet(ctx context.Context, peer []peer.ID, tsk types.TipSetKey) (*types.FullTipSet, error)
func (*TestExchange) RemovePeer ¶
func (f *TestExchange) RemovePeer(peer peer.ID)
type TestFetcher ¶
type TestFetcher struct {
// contains filtered or unexported fields
}
TestFetcher is an object with the same method set as Fetcher plus a method for adding blocks to the source. It is used to implement an object that behaves like Fetcher but does not go to the network for use in tests.
func NewTestFetcher ¶
func NewTestFetcher() *TestFetcher
NewTestFetcher returns a TestFetcher with no source blocks.
func (*TestFetcher) AddSourceBlocks ¶
func (f *TestFetcher) AddSourceBlocks(blocks ...*types.BlockHeader)
AddSourceBlocks adds the input blocks to the fetcher source.
func (*TestFetcher) FetchTipSetHeaders ¶
func (f *TestFetcher) FetchTipSetHeaders(ctx context.Context, tsKey types.TipSetKey, from peer.ID, done func(t *types.TipSet) (bool, error)) ([]*types.TipSet, error)
FetchTipSetHeaders fetches the tipset at `tsKey` but not messages
func (*TestFetcher) FetchTipSets ¶
func (f *TestFetcher) FetchTipSets(ctx context.Context, tsKey types.TipSetKey, from peer.ID, done func(t *types.TipSet) (bool, error)) ([]*types.TipSet, error)
FetchTipSets fetchs the tipset at `tsKey` from the network using the fetchers `sourceBlocks`.
func (*TestFetcher) GetBlocks ¶
func (f *TestFetcher) GetBlocks(ctx context.Context, cids []cid.Cid) ([]*types.BlockHeader, error)
GetBlocks returns any blocks in the source with matching cids.