From 1054a0200a728dad5e9de97fc1057612ab8227c2 Mon Sep 17 00:00:00 2001 From: Yann Herklotz Date: Sun, 5 May 2019 17:33:29 +0100 Subject: Format with brittany --- src/VeriFuzz/Fuzz.hs | 60 ++++++++++++++++++++++++++++++++++------------------ 1 file changed, 40 insertions(+), 20 deletions(-) (limited to 'src/VeriFuzz/Fuzz.hs') diff --git a/src/VeriFuzz/Fuzz.hs b/src/VeriFuzz/Fuzz.hs index 4680a03..57928b4 100644 --- a/src/VeriFuzz/Fuzz.hs +++ b/src/VeriFuzz/Fuzz.hs @@ -116,7 +116,11 @@ synthesis src = do liftSh . mkdir_p . fromText $ toText a pop (fromText $ toText a) $ runSynth a src -generateSample :: (MonadIO m, MonadSh m) => Maybe Seed -> Gen SourceInfo -> Fuzz m (Seed, SourceInfo) +generateSample + :: (MonadIO m, MonadSh m) + => Maybe Seed + -> Gen SourceInfo + -> Fuzz m (Seed, SourceInfo) generateSample seed gen = do logT "Sampling Verilog from generator" (t, v) <- timeit $ sampleSeed seed gen @@ -165,13 +169,20 @@ equivalence src = do fuzz :: MonadFuzz m => Gen SourceInfo -> Config -> Fuzz m FuzzReport fuzz gen conf = do (seed', src) <- generateSample seed gen - liftSh . writefile "config.toml" . encodeConfig $ conf & configProperty . propSeed .~ Just seed' + liftSh + . writefile "config.toml" + . encodeConfig + $ conf + & configProperty + . propSeed + .~ Just seed' synthesis src equivalence src return mempty where seed = conf ^. configProperty . propSeed -fuzzInDir :: MonadFuzz m => FilePath -> Gen SourceInfo -> Config -> Fuzz m FuzzReport +fuzzInDir + :: MonadFuzz m => FilePath -> Gen SourceInfo -> Config -> Fuzz m FuzzReport fuzzInDir fp src conf = do make fp pop fp $ fuzz src conf @@ -197,23 +208,32 @@ fuzzMultiple n fp src conf = do when (isNothing seed) . void . pop x . forM [1 .. n] $ fuzzDir unless (isNothing seed) . void . pop x $ fuzzDir (1 :: Int) return mempty - where fuzzDir n' = fuzzInDir (fromText $ "fuzz_" <> showT n') src conf - seed = conf ^. configProperty . propSeed + where + fuzzDir n' = fuzzInDir (fromText $ "fuzz_" <> showT n') src conf + seed = conf ^. configProperty . propSeed sampleSeed :: MonadIO m => Maybe Seed -> Gen a -> m (Seed, a) sampleSeed s gen = - liftIO $ - let - loop n = - if n <= 0 then - error "Hedgehog.Gen.sample: too many discards, could not generate a sample" - else do - seed <- maybe Hog.random return s - case runIdentity . runMaybeT . Hog.runTree $ Hog.runGenT 30 seed gen of - Nothing -> - loop (n - 1) - Just x -> do - liftIO . putStrLn $ "VeriFuzz: Chosen seed was '" <> show seed <> "'" - pure $ (seed, Hog.nodeValue x) - in - loop (100 :: Int) + liftIO + $ let + loop n = if n <= 0 + then + error + "Hedgehog.Gen.sample: too many discards, could not generate a sample" + else do + seed <- maybe Hog.random return s + case + runIdentity + . runMaybeT + . Hog.runTree + $ Hog.runGenT 30 seed gen + of + Nothing -> loop (n - 1) + Just x -> do + liftIO + . putStrLn + $ "VeriFuzz: Chosen seed was '" + <> show seed + <> "'" + pure $ (seed, Hog.nodeValue x) + in loop (100 :: Int) -- cgit