Skip to content

No shrinking happening when checking a DL formula #31

@ghost

Description

I am surprised by the fact I don't see any trace of shrinking happening with some property I am checking, although I implemented shrinkAction. precondition = const True

Here is the DL property I am checking:

accept_all_non_conflicting_txs :: DL MempoolModel ()
accept_all_non_conflicting_txs = do
    anyActions_
    getModelStateDL >>= \case
        MempoolModel{transactions} ->
            eventually (HasValidatedTxs transactions)
        _ -> pure ()
  where
    eventually a = action (Wait 10) >> action a

and the resulting failure:

ouroboros-consensus
  Mempool
    Mempool Model
      eventually accepts all non-conflicting txs: FAIL
        *** Failed! Assertion failed (after 8 tests):
        DLScript
          [Do $ Var 0 := InitMempool (MempoolAndModelParams {immpInitialState = TestLedger {lastAppliedPoint = At (Block {blockPointSlot = SlotNo 14, blockPointHash = (testHashFromList [15,14,26,6,21,4])}), payloadDependentState = TestL
edgerState {availableTokens = fromList [Token {unToken = 4},Token {unToken = 5},Token {unToken = 7}]}}, immpLedgerConfig = EraParams {eraEpochSize = EpochSize 100, eraSlotLength = SlotLength 2s, eraSafeZone = StandardSafeZone 20}}),
           Do $ Var 1 := AddTxs [Tx {consumed = fromList [Token {unToken = 4},Token {unToken = 7}], produced = fromList [Token {unToken = 1},Token {unToken = 2},Token {unToken = 4},Token {unToken = 5},Token {unToken = 8}]}],
           Do $ Var 2 := AddTxs [Tx {consumed = fromList [Token {unToken = 4},Token {unToken = 5}], produced = fromList [Token {unToken = 5},Token {unToken = 6}]}],
           Do $ Var 3 := AddTxs [Tx {consumed = fromList [Token {unToken = 1},Token {unToken = 2},Token {unToken = 8}], produced = fromList [Token {unToken = 8}]}],
           Do $ Var 4 := AddTxs [Tx {consumed = fromList [Token {unToken = 5}], produced = fromList [Token {unToken = 0},Token {unToken = 1},Token {unToken = 3},Token {unToken = 4}]}],
           Do $ Var 5 := AddTxs [Tx {consumed = fromList [Token {unToken = 0},Token {unToken = 8}], produced = fromList [Token {unToken = 2}]}],
           Do $ Var 6 := AddTxs [Tx {consumed = fromList [Token {unToken = 1},Token {unToken = 4},Token {unToken = 6}], produced = fromList [Token {unToken = 2},Token {unToken = 3},Token {unToken = 4},Token {unToken = 8}]}],
           Do $ Var 7 := AddTxs [Tx {consumed = fromList [Token {unToken = 2}], produced = fromList [Token {unToken = 1},Token {unToken = 3},Token {unToken = 4},Token {unToken = 5}]}],
           Do $ Var 8 := Wait 10,
           Do $ Var 9 := HasValidatedTxs [Tx {consumed = fromList [Token {unToken = 4},Token {unToken = 7}], produced = fromList [Token {unToken = 1},Token {unToken = 2},Token {unToken = 4},Token {unToken = 5},Token {unToken = 8}]},Tx {
consumed = fromList [Token {unToken = 4},Token {unToken = 5}], produced = fromList [Token {unToken = 5},Token {unToken = 6}]},Tx {consumed = fromList [Token {unToken = 1},Token {unToken = 2},Token {unToken = 8}], produced = fromList [To
ken {unToken = 8}]},Tx {consumed = fromList [Token {unToken = 5}], produced = fromList [Token {unToken = 0},Token {unToken = 1},Token {unToken = 3},Token {unToken = 4}]},Tx {consumed = fromList [Token {unToken = 0},Token {unToken = 8}],
 produced = fromList [Token {unToken = 2}]},Tx {consumed = fromList [Token {unToken = 1},Token {unToken = 4},Token {unToken = 6}], produced = fromList [Token {unToken = 2},Token {unToken = 3},Token {unToken = 4},Token {unToken = 8}]},Tx
 {consumed = fromList [Token {unToken = 2}], produced = fromList [Token {unToken = 1},Token {unToken = 3},Token {unToken = 4},Token {unToken = 5}]}]]

I would expect this part *** Failed! Assertion failed (after 8 tests): to tell me it tried some shrinking.

I am using q-d v 2.0.0.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions