From d5d35ccd01fc25c3709bf6b14c0b62515417e9b7 Mon Sep 17 00:00:00 2001
From: Kristen Kozak <grayjay@wordroute.com>
Date: Mon, 3 Oct 2016 19:23:07 -0700
Subject: [PATCH] Solver DSL: Make EnableAllTests an instance of BooleanFlag.

---
 .../UnitTests/Distribution/Solver/Modular/DSL.hs    | 13 ++++++++-----
 1 file changed, 8 insertions(+), 5 deletions(-)

diff --git a/cabal-install/tests/UnitTests/Distribution/Solver/Modular/DSL.hs b/cabal-install/tests/UnitTests/Distribution/Solver/Modular/DSL.hs
index f02d62fe59..0bdc2fed0c 100644
--- a/cabal-install/tests/UnitTests/Distribution/Solver/Modular/DSL.hs
+++ b/cabal-install/tests/UnitTests/Distribution/Solver/Modular/DSL.hs
@@ -1,4 +1,5 @@
 {-# LANGUAGE RecordWildCards #-}
+{-# LANGUAGE GeneralizedNewtypeDeriving #-}
 -- | DSL for testing the modular solver
 module UnitTests.Distribution.Solver.Modular.DSL (
     ExampleDependency(..)
@@ -43,6 +44,7 @@ import qualified Distribution.Package              as C
   hiding (HasUnitId(..))
 import qualified Distribution.PackageDescription   as C
 import qualified Distribution.Simple.PackageIndex  as C.PackageIndex
+import           Distribution.Simple.Setup (BooleanFlag(..))
 import qualified Distribution.System               as C
 import qualified Distribution.Version              as C
 import Language.Haskell.Extension (Extension(..), Language)
@@ -176,6 +178,7 @@ data ExampleQualifier =
 
 -- | Whether to enable tests in all packages in a test case.
 newtype EnableAllTests = EnableAllTests Bool
+  deriving BooleanFlag
 
 -- | Constructs an 'ExampleAvailable' package for the 'ExampleDb',
 -- given:
@@ -476,7 +479,7 @@ exResolve :: ExampleDb
           -> EnableAllTests
           -> Progress String String CI.SolverInstallPlan.SolverInstallPlan
 exResolve db exts langs pkgConfigDb targets solver mbj indepGoals reorder
-          enableBj vars prefs (EnableAllTests enableAllTests)
+          enableBj vars prefs enableAllTests
     = resolveDependencies C.buildPlatform compiler pkgConfigDb solver params
   where
     defaultCompiler = C.unknownCompilerInfo C.buildCompilerId C.NoAbiTag
@@ -490,10 +493,10 @@ exResolve db exts langs pkgConfigDb targets solver mbj indepGoals reorder
                      , packagePreferences = Map.empty
                      }
     enableTests
-        | enableAllTests = fmap (\p -> PackageConstraintStanzas
-                                       (C.mkPackageName p) [TestStanzas])
-                           (exDbPkgs db)
-        | otherwise      = []
+        | asBool enableAllTests = fmap (\p -> PackageConstraintStanzas
+                                              (C.mkPackageName p) [TestStanzas])
+                                       (exDbPkgs db)
+        | otherwise             = []
     targets'     = fmap (\p -> NamedPackage (C.mkPackageName p) []) targets
     params       =   addPreferences (fmap toPref prefs)
                    $ addConstraints (fmap toLpc enableTests)
-- 
GitLab