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