@@ -58,21 +58,24 @@ loadPackageDB core deps = do
5858 | not $ withinRange v vrange -> return pdb
5959 _ ->
6060 case Tar.entryContent e of
61− Tar.NormalFile bs _ -> return $ mappend pdb $ PackageDB $ Map.singleton p PackageInfo
62− { piVersion = v
63− , piDeps = parseDeps bs
64− }
61+ Tar.NormalFile bs _ -> do
62+ let (deps', hasTests) = parseDeps bs
63+ return $ mappend pdb $ PackageDB $ Map.singleton p PackageInfo
64+ { piVersion = v
65+ , piDeps = deps'
66+ , piHasTests = hasTests
67+ }
6568 _ -> return pdb
6669
6770 parseDeps lbs =
6871 case parsePackageDescription $ L8.unpack lbs of
69− ParseOk _ gpd -> mconcat
72+ ParseOk _ gpd -> (mconcat
7073 [ maybe mempty (go gpd) $ condLibrary gpd
7174 , mconcat $ map (go gpd . snd) $ condExecutables gpd
7275 , mconcat $ map (go gpd . snd) $ condTestSuites gpd
7376 , mconcat $ map (go gpd . snd) $ condBenchmarks gpd
74− ]
75− _ -> mempty
77+ ], not $ null $ condTestSuites gpd)
78+ _ -> (mempty, defaultHasTestSuites)
7679 where
7780 go gpd tree
7881 = Set.unions