22
33module Main where
44
5- import Control.Monad (unless , forM_ , when )
5+ import Control.Monad (unless , forM_ )
66import Control.Monad.Reader (runReaderT , liftIO )
77import Control.Monad.Random (getRandomR )
88import Data.Aeson.Key qualified as Aeson.Key
@@ -12,7 +12,7 @@ import Data.Hashable (hash)
1212import Data.IORef (readIORef )
1313import Data.List.NonEmpty qualified as NE
1414import Data.Map qualified as Map
15- import Data.Maybe (fromMaybe , isJust )
15+ import Data.Maybe (fromMaybe )
1616import Data.Set qualified as Set
1717import Data.Text (Text )
1818import Data.Text qualified as T
@@ -24,7 +24,6 @@ import Main.Utf8 (withUtf8)
2424import Options.Applicative
2525import Paths_echidna (version )
2626import System.Directory (createDirectoryIfMissing )
27- import System.Environment (lookupEnv )
2827import System.Exit (exitWith , exitSuccess , ExitCode (.. ))
2928import System.FilePath ((</>) , (<.>) )
3029import System.IO (hPutStrLn , stderr )
@@ -42,13 +41,12 @@ import Echidna.Output.Corpus
4241import Echidna.Output.Foundry
4342import Echidna.Output.Source
4443import Echidna.Solidity (compileContracts )
45- import Echidna.Test (reproduceTest , validateTestMode )
44+ import Echidna.Test (validateTestMode )
4645import Echidna.Types.Campaign
4746import Echidna.Types.Config
4847import Echidna.Types.Solidity
4948import Echidna.Types.Test (TestMode , EchidnaTest (.. ), TestType (.. ), TestState (.. ))
5049import Echidna.UI
51- import Echidna.UI.Report (ppFailWithTraces , ppTestName )
5250import Echidna.Utility (measureIO )
5351
5452main :: IO ()
@@ -86,19 +84,6 @@ main = withUtf8 $ withCP65001 $ do
8684 measureIO cfg. solConf. quiet " Saving test reproducers" $
8785 saveTxs env (dir </> " reproducers" ) (filter (not . null ) $ (. reproducer) <$> tests)
8886
89- saveTracesEnabled <- lookupEnv " ECHIDNA_SAVE_TRACES"
90- when (isJust saveTracesEnabled) $ do
91- measureIO cfg. solConf. quiet " Saving test reproducers-traces" $ do
92- flip runReaderT env $ do
93- forM_ tests $ \ test ->
94- unless (null test. reproducer) $ do
95- (results, finalVM) <- reproduceTest vm test
96- let subdir = dir </> " reproducers-traces"
97- liftIO $ createDirectoryIfMissing True subdir
98- let file = subdir </> (show . abs . hash) test. reproducer <.> " txt"
99- txsPrinted <- ppFailWithTraces Nothing finalVM results
100- liftIO $ writeFile file (ppTestName test <> " : " <> txsPrinted)
101-
10287 measureIO cfg. solConf. quiet " Saving corpus" $ do
10388 corpus <- readIORef env. corpusRef
10489 saveTxs env (dir </> " coverage" ) (snd <$> Set. toList corpus)
0 commit comments