Skip to content

Commit

Permalink
print the SR command together with runsolver in verbose mode
Browse files Browse the repository at this point in the history
  • Loading branch information
ozgurakgun committed Mar 30, 2024
1 parent 78f2b3f commit 647990c
Showing 1 changed file with 22 additions and 10 deletions.
32 changes: 22 additions & 10 deletions src/Conjure/UI/MainHelper.hs
Original file line number Diff line number Diff line change
Expand Up @@ -797,9 +797,6 @@ savileRowNoParam ui@Solve{..} (modelPath, eprimeModel) = sh $ errExit False $ do
let outBase = (dropExtension . snd . splitFileName) modelPath
srArgs <- liftIO $ srMkArgs ui outBase modelPath
let tr = translateSolution eprimeModel def
when (logLevel >= LogDebug) $ do
liftIO $ putStrLn "Using the following options for Savile Row:"
liftIO $ putStrLn $ " savilerow " ++ unwords (map (quoteMultiWord . textToString) srArgs)
let handler = liftIO . srStdoutHandler
(outBase, modelPath, "<no param file>", ui)
tr (1::Int)
Expand All @@ -809,11 +806,20 @@ savileRowNoParam ui@Solve{..} (modelPath, eprimeModel) = sh $ errExit False $ do
["--quiet", "-v", outputDirectory </> outBase ++ ".runsolver-info"]
(stdoutSR, solutions) <- partitionEithers <$>
case (runsolverCPUTimeLimit, runsolverWallTimeLimit, runsolverMemoryLimit) of
(Nothing, Nothing, Nothing) -> runHandle savilerowScriptName srArgs handler
(Nothing, Nothing, Nothing) -> do
when (logLevel >= LogDebug) $ do
liftIO $ putStrLn "Using the following options for Savile Row:"
liftIO $ putStrLn $ " savilerow " ++ unwords (map (quoteMultiWord . textToString) srArgs)
runHandle savilerowScriptName srArgs handler
_ ->
if os /= "linux"
then return [Left "runsolver is only supported on linux"]
else runHandle "runsolver" (map stringToText runsolverArgs ++ [stringToText savilerowScriptName] ++ srArgs) handler
else do
when (logLevel >= LogDebug) $ do
liftIO $ putStrLn "Using the following options for Savile Row:"
liftIO $ putStrLn $ " runsolver " ++ unwords (map quoteMultiWord runsolverArgs)
++ "savilerow " ++ unwords (map (quoteMultiWord . textToString) srArgs)
runHandle "runsolver" (map stringToText runsolverArgs ++ [stringToText savilerowScriptName] ++ srArgs) handler
srCleanUp outBase ui (stringToText $ unlines stdoutSR) solutions
savileRowNoParam _ _ = bug "savileRowNoParam"

Expand Down Expand Up @@ -848,9 +854,6 @@ savileRowWithParams ui@Solve{..} (modelPath, eprimeModel) (paramPath, essencePar
: stringToText (outputDirectory </> outBase ++ ".eprime-param")
: srArgsBase
let tr = translateSolution eprimeModel essenceParam
when (logLevel >= LogDebug) $ do
liftIO $ putStrLn "Using the following options for Savile Row:"
liftIO $ putStrLn $ " savilerow " ++ unwords (map (quoteMultiWord . textToString) srArgs)
let handler = liftIO . srStdoutHandler
(outBase, modelPath, paramPath, ui)
tr (1::Int)
Expand All @@ -860,11 +863,20 @@ savileRowWithParams ui@Solve{..} (modelPath, eprimeModel) (paramPath, essencePar
["--quiet", "-v", outputDirectory </> outBase ++ ".runsolver-info"]
(stdoutSR, solutions) <- partitionEithers <$>
case (runsolverCPUTimeLimit, runsolverWallTimeLimit, runsolverMemoryLimit) of
(Nothing, Nothing, Nothing) -> runHandle savilerowScriptName srArgs handler
(Nothing, Nothing, Nothing) -> do
when (logLevel >= LogDebug) $ do
liftIO $ putStrLn "Using the following options for Savile Row:"
liftIO $ putStrLn $ " savilerow " ++ unwords (map (quoteMultiWord . textToString) srArgs)
runHandle savilerowScriptName srArgs handler
_ ->
if os /= "linux"
then return [Left "runsolver is only supported on linux"]
else runHandle "runsolver" (map stringToText runsolverArgs ++ [stringToText savilerowScriptName] ++ srArgs) handler
else do
when (logLevel >= LogDebug) $ do
liftIO $ putStrLn "Using the following options for Savile Row:"
liftIO $ putStrLn $ " runsolver " ++ unwords (map quoteMultiWord runsolverArgs)
++ "savilerow " ++ unwords (map (quoteMultiWord . textToString) srArgs)
runHandle "runsolver" (map stringToText runsolverArgs ++ [stringToText savilerowScriptName] ++ srArgs) handler

srCleanUp outBase ui (stringToText $ unlines stdoutSR) solutions
savileRowWithParams _ _ _ = bug "savileRowWithParams"
Expand Down

0 comments on commit 647990c

Please sign in to comment.