cardano-ledger-test-9.9.9.9: Testing harness, tests and benchmarks for Shelley style cardano ledgers
Safe HaskellSafe-Inferred
LanguageHaskell2010

Test.Cardano.Ledger.Generic.Trace

Synopsis

Documentation

genRsTxAndModel ∷ ∀ era. EraGenericGen era ⇒ IntSlotNoGenRS era (Tx era) Source #

Generate a Tx and an internal Model of the state after the tx has been applied. That model can be used to generate the next Tx

genRsTxSeq ∷ ∀ era. EraGenericGen era ⇒ IntInt → [(StrictSeq (Tx era), SlotNo)] → SlotNoGenRS era (Vector (StrictSeq (Tx era), SlotNo)) Source #

Generate a Vector of (StrictSeq (Tx era)) representing a (Vector Block)

genTxSeq ∷ ∀ era. EraGenericGen era ⇒ GenSizeIntGenRS era () → Gen (Vector (StrictSeq (Tx era), SlotNo), GenState era) Source #

Generate a Vector of Blocks, and an initial LedgerState

initialMockChainState ∷ ∀ era. Reflect era ⇒ GenState era → MockChainState era Source #

makeEpochStateReflect era ⇒ GenState era → LedgerState era → EpochState era Source #

raiseMockError ∷ ∀ era. (Reflect era, EraTest era) ⇒ Word64SlotNoEpochState era → NonEmpty (MockChainFailure era) → [Tx era] → GenState era → String Source #

shortTxOutEraTxOut era ⇒ TxOut era → Expr Source #

smartTxBodyEraTest era ⇒ MUtxo era → TxBody era → Expr Source #

data Gen1 era Source #

Constructors

Gen1 (Vector (StrictSeq (Tx era), SlotNo)) (GenState era) 

Instances

Instances details
(STS (MOCKCHAIN era), Reflect era, EraTest era, ToExpr (PredicateFailure (EraRule "LEDGER" era)), ToExpr (PredicateFailure (EraRule "NEWEPOCH" era)), ToExpr (PredicateFailure (EraRule "RUPD" era))) ⇒ HasTrace (MOCKCHAIN era) (Gen1 era) Source # 
Instance details

Defined in Test.Cardano.Ledger.Generic.Trace

Associated Types

type BaseEnv (MOCKCHAIN era) Source #

Methods

interpretSTSHasCallStackBaseEnv (MOCKCHAIN era) → BaseM (MOCKCHAIN era) a → a Source #

envGenGen1 era → Gen (Environment (MOCKCHAIN era)) Source #

sigGenGen1 era → Environment (MOCKCHAIN era) → State (MOCKCHAIN era) → Gen (Signal (MOCKCHAIN era)) Source #

shrinkSignalSignal (MOCKCHAIN era) → [Signal (MOCKCHAIN era)] Source #

mapProportionEpochNoWord64IntMap k IntGen k Source #

genTrace ∷ ∀ era. (HasTrace (MOCKCHAIN era) (Gen1 era), EraGenericGen era) ⇒ IntGenSizeGenRS era () → Gen (Trace (MOCKCHAIN era)) Source #

traceProp ∷ ∀ era prop. (HasTrace (MOCKCHAIN era) (Gen1 era), EraGenericGen era) ⇒ IntGenSize → (MockChainState era → MockChainState era → prop) → Gen prop Source #

forEachEpochTrace ∷ ∀ era prop. (Testable prop, HasTrace (MOCKCHAIN era) (Gen1 era), EraGenericGen era) ⇒ IntGenSize → (Trace (MOCKCHAIN era) → prop) → Gen Property Source #

forAllTraceFromInitState Source #

Arguments

∷ ∀ sts traceGenEnv prop. (HasTrace sts traceGenEnv, Testable prop, Show (Environment sts)) 
BaseEnv sts 
Word64

Maximum trace length.

→ traceGenEnv 
Maybe (IRC sts → Gen (Either (NonEmpty (PredicateFailure sts)) (State sts)))

Optional generator of STS initial state

→ (Trace sts → prop) 
Property 

Check a property on the sts traces.

Takes an optional generator for initial state of the STS.

testPropMaxTestable prop ⇒ IntString → prop → TestTree Source #

We are making smoke tests, testing for smoke rather than fire. Under the assumption that shorter tests have advantages like not getting turned off because the tests take too long. A glaring failure is likely to be caught in n tests, rather than the standard '100'

chainTest ∷ ∀ era. (HasTrace (MOCKCHAIN era) (Gen1 era), Eq (StashedAVVMAddresses era), EraGenericGen era) ⇒ IntGenSizeTestTree Source #

multiEpochTest ∷ ∀ era. (HasTrace (MOCKCHAIN era) (Gen1 era), EraGenericGen era) ⇒ IntGenSizeTestTree Source #

Show that Ada is preserved across multiple Epochs