mirror of
https://github.com/luxfi/utxo.git
synced 2026-07-27 03:39:23 +00:00
refactor(fx): TestVM.Clk pointer + nil-safe Logger guard
- secp256k1fx.TestVM.Clk: change from value to pointer so test cases
can share a single clock without copy. Clock() returns vm.Clk
directly (nil if unset; tests that exercise time set it).
- secp256k1fx.Fx.Initialize: guard against nil Logger before IsZero()
check. Previously panicked when VM had no logger; now noops cleanly.
- nftfx, propertyfx, secp256k1fx tests + benches: construct TestVM
with explicit &mockable.Clock{}.
This commit is contained in:
+33
-16
@@ -13,6 +13,7 @@ import (
|
||||
"github.com/luxfi/crypto/secp256k1"
|
||||
"github.com/luxfi/ids"
|
||||
log "github.com/luxfi/log"
|
||||
"github.com/luxfi/timer/mockable"
|
||||
"github.com/luxfi/utxo/secp256k1fx"
|
||||
)
|
||||
|
||||
@@ -38,7 +39,8 @@ var (
|
||||
|
||||
func TestFxInitialize(t *testing.T) {
|
||||
vm := secp256k1fx.TestVM{
|
||||
Log: log.NewNoOpLogger(),
|
||||
Clk: &mockable.Clock{},
|
||||
Log: log.NewNoOpLogger(),
|
||||
}
|
||||
fx := Fx{}
|
||||
require.NoError(t, fx.Initialize(&vm))
|
||||
@@ -54,7 +56,8 @@ func TestFxVerifyMintOperation(t *testing.T) {
|
||||
require := require.New(t)
|
||||
|
||||
vm := secp256k1fx.TestVM{
|
||||
Log: log.NewNoOpLogger(),
|
||||
Clk: &mockable.Clock{},
|
||||
Log: log.NewNoOpLogger(),
|
||||
}
|
||||
date := time.Date(2019, time.January, 19, 16, 25, 17, 3, time.UTC)
|
||||
vm.Clk.Set(date)
|
||||
@@ -89,7 +92,8 @@ func TestFxVerifyMintOperationWrongTx(t *testing.T) {
|
||||
require := require.New(t)
|
||||
|
||||
vm := secp256k1fx.TestVM{
|
||||
Log: log.NewNoOpLogger(),
|
||||
Clk: &mockable.Clock{},
|
||||
Log: log.NewNoOpLogger(),
|
||||
}
|
||||
date := time.Date(2019, time.January, 19, 16, 25, 17, 3, time.UTC)
|
||||
vm.Clk.Set(date)
|
||||
@@ -122,7 +126,8 @@ func TestFxVerifyMintOperationWrongNumberUTXOs(t *testing.T) {
|
||||
require := require.New(t)
|
||||
|
||||
vm := secp256k1fx.TestVM{
|
||||
Log: log.NewNoOpLogger(),
|
||||
Clk: &mockable.Clock{},
|
||||
Log: log.NewNoOpLogger(),
|
||||
}
|
||||
date := time.Date(2019, time.January, 19, 16, 25, 17, 3, time.UTC)
|
||||
vm.Clk.Set(date)
|
||||
@@ -152,7 +157,8 @@ func TestFxVerifyMintOperationWrongCredential(t *testing.T) {
|
||||
require := require.New(t)
|
||||
|
||||
vm := secp256k1fx.TestVM{
|
||||
Log: log.NewNoOpLogger(),
|
||||
Clk: &mockable.Clock{},
|
||||
Log: log.NewNoOpLogger(),
|
||||
}
|
||||
date := time.Date(2019, time.January, 19, 16, 25, 17, 3, time.UTC)
|
||||
vm.Clk.Set(date)
|
||||
@@ -183,7 +189,8 @@ func TestFxVerifyMintOperationInvalidUTXO(t *testing.T) {
|
||||
require := require.New(t)
|
||||
|
||||
vm := secp256k1fx.TestVM{
|
||||
Log: log.NewNoOpLogger(),
|
||||
Clk: &mockable.Clock{},
|
||||
Log: log.NewNoOpLogger(),
|
||||
}
|
||||
date := time.Date(2019, time.January, 19, 16, 25, 17, 3, time.UTC)
|
||||
vm.Clk.Set(date)
|
||||
@@ -213,7 +220,8 @@ func TestFxVerifyMintOperationFailingVerification(t *testing.T) {
|
||||
require := require.New(t)
|
||||
|
||||
vm := secp256k1fx.TestVM{
|
||||
Log: log.NewNoOpLogger(),
|
||||
Clk: &mockable.Clock{},
|
||||
Log: log.NewNoOpLogger(),
|
||||
}
|
||||
date := time.Date(2019, time.January, 19, 16, 25, 17, 3, time.UTC)
|
||||
vm.Clk.Set(date)
|
||||
@@ -250,7 +258,8 @@ func TestFxVerifyMintOperationInvalidGroupID(t *testing.T) {
|
||||
require := require.New(t)
|
||||
|
||||
vm := secp256k1fx.TestVM{
|
||||
Log: log.NewNoOpLogger(),
|
||||
Clk: &mockable.Clock{},
|
||||
Log: log.NewNoOpLogger(),
|
||||
}
|
||||
date := time.Date(2019, time.January, 19, 16, 25, 17, 3, time.UTC)
|
||||
vm.Clk.Set(date)
|
||||
@@ -287,7 +296,8 @@ func TestFxVerifyTransferOperation(t *testing.T) {
|
||||
require := require.New(t)
|
||||
|
||||
vm := secp256k1fx.TestVM{
|
||||
Log: log.NewNoOpLogger(),
|
||||
Clk: &mockable.Clock{},
|
||||
Log: log.NewNoOpLogger(),
|
||||
}
|
||||
date := time.Date(2019, time.January, 19, 16, 25, 17, 3, time.UTC)
|
||||
vm.Clk.Set(date)
|
||||
@@ -336,7 +346,8 @@ func TestFxVerifyTransferOperationWrongUTXO(t *testing.T) {
|
||||
require := require.New(t)
|
||||
|
||||
vm := secp256k1fx.TestVM{
|
||||
Log: log.NewNoOpLogger(),
|
||||
Clk: &mockable.Clock{},
|
||||
Log: log.NewNoOpLogger(),
|
||||
}
|
||||
date := time.Date(2019, time.January, 19, 16, 25, 17, 3, time.UTC)
|
||||
vm.Clk.Set(date)
|
||||
@@ -376,7 +387,8 @@ func TestFxVerifyTransferOperationFailedVerify(t *testing.T) {
|
||||
require := require.New(t)
|
||||
|
||||
vm := secp256k1fx.TestVM{
|
||||
Log: log.NewNoOpLogger(),
|
||||
Clk: &mockable.Clock{},
|
||||
Log: log.NewNoOpLogger(),
|
||||
}
|
||||
date := time.Date(2019, time.January, 19, 16, 25, 17, 3, time.UTC)
|
||||
vm.Clk.Set(date)
|
||||
@@ -423,7 +435,8 @@ func TestFxVerifyTransferOperationWrongGroupID(t *testing.T) {
|
||||
require := require.New(t)
|
||||
|
||||
vm := secp256k1fx.TestVM{
|
||||
Log: log.NewNoOpLogger(),
|
||||
Clk: &mockable.Clock{},
|
||||
Log: log.NewNoOpLogger(),
|
||||
}
|
||||
date := time.Date(2019, time.January, 19, 16, 25, 17, 3, time.UTC)
|
||||
vm.Clk.Set(date)
|
||||
@@ -473,7 +486,8 @@ func TestFxVerifyTransferOperationWrongBytes(t *testing.T) {
|
||||
require := require.New(t)
|
||||
|
||||
vm := secp256k1fx.TestVM{
|
||||
Log: log.NewNoOpLogger(),
|
||||
Clk: &mockable.Clock{},
|
||||
Log: log.NewNoOpLogger(),
|
||||
}
|
||||
date := time.Date(2019, time.January, 19, 16, 25, 17, 3, time.UTC)
|
||||
vm.Clk.Set(date)
|
||||
@@ -523,7 +537,8 @@ func TestFxVerifyTransferOperationTooSoon(t *testing.T) {
|
||||
require := require.New(t)
|
||||
|
||||
vm := secp256k1fx.TestVM{
|
||||
Log: log.NewNoOpLogger(),
|
||||
Clk: &mockable.Clock{},
|
||||
Log: log.NewNoOpLogger(),
|
||||
}
|
||||
date := time.Date(2019, time.January, 19, 16, 25, 17, 3, time.UTC)
|
||||
vm.Clk.Set(date)
|
||||
@@ -574,7 +589,8 @@ func TestFxVerifyOperationUnknownOperation(t *testing.T) {
|
||||
require := require.New(t)
|
||||
|
||||
vm := secp256k1fx.TestVM{
|
||||
Log: log.NewNoOpLogger(),
|
||||
Clk: &mockable.Clock{},
|
||||
Log: log.NewNoOpLogger(),
|
||||
}
|
||||
date := time.Date(2019, time.January, 19, 16, 25, 17, 3, time.UTC)
|
||||
vm.Clk.Set(date)
|
||||
@@ -609,7 +625,8 @@ func TestFxVerifyTransfer(t *testing.T) {
|
||||
require := require.New(t)
|
||||
|
||||
vm := secp256k1fx.TestVM{
|
||||
Log: log.NewNoOpLogger(),
|
||||
Clk: &mockable.Clock{},
|
||||
Log: log.NewNoOpLogger(),
|
||||
}
|
||||
date := time.Date(2019, time.January, 19, 16, 25, 17, 3, time.UTC)
|
||||
vm.Clk.Set(date)
|
||||
|
||||
+27
-13
@@ -13,6 +13,7 @@ import (
|
||||
"github.com/luxfi/crypto/secp256k1"
|
||||
"github.com/luxfi/ids"
|
||||
log "github.com/luxfi/log"
|
||||
"github.com/luxfi/timer/mockable"
|
||||
"github.com/luxfi/utxo/secp256k1fx"
|
||||
)
|
||||
|
||||
@@ -38,7 +39,8 @@ var (
|
||||
|
||||
func TestFxInitialize(t *testing.T) {
|
||||
vm := secp256k1fx.TestVM{
|
||||
Log: log.NewNoOpLogger(),
|
||||
Clk: &mockable.Clock{},
|
||||
Log: log.NewNoOpLogger(),
|
||||
}
|
||||
fx := Fx{}
|
||||
require.NoError(t, fx.Initialize(&vm))
|
||||
@@ -54,7 +56,8 @@ func TestFxVerifyMintOperation(t *testing.T) {
|
||||
require := require.New(t)
|
||||
|
||||
vm := secp256k1fx.TestVM{
|
||||
Log: log.NewNoOpLogger(),
|
||||
Clk: &mockable.Clock{},
|
||||
Log: log.NewNoOpLogger(),
|
||||
}
|
||||
date := time.Date(2019, time.January, 19, 16, 25, 17, 3, time.UTC)
|
||||
vm.Clk.Set(date)
|
||||
@@ -95,7 +98,8 @@ func TestFxVerifyMintOperationWrongTx(t *testing.T) {
|
||||
require := require.New(t)
|
||||
|
||||
vm := secp256k1fx.TestVM{
|
||||
Log: log.NewNoOpLogger(),
|
||||
Clk: &mockable.Clock{},
|
||||
Log: log.NewNoOpLogger(),
|
||||
}
|
||||
date := time.Date(2019, time.January, 19, 16, 25, 17, 3, time.UTC)
|
||||
vm.Clk.Set(date)
|
||||
@@ -128,7 +132,8 @@ func TestFxVerifyMintOperationWrongNumberUTXOs(t *testing.T) {
|
||||
require := require.New(t)
|
||||
|
||||
vm := secp256k1fx.TestVM{
|
||||
Log: log.NewNoOpLogger(),
|
||||
Clk: &mockable.Clock{},
|
||||
Log: log.NewNoOpLogger(),
|
||||
}
|
||||
date := time.Date(2019, time.January, 19, 16, 25, 17, 3, time.UTC)
|
||||
vm.Clk.Set(date)
|
||||
@@ -158,7 +163,8 @@ func TestFxVerifyMintOperationWrongCredential(t *testing.T) {
|
||||
require := require.New(t)
|
||||
|
||||
vm := secp256k1fx.TestVM{
|
||||
Log: log.NewNoOpLogger(),
|
||||
Clk: &mockable.Clock{},
|
||||
Log: log.NewNoOpLogger(),
|
||||
}
|
||||
date := time.Date(2019, time.January, 19, 16, 25, 17, 3, time.UTC)
|
||||
vm.Clk.Set(date)
|
||||
@@ -189,7 +195,8 @@ func TestFxVerifyMintOperationInvalidUTXO(t *testing.T) {
|
||||
require := require.New(t)
|
||||
|
||||
vm := secp256k1fx.TestVM{
|
||||
Log: log.NewNoOpLogger(),
|
||||
Clk: &mockable.Clock{},
|
||||
Log: log.NewNoOpLogger(),
|
||||
}
|
||||
date := time.Date(2019, time.January, 19, 16, 25, 17, 3, time.UTC)
|
||||
vm.Clk.Set(date)
|
||||
@@ -219,7 +226,8 @@ func TestFxVerifyMintOperationFailingVerification(t *testing.T) {
|
||||
require := require.New(t)
|
||||
|
||||
vm := secp256k1fx.TestVM{
|
||||
Log: log.NewNoOpLogger(),
|
||||
Clk: &mockable.Clock{},
|
||||
Log: log.NewNoOpLogger(),
|
||||
}
|
||||
date := time.Date(2019, time.January, 19, 16, 25, 17, 3, time.UTC)
|
||||
vm.Clk.Set(date)
|
||||
@@ -256,7 +264,8 @@ func TestFxVerifyMintOperationInvalidGroupID(t *testing.T) {
|
||||
require := require.New(t)
|
||||
|
||||
vm := secp256k1fx.TestVM{
|
||||
Log: log.NewNoOpLogger(),
|
||||
Clk: &mockable.Clock{},
|
||||
Log: log.NewNoOpLogger(),
|
||||
}
|
||||
date := time.Date(2019, time.January, 19, 16, 25, 17, 3, time.UTC)
|
||||
vm.Clk.Set(date)
|
||||
@@ -292,7 +301,8 @@ func TestFxVerifyTransferOperation(t *testing.T) {
|
||||
require := require.New(t)
|
||||
|
||||
vm := secp256k1fx.TestVM{
|
||||
Log: log.NewNoOpLogger(),
|
||||
Clk: &mockable.Clock{},
|
||||
Log: log.NewNoOpLogger(),
|
||||
}
|
||||
date := time.Date(2019, time.January, 19, 16, 25, 17, 3, time.UTC)
|
||||
vm.Clk.Set(date)
|
||||
@@ -325,7 +335,8 @@ func TestFxVerifyTransferOperationWrongUTXO(t *testing.T) {
|
||||
require := require.New(t)
|
||||
|
||||
vm := secp256k1fx.TestVM{
|
||||
Log: log.NewNoOpLogger(),
|
||||
Clk: &mockable.Clock{},
|
||||
Log: log.NewNoOpLogger(),
|
||||
}
|
||||
date := time.Date(2019, time.January, 19, 16, 25, 17, 3, time.UTC)
|
||||
vm.Clk.Set(date)
|
||||
@@ -353,7 +364,8 @@ func TestFxVerifyTransferOperationFailedVerify(t *testing.T) {
|
||||
require := require.New(t)
|
||||
|
||||
vm := secp256k1fx.TestVM{
|
||||
Log: log.NewNoOpLogger(),
|
||||
Clk: &mockable.Clock{},
|
||||
Log: log.NewNoOpLogger(),
|
||||
}
|
||||
date := time.Date(2019, time.January, 19, 16, 25, 17, 3, time.UTC)
|
||||
vm.Clk.Set(date)
|
||||
@@ -387,7 +399,8 @@ func TestFxVerifyOperationUnknownOperation(t *testing.T) {
|
||||
require := require.New(t)
|
||||
|
||||
vm := secp256k1fx.TestVM{
|
||||
Log: log.NewNoOpLogger(),
|
||||
Clk: &mockable.Clock{},
|
||||
Log: log.NewNoOpLogger(),
|
||||
}
|
||||
date := time.Date(2019, time.January, 19, 16, 25, 17, 3, time.UTC)
|
||||
vm.Clk.Set(date)
|
||||
@@ -418,7 +431,8 @@ func TestFxVerifyTransfer(t *testing.T) {
|
||||
require := require.New(t)
|
||||
|
||||
vm := secp256k1fx.TestVM{
|
||||
Log: log.NewNoOpLogger(),
|
||||
Clk: &mockable.Clock{},
|
||||
Log: log.NewNoOpLogger(),
|
||||
}
|
||||
date := time.Date(2019, time.January, 19, 16, 25, 17, 3, time.UTC)
|
||||
vm.Clk.Set(date)
|
||||
|
||||
+1
-2
@@ -51,8 +51,7 @@ func (fx *Fx) Initialize(vmIntf interface{}) error {
|
||||
return err
|
||||
}
|
||||
|
||||
log := fx.VM.Logger()
|
||||
if !log.IsZero() {
|
||||
if log := fx.VM.Logger(); log != nil && !log.IsZero() {
|
||||
log.Debug("initializing secp256k1 fx")
|
||||
}
|
||||
|
||||
|
||||
@@ -11,6 +11,7 @@ import (
|
||||
"github.com/luxfi/crypto/secp256k1"
|
||||
"github.com/luxfi/ids"
|
||||
log "github.com/luxfi/log"
|
||||
"github.com/luxfi/timer/mockable"
|
||||
)
|
||||
|
||||
// BenchmarkSecp256k1Verify is the BASELINE for CostPerSignature calibration.
|
||||
@@ -28,7 +29,8 @@ func BenchmarkSecp256k1Verify(b *testing.B) {
|
||||
}
|
||||
|
||||
vm := &TestVM{
|
||||
Log: log.NewNoOpLogger(),
|
||||
Clk: &mockable.Clock{},
|
||||
Log: log.NewNoOpLogger(),
|
||||
}
|
||||
vm.Clk.Set(time.Date(2026, time.January, 1, 0, 0, 0, 0, time.UTC))
|
||||
|
||||
|
||||
+49
-24
@@ -13,6 +13,7 @@ import (
|
||||
"github.com/luxfi/crypto/secp256k1"
|
||||
"github.com/luxfi/ids"
|
||||
log "github.com/luxfi/log"
|
||||
"github.com/luxfi/timer/mockable"
|
||||
)
|
||||
|
||||
var (
|
||||
@@ -52,7 +53,8 @@ func init() {
|
||||
|
||||
func TestFxInitialize(t *testing.T) {
|
||||
vm := TestVM{
|
||||
Log: log.NewNoOpLogger(),
|
||||
Clk: &mockable.Clock{},
|
||||
Log: log.NewNoOpLogger(),
|
||||
}
|
||||
fx := Fx{}
|
||||
require.NoError(t, fx.Initialize(&vm))
|
||||
@@ -67,7 +69,8 @@ func TestFxInitializeInvalid(t *testing.T) {
|
||||
func TestFxVerifyTransfer(t *testing.T) {
|
||||
require := require.New(t)
|
||||
vm := TestVM{
|
||||
Log: log.NewNoOpLogger(),
|
||||
Clk: &mockable.Clock{},
|
||||
Log: log.NewNoOpLogger(),
|
||||
}
|
||||
date := time.Date(2019, time.January, 19, 16, 25, 17, 3, time.UTC)
|
||||
vm.Clk.Set(date)
|
||||
@@ -104,7 +107,8 @@ func TestFxVerifyTransfer(t *testing.T) {
|
||||
func TestFxVerifyTransferNilTx(t *testing.T) {
|
||||
require := require.New(t)
|
||||
vm := TestVM{
|
||||
Log: log.NewNoOpLogger(),
|
||||
Clk: &mockable.Clock{},
|
||||
Log: log.NewNoOpLogger(),
|
||||
}
|
||||
date := time.Date(2019, time.January, 19, 16, 25, 17, 3, time.UTC)
|
||||
vm.Clk.Set(date)
|
||||
@@ -139,7 +143,8 @@ func TestFxVerifyTransferNilTx(t *testing.T) {
|
||||
func TestFxVerifyTransferNilOutput(t *testing.T) {
|
||||
require := require.New(t)
|
||||
vm := TestVM{
|
||||
Log: log.NewNoOpLogger(),
|
||||
Clk: &mockable.Clock{},
|
||||
Log: log.NewNoOpLogger(),
|
||||
}
|
||||
date := time.Date(2019, time.January, 19, 16, 25, 17, 3, time.UTC)
|
||||
vm.Clk.Set(date)
|
||||
@@ -165,7 +170,8 @@ func TestFxVerifyTransferNilOutput(t *testing.T) {
|
||||
func TestFxVerifyTransferNilInput(t *testing.T) {
|
||||
require := require.New(t)
|
||||
vm := TestVM{
|
||||
Log: log.NewNoOpLogger(),
|
||||
Clk: &mockable.Clock{},
|
||||
Log: log.NewNoOpLogger(),
|
||||
}
|
||||
date := time.Date(2019, time.January, 19, 16, 25, 17, 3, time.UTC)
|
||||
vm.Clk.Set(date)
|
||||
@@ -195,7 +201,8 @@ func TestFxVerifyTransferNilInput(t *testing.T) {
|
||||
func TestFxVerifyTransferNilCredential(t *testing.T) {
|
||||
require := require.New(t)
|
||||
vm := TestVM{
|
||||
Log: log.NewNoOpLogger(),
|
||||
Clk: &mockable.Clock{},
|
||||
Log: log.NewNoOpLogger(),
|
||||
}
|
||||
date := time.Date(2019, time.January, 19, 16, 25, 17, 3, time.UTC)
|
||||
vm.Clk.Set(date)
|
||||
@@ -226,7 +233,8 @@ func TestFxVerifyTransferNilCredential(t *testing.T) {
|
||||
func TestFxVerifyTransferInvalidOutput(t *testing.T) {
|
||||
require := require.New(t)
|
||||
vm := TestVM{
|
||||
Log: log.NewNoOpLogger(),
|
||||
Clk: &mockable.Clock{},
|
||||
Log: log.NewNoOpLogger(),
|
||||
}
|
||||
date := time.Date(2019, time.January, 19, 16, 25, 17, 3, time.UTC)
|
||||
vm.Clk.Set(date)
|
||||
@@ -262,7 +270,8 @@ func TestFxVerifyTransferInvalidOutput(t *testing.T) {
|
||||
func TestFxVerifyTransferWrongAmounts(t *testing.T) {
|
||||
require := require.New(t)
|
||||
vm := TestVM{
|
||||
Log: log.NewNoOpLogger(),
|
||||
Clk: &mockable.Clock{},
|
||||
Log: log.NewNoOpLogger(),
|
||||
}
|
||||
date := time.Date(2019, time.January, 19, 16, 25, 17, 3, time.UTC)
|
||||
vm.Clk.Set(date)
|
||||
@@ -298,7 +307,8 @@ func TestFxVerifyTransferWrongAmounts(t *testing.T) {
|
||||
func TestFxVerifyTransferTimelocked(t *testing.T) {
|
||||
require := require.New(t)
|
||||
vm := TestVM{
|
||||
Log: log.NewNoOpLogger(),
|
||||
Clk: &mockable.Clock{},
|
||||
Log: log.NewNoOpLogger(),
|
||||
}
|
||||
date := time.Date(2019, time.January, 19, 16, 25, 17, 3, time.UTC)
|
||||
vm.Clk.Set(date)
|
||||
@@ -334,7 +344,8 @@ func TestFxVerifyTransferTimelocked(t *testing.T) {
|
||||
func TestFxVerifyTransferTooManySigners(t *testing.T) {
|
||||
require := require.New(t)
|
||||
vm := TestVM{
|
||||
Log: log.NewNoOpLogger(),
|
||||
Clk: &mockable.Clock{},
|
||||
Log: log.NewNoOpLogger(),
|
||||
}
|
||||
date := time.Date(2019, time.January, 19, 16, 25, 17, 3, time.UTC)
|
||||
vm.Clk.Set(date)
|
||||
@@ -371,7 +382,8 @@ func TestFxVerifyTransferTooManySigners(t *testing.T) {
|
||||
func TestFxVerifyTransferTooFewSigners(t *testing.T) {
|
||||
require := require.New(t)
|
||||
vm := TestVM{
|
||||
Log: log.NewNoOpLogger(),
|
||||
Clk: &mockable.Clock{},
|
||||
Log: log.NewNoOpLogger(),
|
||||
}
|
||||
date := time.Date(2019, time.January, 19, 16, 25, 17, 3, time.UTC)
|
||||
vm.Clk.Set(date)
|
||||
@@ -405,7 +417,8 @@ func TestFxVerifyTransferTooFewSigners(t *testing.T) {
|
||||
func TestFxVerifyTransferMismatchedSigners(t *testing.T) {
|
||||
require := require.New(t)
|
||||
vm := TestVM{
|
||||
Log: log.NewNoOpLogger(),
|
||||
Clk: &mockable.Clock{},
|
||||
Log: log.NewNoOpLogger(),
|
||||
}
|
||||
date := time.Date(2019, time.January, 19, 16, 25, 17, 3, time.UTC)
|
||||
vm.Clk.Set(date)
|
||||
@@ -442,7 +455,8 @@ func TestFxVerifyTransferMismatchedSigners(t *testing.T) {
|
||||
func TestFxVerifyTransferInvalidSignature(t *testing.T) {
|
||||
require := require.New(t)
|
||||
vm := TestVM{
|
||||
Log: log.NewNoOpLogger(),
|
||||
Clk: &mockable.Clock{},
|
||||
Log: log.NewNoOpLogger(),
|
||||
}
|
||||
date := time.Date(2019, time.January, 19, 16, 25, 17, 3, time.UTC)
|
||||
vm.Clk.Set(date)
|
||||
@@ -481,7 +495,8 @@ func TestFxVerifyTransferInvalidSignature(t *testing.T) {
|
||||
func TestFxVerifyTransferWrongSigner(t *testing.T) {
|
||||
require := require.New(t)
|
||||
vm := TestVM{
|
||||
Log: log.NewNoOpLogger(),
|
||||
Clk: &mockable.Clock{},
|
||||
Log: log.NewNoOpLogger(),
|
||||
}
|
||||
date := time.Date(2019, time.January, 19, 16, 25, 17, 3, time.UTC)
|
||||
vm.Clk.Set(date)
|
||||
@@ -520,7 +535,8 @@ func TestFxVerifyTransferWrongSigner(t *testing.T) {
|
||||
func TestFxVerifyTransferSigIndexOOB(t *testing.T) {
|
||||
require := require.New(t)
|
||||
vm := TestVM{
|
||||
Log: log.NewNoOpLogger(),
|
||||
Clk: &mockable.Clock{},
|
||||
Log: log.NewNoOpLogger(),
|
||||
}
|
||||
date := time.Date(2019, time.January, 19, 16, 25, 17, 3, time.UTC)
|
||||
vm.Clk.Set(date)
|
||||
@@ -559,7 +575,8 @@ func TestFxVerifyTransferSigIndexOOB(t *testing.T) {
|
||||
func TestFxVerifyOperation(t *testing.T) {
|
||||
require := require.New(t)
|
||||
vm := TestVM{
|
||||
Log: log.NewNoOpLogger(),
|
||||
Clk: &mockable.Clock{},
|
||||
Log: log.NewNoOpLogger(),
|
||||
}
|
||||
date := time.Date(2019, time.January, 19, 16, 25, 17, 3, time.UTC)
|
||||
vm.Clk.Set(date)
|
||||
@@ -610,7 +627,8 @@ func TestFxVerifyOperation(t *testing.T) {
|
||||
func TestFxVerifyOperationUnknownTx(t *testing.T) {
|
||||
require := require.New(t)
|
||||
vm := TestVM{
|
||||
Log: log.NewNoOpLogger(),
|
||||
Clk: &mockable.Clock{},
|
||||
Log: log.NewNoOpLogger(),
|
||||
}
|
||||
date := time.Date(2019, time.January, 19, 16, 25, 17, 3, time.UTC)
|
||||
vm.Clk.Set(date)
|
||||
@@ -661,7 +679,8 @@ func TestFxVerifyOperationUnknownTx(t *testing.T) {
|
||||
func TestFxVerifyOperationUnknownOperation(t *testing.T) {
|
||||
require := require.New(t)
|
||||
vm := TestVM{
|
||||
Log: log.NewNoOpLogger(),
|
||||
Clk: &mockable.Clock{},
|
||||
Log: log.NewNoOpLogger(),
|
||||
}
|
||||
date := time.Date(2019, time.January, 19, 16, 25, 17, 3, time.UTC)
|
||||
vm.Clk.Set(date)
|
||||
@@ -690,7 +709,8 @@ func TestFxVerifyOperationUnknownOperation(t *testing.T) {
|
||||
func TestFxVerifyOperationUnknownCredential(t *testing.T) {
|
||||
require := require.New(t)
|
||||
vm := TestVM{
|
||||
Log: log.NewNoOpLogger(),
|
||||
Clk: &mockable.Clock{},
|
||||
Log: log.NewNoOpLogger(),
|
||||
}
|
||||
date := time.Date(2019, time.January, 19, 16, 25, 17, 3, time.UTC)
|
||||
vm.Clk.Set(date)
|
||||
@@ -737,7 +757,8 @@ func TestFxVerifyOperationUnknownCredential(t *testing.T) {
|
||||
func TestFxVerifyOperationWrongNumberOfUTXOs(t *testing.T) {
|
||||
require := require.New(t)
|
||||
vm := TestVM{
|
||||
Log: log.NewNoOpLogger(),
|
||||
Clk: &mockable.Clock{},
|
||||
Log: log.NewNoOpLogger(),
|
||||
}
|
||||
date := time.Date(2019, time.January, 19, 16, 25, 17, 3, time.UTC)
|
||||
vm.Clk.Set(date)
|
||||
@@ -789,7 +810,8 @@ func TestFxVerifyOperationWrongNumberOfUTXOs(t *testing.T) {
|
||||
func TestFxVerifyOperationUnknownUTXOType(t *testing.T) {
|
||||
require := require.New(t)
|
||||
vm := TestVM{
|
||||
Log: log.NewNoOpLogger(),
|
||||
Clk: &mockable.Clock{},
|
||||
Log: log.NewNoOpLogger(),
|
||||
}
|
||||
date := time.Date(2019, time.January, 19, 16, 25, 17, 3, time.UTC)
|
||||
vm.Clk.Set(date)
|
||||
@@ -833,7 +855,8 @@ func TestFxVerifyOperationUnknownUTXOType(t *testing.T) {
|
||||
func TestFxVerifyOperationInvalidOperationVerify(t *testing.T) {
|
||||
require := require.New(t)
|
||||
vm := TestVM{
|
||||
Log: log.NewNoOpLogger(),
|
||||
Clk: &mockable.Clock{},
|
||||
Log: log.NewNoOpLogger(),
|
||||
}
|
||||
date := time.Date(2019, time.January, 19, 16, 25, 17, 3, time.UTC)
|
||||
vm.Clk.Set(date)
|
||||
@@ -882,7 +905,8 @@ func TestFxVerifyOperationInvalidOperationVerify(t *testing.T) {
|
||||
func TestFxVerifyOperationMismatchedMintOutputs(t *testing.T) {
|
||||
require := require.New(t)
|
||||
vm := TestVM{
|
||||
Log: log.NewNoOpLogger(),
|
||||
Clk: &mockable.Clock{},
|
||||
Log: log.NewNoOpLogger(),
|
||||
}
|
||||
date := time.Date(2019, time.January, 19, 16, 25, 17, 3, time.UTC)
|
||||
vm.Clk.Set(date)
|
||||
@@ -928,7 +952,8 @@ func TestFxVerifyOperationMismatchedMintOutputs(t *testing.T) {
|
||||
|
||||
func TestVerifyPermission(t *testing.T) {
|
||||
vm := TestVM{
|
||||
Log: log.NewNoOpLogger(),
|
||||
Clk: &mockable.Clock{},
|
||||
Log: log.NewNoOpLogger(),
|
||||
}
|
||||
fx := Fx{}
|
||||
require.NoError(t, fx.Initialize(&vm))
|
||||
|
||||
+2
-2
@@ -19,12 +19,12 @@ var _ VM = (*TestVM)(nil)
|
||||
|
||||
// TestVM is a minimal implementation of a VM
|
||||
type TestVM struct {
|
||||
Clk mockable.Clock
|
||||
Clk *mockable.Clock
|
||||
Log log.Logger
|
||||
}
|
||||
|
||||
func (vm *TestVM) Clock() *mockable.Clock {
|
||||
return &vm.Clk
|
||||
return vm.Clk
|
||||
}
|
||||
|
||||
func (vm *TestVM) Logger() log.Logger {
|
||||
|
||||
Reference in New Issue
Block a user