Safe Haskell | Safe-Inferred |
---|---|
Language | Haskell2010 |
Synopsis
- propertyOnce :: Sem [Log, DataLog (LogEntry LogMessage), DataLog Text, GhcTime, Hedgehog, Embed IO, Embed (PropertyT IO), Resource, Final (PropertyT IO)] () -> Property
- data Hedgehog m rv
- hedgehogToPropertyFinal :: forall a r. Member (Final (PropertyT IO)) r => Sem (Hedgehog ': r) a -> Sem r a
- interpretDataLogHedgehog :: Member Hedgehog r => (a -> Text) -> (a -> CallStack) -> InterpreterFor (DataLog a) r
- leftFail :: forall e a r. Member Hedgehog r => Show e => HasCallStack => Either e a -> Sem r a
- leftFailM :: forall e a r. Member Hedgehog r => Show e => HasCallStack => Sem r (Either e a) -> Sem r a
- leftFailJson :: forall e a r. Member Hedgehog r => ToJSON e => HasCallStack => Either e a -> Sem r a
- leftFailJsonM :: forall e a r. Member Hedgehog r => ToJSON e => HasCallStack => Sem r (Either e a) -> Sem r a
- leftFailJsonPretty :: forall e a r. Member Hedgehog r => ToJSON e => HasCallStack => Either e a -> Sem r a
- leftFailJsonPrettyM :: forall e a r. Member Hedgehog r => ToJSON e => HasCallStack => Sem r (Either e a) -> Sem r a
- leftFailPretty :: forall e a r. Member Hedgehog r => Pretty e => HasCallStack => Either e a -> Sem r a
- leftFailPrettyM :: forall e a r. Member Hedgehog r => Pretty e => HasCallStack => Sem r (Either e a) -> Sem r a
- leftFailYaml :: forall e a r. Member Hedgehog r => ToJSON e => HasCallStack => Either e a -> Sem r a
- leftFailYamlM :: forall e a r. Member Hedgehog r => ToJSON e => HasCallStack => Sem r (Either e a) -> Sem r a
- catchFail :: forall e a r. Member Hedgehog r => HasCallStack => Show e => Sem (Error e ': r) a -> Sem r a
- nothingFail :: forall a r. Member Hedgehog r => HasCallStack => Maybe a -> Sem r a
- nothingFailM :: forall a r. Member Hedgehog r => HasCallStack => Sem r (Maybe a) -> Sem r a
- requireHead :: forall a r. Member Hedgehog r => HasCallStack => [a] -> Sem r a
- trapFail :: forall e a r. Member Hedgehog r => HasCallStack => Show e => Sem (Error e ': r) a -> Sem r a
- trapFailJson :: forall e a r. Member Hedgehog r => HasCallStack => ToJSON e => Sem (Error e ': r) a -> Sem r a
- trapFailJsonPretty :: forall e a r. Member Hedgehog r => HasCallStack => ToJSON e => Sem (Error e ': r) a -> Sem r a
- trapFailYaml :: forall e a r m. MonadIO m => Member (Embed m) r => Member Hedgehog r => HasCallStack => ToJSON e => Sem (Error e ': r) a -> Sem r a
- failure :: forall a r. Member Hedgehog r => HasCallStack => Sem r a
- failMessage :: forall a r. Member Hedgehog r => HasCallStack => CallStack -> String -> Sem r a
- (===) :: forall a r. Member Hedgehog r => Eq a => Show a => HasCallStack => a -> a -> Sem r ()
- byDeadlineIO :: forall a r m. HasCallStack => Member (Embed m) r => Member (Embed IO) r => Member Hedgehog r => Member Log r => NominalDiffTime -> UTCTime -> String -> m a -> Sem r a
- byDeadlineM :: forall a r. HasCallStack => Member Hedgehog r => Member Log r => Member (Embed IO) r => NominalDiffTime -> UTCTime -> String -> Sem r a -> Sem r a
- byDurationIO :: forall b r m. HasCallStack => Member (Embed m) r => Member (Embed IO) r => Member Hedgehog r => Member Log r => NominalDiffTime -> NominalDiffTime -> String -> m b -> Sem r b
- byDurationM :: forall b r. HasCallStack => Member (Embed IO) r => Member Hedgehog r => Member Log r => NominalDiffTime -> NominalDiffTime -> String -> Sem r b -> Sem r b
- eval :: forall r a. (Member Hedgehog r, HasCallStack) => a -> Sem r a
- evalM :: forall r a. (Member Hedgehog r, HasCallStack) => Sem r a -> Sem r a
- evalIO :: forall r a. (Member Hedgehog r, HasCallStack) => IO a -> Sem r a
- writeLog :: forall r. (Member Hedgehog r, HasCallStack) => Log -> Sem r ()
- failWith :: forall r a. (Member Hedgehog r, HasCallStack) => Maybe Diff -> String -> Sem r a
- failWithCustom :: forall r a. Member Hedgehog r => CallStack -> Maybe Diff -> String -> Sem r a
- evalIO_ :: forall a r. Member Hedgehog r => HasCallStack => IO a -> Sem r ()
- evalM_ :: forall a r. Member Hedgehog r => HasCallStack => Sem r a -> Sem r ()
- catchAssertion :: forall r a. (Member Hedgehog r, HasCallStack) => Sem r a -> (Failure -> Sem r a) -> Sem r a
- throwAssertion :: forall r a. (Member Hedgehog r, HasCallStack) => Failure -> Sem r a
- trapAssertion :: forall a r. Member Hedgehog r => (Failure -> Sem r a) -> Sem r a -> Sem r a
- jotShow :: forall a r. Member Hedgehog r => HasCallStack => Show a => a -> Sem r a
- jotShow_ :: forall a r. Member Hedgehog r => HasCallStack => Show a => a -> Sem r ()
- jotJson :: forall a r. Member Hedgehog r => HasCallStack => ToJSON a => a -> Sem r a
- jotJson_ :: forall a r. Member Hedgehog r => HasCallStack => ToJSON a => a -> Sem r ()
- jotJsonPretty :: forall a r. Member Hedgehog r => HasCallStack => ToJSON a => a -> Sem r a
- jotJsonPretty_ :: forall a r. Member Hedgehog r => HasCallStack => ToJSON a => a -> Sem r ()
- jotYaml :: forall a r. Member Hedgehog r => HasCallStack => ToJSON a => a -> Sem r a
- jotYaml_ :: forall a r. Member Hedgehog r => HasCallStack => ToJSON a => a -> Sem r ()
- jotWithCallstack :: forall r. Member Hedgehog r => CallStack -> String -> Sem r ()
- jot :: forall r. Member Hedgehog r => HasCallStack => String -> Sem r String
- jot_ :: forall a r. Member Hedgehog r => HasCallStack => ToString a => a -> Sem r ()
- jotText_ :: forall r. Member Hedgehog r => HasCallStack => Text -> Sem r ()
- jotM :: forall a r. ToString a => Member Hedgehog r => HasCallStack => Sem r a -> Sem r a
- jotM_ :: forall r. Member Hedgehog r => HasCallStack => Sem r String -> Sem r ()
- jotBsUtf8M :: forall r. Member Hedgehog r => HasCallStack => Sem r ByteString -> Sem r ByteString
- jotLbsUtf8M :: forall r. Member Hedgehog r => HasCallStack => Sem r ByteString -> Sem r ByteString
- jotIO :: forall r. Member Hedgehog r => HasCallStack => IO String -> Sem r String
- jotIO_ :: forall r. Member Hedgehog r => HasCallStack => IO String -> Sem r ()
- jotShowM :: forall a r. Member Hedgehog r => HasCallStack => Show a => Sem r a -> Sem r a
- jotShowM_ :: forall a r. Member Hedgehog r => HasCallStack => Show a => Sem r a -> Sem r ()
- jotJsonM :: forall a r. Member Hedgehog r => HasCallStack => ToJSON a => Sem r a -> Sem r a
- jotJsonM_ :: forall a r. Member Hedgehog r => HasCallStack => ToJSON a => Sem r a -> Sem r ()
- jotJsonPrettyM :: forall a r. Member Hedgehog r => HasCallStack => ToJSON a => Sem r a -> Sem r a
- jotJsonPrettyM_ :: forall a r. Member Hedgehog r => HasCallStack => ToJSON a => Sem r a -> Sem r ()
- jotYamlM :: forall a r. Member Hedgehog r => HasCallStack => ToJSON a => Sem r a -> Sem r a
- jotYamlM_ :: forall a r. Member Hedgehog r => HasCallStack => ToJSON a => Sem r a -> Sem r ()
- jotShowIO :: forall a r. Member Hedgehog r => HasCallStack => Show a => IO a -> Sem r a
- jotShowIO_ :: forall a r. Member Hedgehog r => HasCallStack => Show a => IO a -> Sem r ()
- jotShowRead :: forall a r. HasCallStack => Member Hedgehog r => Read a => Show a => String -> Sem r a
- jotEach :: forall a f r. Member Hedgehog r => HasCallStack => Show a => Traversable f => f a -> Sem r (f a)
- jotEach_ :: forall a f r. Member Hedgehog r => HasCallStack => Show a => Traversable f => f a -> Sem r ()
- jotEachM :: forall a f r. Member Hedgehog r => HasCallStack => Show a => Traversable f => Sem r (f a) -> Sem r (f a)
- jotEachM_ :: forall a f r. Member Hedgehog r => HasCallStack => Show a => Traversable f => Sem r (f a) -> Sem r ()
- jotEachIO :: forall a f r. Member Hedgehog r => HasCallStack => Show a => Traversable f => IO (f a) -> Sem r (f a)
- jotEachIO_ :: forall a f r. Member Hedgehog r => HasCallStack => Show a => Traversable f => IO (f a) -> Sem r ()
- jotPkgInputFile :: forall r. HasCallStack => Member Hedgehog r => Member (Reader PackagePath) r => FilePath -> Sem r FilePath
- jotPkgGoldenFile :: forall r. HasCallStack => Member Hedgehog r => Member (Reader PackagePath) r => FilePath -> Sem r FilePath
- jotRootInputFile :: forall r. HasCallStack => Member Hedgehog r => Member (Reader ProjectRoot) r => FilePath -> Sem r FilePath
- jotTempFile :: forall r. HasCallStack => Member Hedgehog r => Member (Reader Workspace) r => FilePath -> Sem r FilePath
- jotShowDataLog :: forall a r. HasCallStack => Show a => Member Hedgehog r => InterpreterFor (DataLog a) r
- jotShowDataLogLocal :: forall a r. HasCallStack => Show a => Member Hedgehog r => (a -> a) -> InterpreterFor (DataLog a) r
- data Property
- newtype Workspace = Workspace {}
- newtype ProjectRoot = ProjectRoot {}
- newtype PackagePath = PackagePath {}
- workspace :: HasCallStack => Member Hedgehog r => Member Log r => Member (Embed IO) r => HasCallStack => FilePath -> Sem (Reader Workspace : r) () -> Sem r ()
- moduleWorkspace :: HasCallStack => Member Hedgehog r => Member Log r => Member (Embed IO) r => String -> Sem (Reader Workspace : r) () -> Sem r ()
- findCabalProjectDir :: Member Hedgehog r => Member (Embed IO) r => Member Log r => FilePath -> Sem r FilePath
Documentation
propertyOnce :: Sem [Log, DataLog (LogEntry LogMessage), DataLog Text, GhcTime, Hedgehog, Embed IO, Embed (PropertyT IO), Resource, Final (PropertyT IO)] () -> Property Source #
hedgehogToPropertyFinal :: forall a r. Member (Final (PropertyT IO)) r => Sem (Hedgehog ': r) a -> Sem r a Source #
interpretDataLogHedgehog :: Member Hedgehog r => (a -> Text) -> (a -> CallStack) -> InterpreterFor (DataLog a) r Source #
leftFail :: forall e a r. Member Hedgehog r => Show e => HasCallStack => Either e a -> Sem r a Source #
Fail when the result is Left.
leftFailM :: forall e a r. Member Hedgehog r => Show e => HasCallStack => Sem r (Either e a) -> Sem r a Source #
leftFailJson :: forall e a r. Member Hedgehog r => ToJSON e => HasCallStack => Either e a -> Sem r a Source #
Fail when the result is Left with the error message as JSON.
leftFailJsonM :: forall e a r. Member Hedgehog r => ToJSON e => HasCallStack => Sem r (Either e a) -> Sem r a Source #
leftFailJsonPretty :: forall e a r. Member Hedgehog r => ToJSON e => HasCallStack => Either e a -> Sem r a Source #
Fail when the result is Left with the error message as JSON.
leftFailJsonPrettyM :: forall e a r. Member Hedgehog r => ToJSON e => HasCallStack => Sem r (Either e a) -> Sem r a Source #
leftFailPretty :: forall e a r. Member Hedgehog r => Pretty e => HasCallStack => Either e a -> Sem r a Source #
Fail when the result is Left with the error message as JSON.
leftFailPrettyM :: forall e a r. Member Hedgehog r => Pretty e => HasCallStack => Sem r (Either e a) -> Sem r a Source #
leftFailYaml :: forall e a r. Member Hedgehog r => ToJSON e => HasCallStack => Either e a -> Sem r a Source #
Fail when the result is Left with the error message as JSON.
leftFailYamlM :: forall e a r. Member Hedgehog r => ToJSON e => HasCallStack => Sem r (Either e a) -> Sem r a Source #
catchFail :: forall e a r. Member Hedgehog r => HasCallStack => Show e => Sem (Error e ': r) a -> Sem r a Source #
Deprecated: Use trapFail instead
nothingFail :: forall a r. Member Hedgehog r => HasCallStack => Maybe a -> Sem r a Source #
nothingFailM :: forall a r. Member Hedgehog r => HasCallStack => Sem r (Maybe a) -> Sem r a Source #
requireHead :: forall a r. Member Hedgehog r => HasCallStack => [a] -> Sem r a Source #
trapFail :: forall e a r. Member Hedgehog r => HasCallStack => Show e => Sem (Error e ': r) a -> Sem r a Source #
trapFailJson :: forall e a r. Member Hedgehog r => HasCallStack => ToJSON e => Sem (Error e ': r) a -> Sem r a Source #
trapFailJsonPretty :: forall e a r. Member Hedgehog r => HasCallStack => ToJSON e => Sem (Error e ': r) a -> Sem r a Source #
trapFailYaml :: forall e a r m. MonadIO m => Member (Embed m) r => Member Hedgehog r => HasCallStack => ToJSON e => Sem (Error e ': r) a -> Sem r a Source #
failMessage :: forall a r. Member Hedgehog r => HasCallStack => CallStack -> String -> Sem r a Source #
(===) :: forall a r. Member Hedgehog r => Eq a => Show a => HasCallStack => a -> a -> Sem r () Source #
byDeadlineIO :: forall a r m. HasCallStack => Member (Embed m) r => Member (Embed IO) r => Member Hedgehog r => Member Log r => NominalDiffTime -> UTCTime -> String -> m a -> Sem r a Source #
byDeadlineM :: forall a r. HasCallStack => Member Hedgehog r => Member Log r => Member (Embed IO) r => NominalDiffTime -> UTCTime -> String -> Sem r a -> Sem r a Source #
Run the operation f
once a second until it returns True
or the deadline expires.
Expiration of the deadline results in an assertion failure
byDurationIO :: forall b r m. HasCallStack => Member (Embed m) r => Member (Embed IO) r => Member Hedgehog r => Member Log r => NominalDiffTime -> NominalDiffTime -> String -> m b -> Sem r b Source #
Run the operation f
once a second until it returns True
or the duration expires.
Expiration of the duration results in an assertion failure
byDurationM :: forall b r. HasCallStack => Member (Embed IO) r => Member Hedgehog r => Member Log r => NominalDiffTime -> NominalDiffTime -> String -> Sem r b -> Sem r b Source #
Run the operation f
once a second until it returns True
or the duration expires.
Expiration of the duration results in an assertion failure
failWith :: forall r a. (Member Hedgehog r, HasCallStack) => Maybe Diff -> String -> Sem r a Source #
failWithCustom :: forall r a. Member Hedgehog r => CallStack -> Maybe Diff -> String -> Sem r a Source #
catchAssertion :: forall r a. (Member Hedgehog r, HasCallStack) => Sem r a -> (Failure -> Sem r a) -> Sem r a Source #
throwAssertion :: forall r a. (Member Hedgehog r, HasCallStack) => Failure -> Sem r a Source #
trapAssertion :: forall a r. Member Hedgehog r => (Failure -> Sem r a) -> Sem r a -> Sem r a Source #
jotShow :: forall a r. Member Hedgehog r => HasCallStack => Show a => a -> Sem r a Source #
Annotate the given value.
jotShow_ :: forall a r. Member Hedgehog r => HasCallStack => Show a => a -> Sem r () Source #
Annotate the given value returning unit.
jotJson :: forall a r. Member Hedgehog r => HasCallStack => ToJSON a => a -> Sem r a Source #
Annotate the given value as JSON.
jotJson_ :: forall a r. Member Hedgehog r => HasCallStack => ToJSON a => a -> Sem r () Source #
Annotate the given value as JSON.
jotJsonPretty :: forall a r. Member Hedgehog r => HasCallStack => ToJSON a => a -> Sem r a Source #
Annotate the given value as JSON.
jotJsonPretty_ :: forall a r. Member Hedgehog r => HasCallStack => ToJSON a => a -> Sem r () Source #
Annotate the given value as JSON.
jotYaml :: forall a r. Member Hedgehog r => HasCallStack => ToJSON a => a -> Sem r a Source #
Annotate the given value as JSON.
jotYaml_ :: forall a r. Member Hedgehog r => HasCallStack => ToJSON a => a -> Sem r () Source #
Annotate the given value as JSON.
jotWithCallstack :: forall r. Member Hedgehog r => CallStack -> String -> Sem r () Source #
Annotate the given string at the context supplied by the callstack.
jot :: forall r. Member Hedgehog r => HasCallStack => String -> Sem r String Source #
Annotate with the given string.
jot_ :: forall a r. Member Hedgehog r => HasCallStack => ToString a => a -> Sem r () Source #
Annotate the given string returning unit.
jotText_ :: forall r. Member Hedgehog r => HasCallStack => Text -> Sem r () Source #
Annotate the given text returning unit.
jotM :: forall a r. ToString a => Member Hedgehog r => HasCallStack => Sem r a -> Sem r a Source #
Annotate the given string in a monadic context.
jotM_ :: forall r. Member Hedgehog r => HasCallStack => Sem r String -> Sem r () Source #
Annotate the given string in a monadic context returning unit.
jotBsUtf8M :: forall r. Member Hedgehog r => HasCallStack => Sem r ByteString -> Sem r ByteString Source #
jotLbsUtf8M :: forall r. Member Hedgehog r => HasCallStack => Sem r ByteString -> Sem r ByteString Source #
jotIO :: forall r. Member Hedgehog r => HasCallStack => IO String -> Sem r String Source #
Annotate the given string in IO.
jotIO_ :: forall r. Member Hedgehog r => HasCallStack => IO String -> Sem r () Source #
Annotate the given string in IO returning unit.
jotShowM :: forall a r. Member Hedgehog r => HasCallStack => Show a => Sem r a -> Sem r a Source #
Annotate the given value in a monadic context.
jotShowM_ :: forall a r. Member Hedgehog r => HasCallStack => Show a => Sem r a -> Sem r () Source #
Annotate the given value in a monadic context returning unit.
jotJsonM :: forall a r. Member Hedgehog r => HasCallStack => ToJSON a => Sem r a -> Sem r a Source #
Annotate the given value as JSON in a monadic context.
jotJsonM_ :: forall a r. Member Hedgehog r => HasCallStack => ToJSON a => Sem r a -> Sem r () Source #
Annotate the given value as JSON in a monadic context.
jotJsonPrettyM :: forall a r. Member Hedgehog r => HasCallStack => ToJSON a => Sem r a -> Sem r a Source #
Annotate the given value as JSON in a monadic context.
jotJsonPrettyM_ :: forall a r. Member Hedgehog r => HasCallStack => ToJSON a => Sem r a -> Sem r () Source #
Annotate the given value as JSON in a monadic context.
jotYamlM :: forall a r. Member Hedgehog r => HasCallStack => ToJSON a => Sem r a -> Sem r a Source #
Annotate the given value as JSON in a monadic context.
jotYamlM_ :: forall a r. Member Hedgehog r => HasCallStack => ToJSON a => Sem r a -> Sem r () Source #
Annotate the given value as JSON in a monadic context.
jotShowIO :: forall a r. Member Hedgehog r => HasCallStack => Show a => IO a -> Sem r a Source #
Annotate the given value in IO.
jotShowIO_ :: forall a r. Member Hedgehog r => HasCallStack => Show a => IO a -> Sem r () Source #
Annotate the given value in IO returning unit.
jotShowRead :: forall a r. HasCallStack => Member Hedgehog r => Read a => Show a => String -> Sem r a Source #
Annotate the given value.
jotEach :: forall a f r. Member Hedgehog r => HasCallStack => Show a => Traversable f => f a -> Sem r (f a) Source #
Annotate the each value in the given traversable.
jotEach_ :: forall a f r. Member Hedgehog r => HasCallStack => Show a => Traversable f => f a -> Sem r () Source #
Annotate the each value in the given traversable returning unit.
jotEachM :: forall a f r. Member Hedgehog r => HasCallStack => Show a => Traversable f => Sem r (f a) -> Sem r (f a) Source #
Annotate the each value in the given traversable in a monadic context.
jotEachM_ :: forall a f r. Member Hedgehog r => HasCallStack => Show a => Traversable f => Sem r (f a) -> Sem r () Source #
Annotate the each value in the given traversable in a monadic context returning unit.
jotEachIO :: forall a f r. Member Hedgehog r => HasCallStack => Show a => Traversable f => IO (f a) -> Sem r (f a) Source #
Annotate the each value in the given traversable in IO.
jotEachIO_ :: forall a f r. Member Hedgehog r => HasCallStack => Show a => Traversable f => IO (f a) -> Sem r () Source #
Annotate the each value in the given traversable in IO returning unit.
jotPkgInputFile :: forall r. HasCallStack => Member Hedgehog r => Member (Reader PackagePath) r => FilePath -> Sem r FilePath Source #
Return the input file path after annotating it relative to the package directory
jotPkgGoldenFile :: forall r. HasCallStack => Member Hedgehog r => Member (Reader PackagePath) r => FilePath -> Sem r FilePath Source #
Return the golden file path after annotating it relative to the package directory
jotRootInputFile :: forall r. HasCallStack => Member Hedgehog r => Member (Reader ProjectRoot) r => FilePath -> Sem r FilePath Source #
jotTempFile :: forall r. HasCallStack => Member Hedgehog r => Member (Reader Workspace) r => FilePath -> Sem r FilePath Source #
Return the test file path after annotating it relative to the project root directory
jotShowDataLog :: forall a r. HasCallStack => Show a => Member Hedgehog r => InterpreterFor (DataLog a) r Source #
jotShowDataLogLocal :: forall a r. HasCallStack => Show a => Member Hedgehog r => (a -> a) -> InterpreterFor (DataLog a) r Source #
A property test, along with some configurable limits like how many times to run the test.
Instances
Generic Workspace Source # | |
Show Workspace Source # | |
Eq Workspace Source # | |
type Rep Workspace Source # | |
Defined in HaskellWorks.Polysemy.Hedgehog.Workspace.Types type Rep Workspace = D1 ('MetaData "Workspace" "HaskellWorks.Polysemy.Hedgehog.Workspace.Types" "hw-polysemy-0.2.14.12-JkVEObY6sxh9J3MNQWbjvW-hedgehog" 'True) (C1 ('MetaCons "Workspace" 'PrefixI 'True) (S1 ('MetaSel ('Just "filePath") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 FilePath))) |
newtype ProjectRoot Source #
Instances
Show ProjectRoot Source # | |
Defined in HaskellWorks.Polysemy.Hedgehog.Workspace.Types showsPrec :: Int -> ProjectRoot -> ShowS # show :: ProjectRoot -> String # showList :: [ProjectRoot] -> ShowS # | |
Eq ProjectRoot Source # | |
Defined in HaskellWorks.Polysemy.Hedgehog.Workspace.Types (==) :: ProjectRoot -> ProjectRoot -> Bool # (/=) :: ProjectRoot -> ProjectRoot -> Bool # |
newtype PackagePath Source #
Instances
Show PackagePath Source # | |
Defined in HaskellWorks.Polysemy.Hedgehog.Workspace.Types showsPrec :: Int -> PackagePath -> ShowS # show :: PackagePath -> String # showList :: [PackagePath] -> ShowS # | |
Eq PackagePath Source # | |
Defined in HaskellWorks.Polysemy.Hedgehog.Workspace.Types (==) :: PackagePath -> PackagePath -> Bool # (/=) :: PackagePath -> PackagePath -> Bool # |
workspace :: HasCallStack => Member Hedgehog r => Member Log r => Member (Embed IO) r => HasCallStack => FilePath -> Sem (Reader Workspace : r) () -> Sem r () Source #
Create a workspace directory which will exist for at least the duration of the supplied block.
The directory will have the supplied prefix but contain a generated random suffix to prevent interference between tests
The directory will be deleted if the block succeeds, but left behind if the block fails.
moduleWorkspace :: HasCallStack => Member Hedgehog r => Member Log r => Member (Embed IO) r => String -> Sem (Reader Workspace : r) () -> Sem r () Source #
Create a workspace directory which will exist for at least the duration of the supplied block.
The directory will have the prefix as "$prefixPath/$moduleName" but contain a generated random suffix to prevent interference between tests
The directory will be deleted if the block succeeds, but left behind if the block fails.
The prefix
argument should not contain directory delimeters.
findCabalProjectDir :: Member Hedgehog r => Member (Embed IO) r => Member Log r => FilePath -> Sem r FilePath Source #
Compute the project base. This will be the first parent directory that contains the `cabal.project` file. This should should point to the root directory of the Github project checkout.