diff --git a/cabal-install/tests/UnitTests/Distribution/Solver/Modular/QuickCheck.hs b/cabal-install/tests/UnitTests/Distribution/Solver/Modular/QuickCheck.hs index a8cb06f4446f4651dde0879e715bd6156272dee1..01fae0253264386c945f7cd708f0d23291948859 100644 --- a/cabal-install/tests/UnitTests/Distribution/Solver/Modular/QuickCheck.hs +++ b/cabal-install/tests/UnitTests/Distribution/Solver/Modular/QuickCheck.hs @@ -224,10 +224,14 @@ arbitraryExInst pn v pkgs = do arbitraryComponentDeps :: TestDb -> Gen (ComponentDeps [ExampleDependency]) arbitraryComponentDeps (TestDb []) = return $ CD.fromList [] -arbitraryComponentDeps db = CD.fromList . dedupNamedComponents <$> - boundedListOf 5 (arbitraryComponentDep db) +arbitraryComponentDeps db = + -- dedupComponentNames removes components with duplicate names, for example, + -- 'ComponentExe x' and 'ComponentTest x', and then CD.fromList combines + -- duplicate unnamed components. + CD.fromList . dedupComponentNames <$> + boundedListOf 5 (arbitraryComponentDep db) where - dedupNamedComponents = + dedupComponentNames = nubBy ((\x y -> isJust x && isJust y && x == y) `on` componentName . fst) componentName :: Component -> Maybe String