Skip to content

Commit fb474d1

Browse files
committed
Initialize SQLite database at all entry points
1 parent a246135 commit fb474d1

File tree

4 files changed

+12
-2
lines changed

4 files changed

+12
-2
lines changed

src/Language/PureScript/Docs/Collect.hs

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,7 @@ import Language.PureScript.Crash qualified as P
2525
import Language.PureScript.Errors qualified as P
2626
import Language.PureScript.Externs qualified as P
2727
import Language.PureScript.Make qualified as P
28+
import Language.PureScript.Make.IdeCache (sqliteInit)
2829
import Language.PureScript.Names qualified as P
2930
import Language.PureScript.Options qualified as P
3031

@@ -89,6 +90,7 @@ compileForDocs ::
8990
m [P.ExternsFile]
9091
compileForDocs outputDir inputFiles = do
9192
result <- liftIO $ do
93+
sqliteInit outputDir
9294
moduleFiles <- readUTF8FilesT inputFiles
9395
fmap fst $ P.runMake testOptions $ do
9496
ms <- P.parseModulesFromFiles identity moduleFiles

tests/Language/PureScript/Ide/Test.hs

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@ import Language.PureScript.Ide (handleCommand)
1010
import Language.PureScript.Ide.Command (Command)
1111
import Language.PureScript.Ide.Error (IdeError)
1212
import Language.PureScript.Ide.Types
13+
import Language.PureScript.Make.IdeCache (sqliteInit)
1314
import Protolude
1415
import System.Directory (doesDirectoryExist, getCurrentDirectory, makeAbsolute, removeDirectoryRecursive, setCurrentDirectory)
1516
import System.FilePath ((</>))
@@ -30,13 +31,14 @@ defConfig =
3031

3132
runIde' :: IdeConfiguration -> IdeState -> [Command] -> IO ([Either IdeError Success], IdeState)
3233
runIde' conf s cs = do
34+
sqliteInit (confOutputPath conf)
3335
stateVar <- newTVarIO s
3436
ts <- newIORef Nothing
3537
let env' = IdeEnvironment
3638
{ ideStateVar = stateVar
3739
, ideConfiguration = conf
3840
, ideCacheDbTimestamp = ts
39-
, query = \q -> SQLite.withConnection defConfig.sqliteFilePath
41+
, query = \q -> SQLite.withConnection conf.sqliteFilePath
4042
(\conn -> SQLite.query_ conn $ SQLite.Query q)
4143
}
4244
r <- runNoLoggingT (runReaderT (traverse (runExceptT . handleCommand) cs) env')

tests/TestMake.hs

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@ import Prelude hiding (writeFile)
77

88
import Language.PureScript qualified as P
99
import Language.PureScript.CST qualified as CST
10+
import Language.PureScript.Make.IdeCache (sqliteInit)
1011

1112
import Control.Concurrent (threadDelay)
1213
import Control.Monad (guard, void, forM_, when)
@@ -696,6 +697,7 @@ compileWithOptions ::
696697
[FilePath] ->
697698
IO (Either P.MultipleErrors [P.ExternsFile], Set P.ModuleName)
698699
compileWithOptions opts input = do
700+
sqliteInit modulesDir
699701
recompiled <- newMVar Set.empty
700702
moduleFiles <- readUTF8FilesT input
701703
(makeResult, _) <- P.runMake opts $ do

tests/TestUtils.hs

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@ import Language.PureScript.CST qualified as CST
77
import Language.PureScript.AST qualified as AST
88
import Language.PureScript.Names qualified as N
99
import Language.PureScript.Interactive.IO (findNodeProcess)
10+
import Language.PureScript.Make.IdeCache (sqliteInit)
1011

1112
import Control.Arrow ((***), (>>>))
1213
import Control.Monad (forM, guard, unless)
@@ -198,6 +199,7 @@ compile'
198199
-> [FilePath]
199200
-> IO ([(FilePath, T.Text)], (Either P.MultipleErrors FilePath, P.MultipleErrors))
200201
compile' options expectedModule SupportModules{..} inputFiles = do
202+
sqliteInit modulesDir
201203
-- Sorting the input files makes some messages (e.g., duplicate module) deterministic
202204
fs <- readInput (sort inputFiles)
203205
fmap (fs, ) . P.runMake options $ do
@@ -259,7 +261,9 @@ makeActions modules foreigns = (P.buildMakeActions modulesDir (P.internalError "
259261

260262

261263
runTest :: P.Make a -> IO (Either P.MultipleErrors a, P.MultipleErrors)
262-
runTest = P.runMake P.defaultOptions
264+
runTest action = do
265+
sqliteInit modulesDir
266+
P.runMake P.defaultOptions action
263267

264268
inferForeignModules
265269
:: MonadIO m

0 commit comments

Comments
 (0)