test

package
v1.10.0-rc2 Latest Latest
Warning

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

Go to latest
Published: Jun 10, 2021 License: Apache-2.0, MIT Imports: 59 Imported by: 0

Documentation

Index

Constants

View Source
const GenesisPreseals = 2

Variables

View Source
var FullNodeWithLatestActorsAt = func(upgradeHeight abi.ChainEpoch) FullNodeOpts {
	if upgradeHeight == -1 {

		upgradeHeight = 4
	}

	return FullNodeOpts{
		Opts: func(nodes []TestNode) node.Option {
			return node.Override(new(stmgr.UpgradeSchedule), stmgr.UpgradeSchedule{{

				Network:   network.Version9,
				Height:    1,
				Migration: stmgr.UpgradeActorsV2,
			}, {
				Network:   network.Version10,
				Height:    2,
				Migration: stmgr.UpgradeActorsV3,
			}, {
				Network:   network.Version12,
				Height:    3,
				Migration: stmgr.UpgradeActorsV4,
			}, {
				Network:   network.Version13,
				Height:    upgradeHeight,
				Migration: stmgr.UpgradeActorsV5,
			}})
		},
	}
}
View Source
var FullNodeWithSDRAt = func(calico, persian abi.ChainEpoch) FullNodeOpts {
	return FullNodeOpts{
		Opts: func(nodes []TestNode) node.Option {
			return node.Override(new(stmgr.UpgradeSchedule), stmgr.UpgradeSchedule{{
				Network:   network.Version6,
				Height:    1,
				Migration: stmgr.UpgradeActorsV2,
			}, {
				Network:   network.Version7,
				Height:    calico,
				Migration: stmgr.UpgradeCalico,
			}, {
				Network: network.Version8,
				Height:  persian,
			}})
		},
	}
}
View Source
var FullNodeWithV4ActorsAt = func(upgradeHeight abi.ChainEpoch) FullNodeOpts {
	if upgradeHeight == -1 {
		upgradeHeight = 3
	}

	return FullNodeOpts{
		Opts: func(nodes []TestNode) node.Option {
			return node.Override(new(stmgr.UpgradeSchedule), stmgr.UpgradeSchedule{{

				Network:   network.Version9,
				Height:    1,
				Migration: stmgr.UpgradeActorsV2,
			}, {
				Network:   network.Version10,
				Height:    2,
				Migration: stmgr.UpgradeActorsV3,
			}, {
				Network:   network.Version12,
				Height:    upgradeHeight,
				Migration: stmgr.UpgradeActorsV4,
			}})
		},
	}
}
View Source
var MineNext = miner.MineReq{
	InjectNulls: 0,
	Done:        func(bool, abi.ChainEpoch, error) {},
}
View Source
var OneFull = DefaultFullOpts(1)
View Source
var OneMiner = []StorageMiner{{Full: 0, Preseal: PresealGenesis}}
View Source
var PresealGenesis = -1
View Source
var TwoFull = DefaultFullOpts(2)

Functions

func CreateClientFile added in v1.1.1

func CreateClientFile(ctx context.Context, client api.FullNode, rseed int) (*api.ImportRes, []byte, error)

func MakeDeal added in v1.1.1

func MakeDeal(t *testing.T, ctx context.Context, rseed int, client api.FullNode, miner TestStorageNode, carExport, fastRet bool, startEpoch abi.ChainEpoch)

func MineUntilBlock added in v0.5.5

func MineUntilBlock(ctx context.Context, t *testing.T, fn TestNode, sn TestStorageNode, cb func(abi.ChainEpoch))

func SendFunds added in v0.5.0

func SendFunds(ctx context.Context, t *testing.T, sender TestNode, addr address.Address, amount abi.TokenAmount)

func TestApis

func TestApis(t *testing.T, b APIBuilder)

TestApis is the entry point to API test suite

func TestBatchDealInput added in v1.9.0

func TestBatchDealInput(t *testing.T, b APIBuilder, blocktime time.Duration, startEpoch abi.ChainEpoch)

func TestCCUpgrade added in v0.5.0

func TestCCUpgrade(t *testing.T, b APIBuilder, blocktime time.Duration)

func TestDeadlineToggling added in v1.8.0

func TestDeadlineToggling(t *testing.T, b APIBuilder, blocktime time.Duration)

TestDeadlineToggling: * spins up a v3 network (miner A) * creates an inactive miner (miner B) * creates another miner, pledges a sector, waits for power (miner C)

* goes through v4 upgrade * goes through PP * creates minerD, minerE * makes sure that miner B/D are inactive, A/C still are * pledges sectors on miner B/D * precommits a sector on minerE * disables post on miner C * goes through PP 0.5PP * asserts that minerE is active * goes through rest of PP (1.5) * asserts that miner C loses power * asserts that miner B/D is active and has power * asserts that minerE is inactive * disables post on miner B * terminates sectors on miner D * goes through another PP * asserts that miner B loses power * asserts that miner D loses power, is inactive

func TestDealFlow

func TestDealFlow(t *testing.T, b APIBuilder, blocktime time.Duration, carExport, fastRet bool, startEpoch abi.ChainEpoch)

