mirror of
https://github.com/ethereum/go-ethereum.git
synced 2026-08-19 18:32:23 +00:00
fix: make ConfigCompatError.Error more robust and add UT
This commit is contained in:
parent
a40e8e3fc1
commit
2baaa72842
2 changed files with 22 additions and 2 deletions
|
|
@ -891,9 +891,11 @@ func (err *ConfigCompatError) Error() string {
|
|||
return fmt.Sprintf("mismatching %s in database (have block %d, want block %d, rewindto block %d)", err.What, err.StoredBlock, err.NewBlock, err.RewindToBlock)
|
||||
}
|
||||
|
||||
if err.StoredTime == nil {
|
||||
if err.StoredTime == nil && err.NewTime == nil {
|
||||
return ""
|
||||
} else if err.StoredTime == nil && err.NewTime != nil {
|
||||
return fmt.Sprintf("mismatching %s in database (have timestamp nil, want timestamp %d, rewindto timestamp %d)", err.What, *err.NewTime, err.RewindToTime)
|
||||
} else if err.NewTime == nil {
|
||||
} else if err.StoredTime != nil && err.NewTime == nil {
|
||||
return fmt.Sprintf("mismatching %s in database (have timestamp %d, want timestamp nil, rewindto timestamp %d)", err.What, *err.StoredTime, err.RewindToTime)
|
||||
}
|
||||
return fmt.Sprintf("mismatching %s in database (have timestamp %d, want timestamp %d, rewindto timestamp %d)", err.What, *err.StoredTime, *err.NewTime, err.RewindToTime)
|
||||
|
|
|
|||
|
|
@ -23,6 +23,7 @@ import (
|
|||
"time"
|
||||
|
||||
"github.com/ethereum/go-ethereum/common/math"
|
||||
"github.com/stretchr/testify/require"
|
||||
)
|
||||
|
||||
func TestCheckCompatible(t *testing.T) {
|
||||
|
|
@ -137,3 +138,20 @@ func TestConfigRules(t *testing.T) {
|
|||
t.Errorf("expected %v to be shanghai", stamp)
|
||||
}
|
||||
}
|
||||
|
||||
func TestTimestampCompatError(t *testing.T) {
|
||||
require.Equal(t, new(ConfigCompatError).Error(), "")
|
||||
|
||||
errWhat := "Shanghai fork timestamp"
|
||||
require.Equal(t, newTimestampCompatError(errWhat, nil, newUint64(1681338455)).Error(),
|
||||
"mismatching Shanghai fork timestamp in database (have timestamp nil, want timestamp 1681338455, rewindto timestamp 1681338454)")
|
||||
|
||||
require.Equal(t, newTimestampCompatError(errWhat, newUint64(1681338455), nil).Error(),
|
||||
"mismatching Shanghai fork timestamp in database (have timestamp 1681338455, want timestamp nil, rewindto timestamp 1681338454)")
|
||||
|
||||
require.Equal(t, newTimestampCompatError(errWhat, newUint64(1681338455), newUint64(600624000)).Error(),
|
||||
"mismatching Shanghai fork timestamp in database (have timestamp 1681338455, want timestamp 600624000, rewindto timestamp 600623999)")
|
||||
|
||||
require.Equal(t, newTimestampCompatError(errWhat, newUint64(0), newUint64(1681338455)).Error(),
|
||||
"mismatching Shanghai fork timestamp in database (have timestamp 0, want timestamp 1681338455, rewindto timestamp 0)")
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in a new issue