From 0bf406d963830135abccc3315d05249ecf597961 Mon Sep 17 00:00:00 2001 From: Benjamin Bollen <ben@erisindustries.com> Date: Tue, 31 May 2016 18:14:11 +0200 Subject: [PATCH] make AssertCompatibleConsensus return error instead of bool --- manager/eris-mint/eris-mint_test.go | 4 +--- manager/eris-mint/version.go | 9 ++++++--- manager/manager.go | 4 +++- 3 files changed, 10 insertions(+), 7 deletions(-) diff --git a/manager/eris-mint/eris-mint_test.go b/manager/eris-mint/eris-mint_test.go index 51633878..8919ad4f 100644 --- a/manager/eris-mint/eris-mint_test.go +++ b/manager/eris-mint/eris-mint_test.go @@ -28,8 +28,6 @@ func TestCompatibleConsensus(t *testing.T) { // compatible consensus engine for _, listedConsensus := range compatibleConsensus { - assert.Equal(t, IsCompatibleConsensus(listedConsensus), true, - fmt.Sprintf("ErisMint (%s) failed compatibility test with consensus %s", - GetErisMintVersion(), listedConsensus)) + assert.Nil(t, AssertCompatibleConsensus(listedConsensus)) } } diff --git a/manager/eris-mint/version.go b/manager/eris-mint/version.go index 96f42c5f..a9120ad8 100644 --- a/manager/eris-mint/version.go +++ b/manager/eris-mint/version.go @@ -17,6 +17,8 @@ package erismint import ( + "fmt" + version "github.com/eris-ltd/eris-db/version" ) @@ -43,11 +45,12 @@ func GetErisMintVersion() *version.VersionIdentifier { erisMintVersionMinor, erisMintVersionPatch) } -func IsCompatibleConsensus(consensusMinorVersion string) bool { +func AssertCompatibleConsensus(consensusMinorVersion string) error { for _, supported := range compatibleConsensus { if consensusMinorVersion == supported { - return true + return nil } } - return false + return fmt.Errorf("ErisMint (%s) is not compatible with consensus engine %s", + GetErisMintVersion(), consensusMinorVersion) } diff --git a/manager/manager.go b/manager/manager.go index 77e0d9b8..07a662f8 100644 --- a/manager/manager.go +++ b/manager/manager.go @@ -34,7 +34,9 @@ func NewApplication(moduleConfig *config.ModuleConfig, error) { switch moduleConfig.Name { case "erismint" : - + if err := erismint.AssertCompatibleConsensus(consensusMinorVersion); err != nil { + return nil, err + } return newErisMintPH(moduleConfig) } return nil, fmt.Errorf("PLACEHOLDER") -- GitLab