func TestDealMining added in v0.3.0

func TestDealMining(t *testing.T, b APIBuilder, blocktime time.Duration, carExport bool)

func TestDoubleDealFlow added in v0.3.0

func TestDoubleDealFlow(t *testing.T, b APIBuilder, blocktime time.Duration, startEpoch abi.ChainEpoch)

func TestFastRetrievalDealFlow added in v0.5.0

func TestFastRetrievalDealFlow(t *testing.T, b APIBuilder, blocktime time.Duration, startEpoch abi.ChainEpoch)

func TestPaymentChannels added in v0.5.0

func TestPaymentChannels(t *testing.T, b APIBuilder, blocktime time.Duration)

func TestPledgeBatching added in v1.10.0

func TestPledgeBatching(t *testing.T, b APIBuilder, blocktime time.Duration, nSectors int)

func TestPledgeBeforeNv13 added in v1.10.0

func TestPledgeBeforeNv13(t *testing.T, b APIBuilder, blocktime time.Duration, nSectors int)

func TestPledgeSector added in v0.3.1

func TestPledgeSector(t *testing.T, b APIBuilder, blocktime time.Duration, nSectors int)

func TestPublishDealsBatching added in v1.4.2

func TestPublishDealsBatching(t *testing.T, b APIBuilder, blocktime time.Duration, startEpoch abi.ChainEpoch)

func TestSDRUpgrade added in v1.2.0

func TestSDRUpgrade(t *testing.T, b APIBuilder, blocktime time.Duration)

func TestSecondDealRetrieval added in v1.2.2

func TestSecondDealRetrieval(t *testing.T, b APIBuilder, blocktime time.Duration)

func TestTapeFix added in v0.10.1

func TestTapeFix(t *testing.T, b APIBuilder, blocktime time.Duration)

func TestTerminate added in v1.4.1

func TestTerminate(t *testing.T, b APIBuilder, blocktime time.Duration)

func TestWindowPost added in v0.3.1

func TestWindowPost(t *testing.T, b APIBuilder, blocktime time.Duration, nSectors int)

func TestWindowPostBaseFeeBurn added in v1.10.0

func TestWindowPostBaseFeeBurn(t *testing.T, b APIBuilder, blocktime time.Duration)

func TestWindowPostBaseFeeNoBurn added in v1.10.0

func TestWindowPostBaseFeeNoBurn(t *testing.T, b APIBuilder, blocktime time.Duration)

func TestWindowPostDispute added in v1.4.2

func TestWindowPostDispute(t *testing.T, b APIBuilder, blocktime time.Duration)

func TestWindowPostDisputeFails added in v1.4.2

func TestWindowPostDisputeFails(t *testing.T, b APIBuilder, blocktime time.Duration)

func TestZeroPricePerByteRetrievalDealFlow added in v1.4.2

func TestZeroPricePerByteRetrievalDealFlow(t *testing.T, b APIBuilder, blocktime time.Duration, startEpoch abi.ChainEpoch)

Types

type APIBuilder

type APIBuilder func(t *testing.T, full []FullNodeOpts, storage []StorageMiner) ([]TestNode, []TestStorageNode)

APIBuilder is a function which is invoked in test suite to provide test nodes and networks

fullOpts array defines options for each full node storage array defines storage nodes, numbers in the array specify full node index the storage node 'belongs' to

type BlockMiner added in v0.5.0

type BlockMiner struct {
	// contains filtered or unexported fields
}

func NewBlockMiner added in v0.5.0

func NewBlockMiner(ctx context.Context, t *testing.T, miner TestStorageNode, blocktime time.Duration) *BlockMiner

func (*BlockMiner) MineBlocks added in v0.5.0

func (bm *BlockMiner) MineBlocks()

func (*BlockMiner) Stop added in v0.5.0

func (bm *BlockMiner) Stop()

type FullNodeOpts added in v0.9.1

type FullNodeOpts struct {
	Lite bool            // run node in "lite" mode
	Opts OptionGenerator // generate dependency injection options
}

Options for setting up a mock full node

func DefaultFullOpts added in v0.9.1

func DefaultFullOpts(nFull int) []FullNodeOpts

type OptionGenerator added in v0.9.1

type OptionGenerator func([]TestNode) node.Option

type StorageBuilder added in v1.8.0

type StorageBuilder func(context.Context, *testing.T, abi.RegisteredSealProof, address.Address) TestStorageNode

type StorageMiner added in v0.3.0

type StorageMiner struct {
	Full    int
	Opts    node.Option
	Preseal int
}

Options for setting up a mock storage miner

type TestNode

type TestNode struct {
	api.FullNode
	// ListenAddr is the address on which an API server is listening, if an
	// API server is created for this Node
	ListenAddr multiaddr.Multiaddr

	Stb StorageBuilder
}

type TestStorageNode

type TestStorageNode struct {
	api.StorageMiner
	// ListenAddr is the address on which an API server is listening, if an
	// API server is created for this Node
	ListenAddr multiaddr.Multiaddr

	MineOne func(context.Context, miner.MineReq) error
	Stop    func(context.Context) error
}

Jump to

Keyboard shortcuts

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