46 lines
1.3 KiB
Go
46 lines
1.3 KiB
Go
package build_test
|
|
|
|
import (
|
|
"testing"
|
|
|
|
"github.com/stretchr/testify/require"
|
|
|
|
actorstypes "github.com/filecoin-project/go-state-types/actors"
|
|
"github.com/filecoin-project/go-state-types/manifest"
|
|
|
|
"github.com/filecoin-project/lotus/build"
|
|
"github.com/filecoin-project/lotus/chain/actors"
|
|
)
|
|
|
|
// Test that the embedded metadata is correct.
|
|
func TestEmbeddedMetadata(t *testing.T) {
|
|
metadata, err := build.ReadEmbeddedBuiltinActorsMetadata()
|
|
require.NoError(t, err)
|
|
|
|
for i, v1 := range metadata {
|
|
v2 := build.EmbeddedBuiltinActorsMetadata[i]
|
|
require.Equal(t, v1.Network, v2.Network)
|
|
require.Equal(t, v1.Version, v2.Version)
|
|
require.Equal(t, v1.ManifestCid, v2.ManifestCid)
|
|
require.Equal(t, v1.Actors, v2.Actors)
|
|
}
|
|
}
|
|
|
|
// Test that we're registering the manifest correctly.
|
|
func TestRegistration(t *testing.T) {
|
|
for _, av := range []actorstypes.Version{actorstypes.Version8, actorstypes.Version9} {
|
|
manifestCid, found := actors.GetManifest(av)
|
|
require.True(t, found)
|
|
require.True(t, manifestCid.Defined())
|
|
|
|
for _, key := range manifest.GetBuiltinActorsKeys(av) {
|
|
actorCid, found := actors.GetActorCodeID(av, key)
|
|
require.True(t, found)
|
|
name, version, found := actors.GetActorMetaByCode(actorCid)
|
|
require.True(t, found)
|
|
require.Equal(t, av, version)
|
|
require.Equal(t, key, name)
|
|
}
|
|
}
|
|
}
|