Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add conformance testing for the UTXO rule #4318

Closed
wants to merge 1 commit into from

WIP

f614cc0
Select commit
Loading
Failed to load commit list.
Closed

Add conformance testing for the UTXO rule #4318

WIP
f614cc0
Select commit
Loading
Failed to load commit list.
IOG Hydra / ci/hydra-build:x86_64-linux.checks.cardano-ledger-test:test:cardano-ledger-test failed May 3, 2024 in 8m 34s

Build failed

1 failed steps

Details

Failed Steps

Step 1

Derivation

/nix/store/cnjyapl7kwgsi5qavycrwcwghbi70y33-cardano-ledger-test-test-cardano-ledger-test-9.9.9.9-check.drv

Log

unpacking sources
unpacking source archive /nix/store/fifzr8dqgkmkvf3p8a6l8ig2f8491a55-source-root-libs-cardano-ledger-test-test-cardano-ledger-test-root
source root is source-root-libs-cardano-ledger-test-test-cardano-ledger-test-root
patching sources
building
/nix/store/1lxby0c03bdv2k90jbs1dyh46kwrpch6-cardano-ledger-test-test-cardano-ledger-test-9.9.9.9/bin:
patching script interpreter paths in /build/tmp.SjNRPnPIor/bin
cardano-core
  Pretty printer tests
    UTxO:                                                             OK (0.01s)
      +++ OK, passed 25 tests.
    TxBody:                                                           OK (0.01s)
      +++ OK, passed 25 tests.
    Tx:                                                               OK (0.01s)
      +++ OK, passed 25 tests.
    LedgerState:                                                      OK (0.07s)
      +++ OK, passed 25 tests.
  Spec tests
    reversing OrdCond:                                                OK
      +++ OK, passed 100 tests.
    Size test
      test Size sound:                                                OK
        +++ OK, passed 100 tests.
      test genFromSize is non-negative:                               OK
        +++ OK, passed 100 tests.
      test merging Size:                                              OK
        +++ OK, passed 100 tests.
      test alternate merge Size:                                      OK
        +++ OK, passed 100 tests.
    RelSpec tests
      we generate consistent RelSpecs:                                OK
        +++ OK, passed 100 tests.
      test RelSpec sound:                                             OK
        +++ OK, passed 100 tests.
      test mergeRelSpec:                                              OK
        +++ OK, passed 100 tests.
      test More consistent RelSpec:                                   passed 199 tests. Spec size 10
OK
        +++ OK, passed 1 test.
    RngSpec tests
      we generate consistent RngSpec:                                 OK
        +++ OK, passed 100 tests.
      test RngSpec sound:                                             OK
        +++ OK, passed 100 tests.
      test mergeRngSpec:                                              OKpassed 831 tests. Spec size 5

        +++ OK, passed 100 tests.
      test More consistent RngSpec:                                   OK
        +++ OK, passed 1 test.
    MapSpec tests
      test MapSpec sound:                                             OK
        +++ OK, passed 100 tests.
      test More consistent MapSpec:                                   passed 1087 tests. Spec size 3
OK
        +++ OK, passed 1 test.
    SetSpec tests
      test SetSpec sound:                                             OKpassed 1287 tests. Spec size 4

        +++ OK, passed 100 tests.
      test More consistent SetSpec:                                   OK
        +++ OK, passed 1 test.
    ListSpec tests
      test ElemSpec sound:                                            OKpassed 623 tests. Spec size (Range 8 8)

        +++ OK, passed 100 tests.
      test consistent ElemSpec:                                       OK
        +++ OK, passed 1 test.
      test ListSpec sound:                                            OKpassed 706 tests. Spec size (AtLeast 7)

        +++ OK, passed 100 tests.
      test consistent ListSpec:                                       OK
        +++ OK, passed 1 test.
    AddsSpec tests
      test Sound MergeAddsSpec:                                       passed 187 tests.
OK
passed 242 tests.
        +++ OK, passed 1 test.
      test Sound non-negative MergeAddsSpec:                          OK
        +++ OK, passed 1 test.
      test Sound non-negative AddsSpec:                               OK
        +++ OK, passed 100 tests.
      test Sound any AddsSpec:                                        OK
        +++ OK, passed 100 tests.
    PairSpec test
      test sound PairSpec:                                            OK
        +++ OK, passed 100 tests.
      test ConsistentPair:                                            OK
        +++ OK, passed 100 tests.
      test merge PairSpec:                                            OKpassed 1463 tests

        +++ OK, passed 100 tests.
      test More consistent PairSpec:                                  OK
        +++ OK, passed 1 test.
  Example tests
    test 1A. Cyclic preds detected:                                   OK
    test 1B. ACyclic preds solved:                                    OK
    test 19 Test of projOnDom function:                               OK
    Test 4. Inconsistent Size:                                        Fails as expected OK
OK
    Test 5. Bad Sum, impossible partition.:                           Fails as expected OK
OK
    Test6. Find a viable order of variables:                          testing: find a viable order of variables
+++ OK, passed 1 test.
OKtesting: compute a solution
+++ OK, passed 1 test.

    Test7. Compute a solution:                                        OK
    Test 14 Catch unsolveable use of Sized:                           Fails as expected OK
OK
    Test 3. PState example:                                           OK
      +++ OK, passed 30 tests.
    Test 8. Pstate constraints:                                       OK
      +++ OK, passed 30 tests.
    Test 9. Test of summing:                                          OK
      +++ OK, passed 30 tests.
    Test 10. Test conditions EQL LTH LTE GTH GTE:                     OK
      +++ OK, passed 30 tests.
    Test 11. Instanaeous Sum Tests:                                   OK
      +++ OK, passed 100 tests.
    Test 12. CanFollow tests:                                         OK
      +++ OK, passed 30 tests.
    Test 13. Component tests:                                         OK
      +++ OK, passed 30 tests.
    Test 15. Summation on Natural:                                    OK
      +++ OK, passed 30 tests.
    Test 16. Test NonEmpty subset:                                    OK
      +++ OK, passed 30 tests.
    Test 17. Full NewEpochState:                                      OK (0.05s)
      +++ OK, passed 30 tests.
    Test 18a. Projection test:                                        OK
      +++ OK, passed 30 tests.
    Test 18b. Projection test:                                        OK
      +++ OK, passed 30 tests.
    Test 20. ptr & rewards are inverses:                              OK
      +++ OK, passed 30 tests.
    Constraint soundness:                                             OK (0.02s)
      +++ OK, passed 30 tests; 1 discarded.
      
      Constraint types (522 in total):
      31.6% :=:
      29.3% Sized
      14.4% Subset
      14.2% SumsTo
      10.5% Disjoint
      
      Var count (30 in total):
      13% 16
      10% 1
      10% 14
      10% 22
       7% 11
       7% 18
       7% 2
       3% 10
       3% 12
       3% 25
       3% 26
       3% 29
       3% 3
       3% 31
       3% 33
       3% 35
       3% 4
       3% 7
    Shrinking soundness:                                              OK (2.23s)
      +++ OK, passed 30 tests; 1 discarded.
      
      Constraint types (645 in total):
      30.2% Sized
      25.6% :=:
      16.0% SumsTo
      15.3% Subset
      12.9% Disjoint
      
      Shrinkings (30 in total):
       7% 70
       3% 0
       3% 1067
       3% 1078
       3% 1262
       3% 1356
       3% 160
       3% 175
       3% 1792
       3% 192
       3% 2073
       3% 226
       3% 251
       3% 270
       3% 280
       3% 390
       3% 393
       3% 395
       3% 409
       3% 431
       3% 526
       3% 537
       3% 55
       3% 620
       3% 628
       3% 670
       3% 752
       3% 871
       3% 993
      
      Var count (30 in total):
      10% 14
      10% 15
       7% 12
       7% 2
       7% 29
       7% 3
       7% 33
       3% 10
       3% 16
       3% 17
       3% 18
       3% 20
       3% 21
       3% 23
       3% 24
       3% 25
       3% 26
       3% 27
       3% 28
       3% 30
       3% 7
    NewEpochState and Tx generation:                                  OK (41.69s)
      +++ OK, passed 100 tests.
    ListWhereTest:                                                    OK (0.02s)
      +++ OK, passed 100 tests.
  Testing each Tx in a Conway trace of length=100 passes applySTS.:   LOOP: fee >= maxFeeEstimate, Discard
OK (7.28s)
    +++ OK, passed 10 tests; 7 discarded.
  Testing all Stages in the Preds directory
    Testing TxOut Stage:                                              collateralPercentage keyDepAmt maxBBSize maxBHSize maxEpoch maxTxExUnits maxTxSize minFeeA minFeeB poolDepAmt pparams prevProtVer protVer
OK
    Testing Universe Stage:                                           addrUniv allScriptUniv beginSlotDelta bigCoin byronAddrUniv colTxoutUniv coldCommitteeCredsUniv credList credsUniv currentEpoch currentSlot dataUniv datumsUniv drepHashUniv drepUniv endSlotDelta feeTxIn feeTxOut genesisHashUniv govActionIdUniv hotCommitteeCredsUniv keymapUniv keypairs multiAssetUniv network nonSpendScriptUniv payUniv plutusUniv poolHashUniv preGenesisDom preGenesisUniv prePoolUniv preStakeUniv preTxoutUniv preVoteUniv ptrUniv spendCredsUniv spendPlutusUniv spendscriptUniv stakeHashUniv txinUniv txoutUniv validityInterval voteHashUniv voteUniv
OK (0.34s)
    Testing TxOut Stage:                                              addrUniv allScriptUniv beginSlotDelta bigCoin byronAddrUniv colTxoutUniv coldCommitteeCredsUniv credList credsUniv currentEpoch currentSlot dat.1 dat.2 dataUniv datums datums.3 datums.4 datums.5 datums.6 datums.7 datums.8 datumsSet datumsUniv drepHashUniv drepUniv endSlotDelta feeTxIn feeTxOut genesisHashUniv govActionIdUniv hash.0 hotCommitteeCredsUniv keymapUniv keypairs multiAssetUniv network nonSpendScriptUniv outputs outputs.27 outputs.28 outputs.29 payUniv plutusUniv poolHashUniv preGenesisDom preGenesisUniv prePoolUniv preStakeUniv preTxoutUniv preVoteUniv ptrUniv spendCredsUniv spendPlutusUniv spendscriptUniv stakeHashUniv txinUniv txoutAddress.15 txoutAddress.21 txoutAddress.9 txoutAmount.10 txoutAmount.16 txoutAmount.22 txoutDatumF.14 txoutDatumF.20 txoutDatumF.26 txoutScript.13 txoutScript.19 txoutScript.25 txoutUniv valCoin.11 valCoin.17 valCoin.23 validityInterval valueFMultiAsset.12 valueFMultiAsset.18 valueFMultiAsset.24 voteHashUniv voteUniv x.30
OK (0.40s)
    CertState tests
      Testing VState Stage:                                           addrUniv allScriptUniv beginSlotDelta bigCoin byronAddrUniv colTxoutUniv coldCommitteeCredsUniv collateralPercentage committeeState credList credsUniv currentDRepState currentDRepStateSize currentEpoch currentSlot dataUniv datumsUniv drepActivty drepDeposit drepHashUniv drepStateList drepUniv endSlotDelta feeTxIn feeTxOut genesisHashUniv govActionIdUniv hotCommitteeCredsUniv keyDepAmt keymapUniv keypairs maxBBSize maxBHSize maxEpoch maxTxExUnits maxTxSize minFeeA minFeeB multiAssetUniv network nonSpendScriptUniv numDormantEpochs payUniv plutusUniv poolDepAmt poolHashUniv pparams preGenesisDom preGenesisUniv prePoolUniv preStakeUniv preTxoutUniv preVoteUniv prevProtVer proposalDeposit protVer ptrUniv spendCredsUniv spendPlutusUniv spendscriptUniv stakeHashUniv totalDRepDeposit txinUniv txoutUniv validityInterval voteHashUniv voteUniv
OK (0.36s)
      Testing PState Stage:                                           addrUniv allScriptUniv beginSlotDelta bigCoin byronAddrUniv colTxoutUniv coldCommitteeCredsUniv credList credsUniv currentEpoch currentSlot dataUniv datumsUniv drepHashUniv drepUniv endSlotDelta epochs feeTxIn feeTxOut futureRegPools genesisHashUniv govActionIdUniv hotCommitteeCredsUniv keymapUniv keypairs multiAssetUniv network nonSpendScriptUniv payUniv plutusUniv poolDeposits poolHashUniv preGenesisDom preGenesisUniv prePoolUniv preStakeUniv preTxoutUniv preVoteUniv ptrUniv regPools retiring spendCredsUniv spendPlutusUniv spendscriptUniv stakeHashUniv txinUniv txoutUniv validityInterval voteHashUniv voteUniv
OK (0.37s)
      Testing DState Stage:                                           addrUniv allScriptUniv beginSlotDelta bigCoin byronAddrUniv colTxoutUniv coldCommitteeCredsUniv credList credsUniv currentEpoch currentSlot dataUniv datumsUniv delegations deltaReserves deltaTreasury drepDelegation drepHashUniv drepUniv endSlotDelta feeTxIn feeTxOut futureGenDelegs gdKeyHashList gdKeyHashSet genDelegSize genDelegs genesisHashUniv govActionIdUniv hotCommitteeCredsUniv incrementalStake instanReserves instanReservesSum instanTreasury instanTreasurySum keymapUniv keypairs mirAvailReserves mirAvailTreasury multiAssetUniv network nonSpendScriptUniv payUniv plutusUniv poolHashUniv preGenesisDom preGenesisUniv prePoolUniv preStakeUniv preTxoutUniv preVoteUniv ptrUniv ptrs regPools reserves rewardRange rewardSize rewards spendCredsUniv spendPlutusUniv spendscriptUniv stakeDeposits stakeHashUniv treasury txinUniv txoutUniv validityInterval voteHashUniv voteUniv
OK (0.39s)
      Testing CertState Stage:                                        addrUniv allScriptUniv beginSlotDelta bigCoin byronAddrUniv colTxoutUniv coldCommitteeCredsUniv collateralPercentage committeeState credList credsUniv currentDRepState currentDRepStateSize currentEpoch currentSlot dataUniv datumsUniv delegations deltaReserves deltaTreasury drepActivty drepDelegation drepDeposit drepHashUniv drepStateList drepUniv endSlotDelta epochs feeTxIn feeTxOut futureGenDelegs futureRegPools gdKeyHashList gdKeyHashSet genDelegSize genDelegs genesisHashUniv govActionIdUniv hotCommitteeCredsUniv incrementalStake instanReserves instanReservesSum instanTreasury instanTreasurySum keyDepAmt keymapUniv keypairs maxBBSize maxBHSize maxEpoch maxTxExUnits maxTxSize minFeeA minFeeB mirAvailReserves mirAvailTreasury multiAssetUniv network nonSpendScriptUniv numDormantEpochs payUniv plutusUniv poolDepAmt poolDeposits poolHashUniv pparams preGenesisDom preGenesisUniv prePoolUniv preStakeUniv preTxoutUniv preVoteUniv prevProtVer proposalDeposit protVer ptrUniv ptrs regPools reserves retiring rewardRange rewardSize rewards spendCredsUniv spendPlutusUniv spendscriptUniv stakeDeposits stakeHashUniv totalDRepDeposit treasury txinUniv txoutUniv validityInterval voteHashUniv voteUniv
OK (0.38s)
    Testing Certs Stage:                                              addrUniv allScriptUniv beginSlotDelta bigCoin byronAddrUniv certs colTxoutUniv coldCommitteeCredsUniv collateralPercentage committeeState conwaycerts credList credsUniv currentDRepState currentDRepStateSize currentEpoch currentSlot dataUniv datumsUniv delegations deltaReserves deltaTreasury drepActivty drepDelegation drepDeposit drepHashUniv drepStateList drepUniv endSlotDelta epochDelta epochs feeTxIn feeTxOut futureGenDelegs futureRegPools gdKeyHashList gdKeyHashSet genDelegSize genDelegs genesisHashUniv govActionIdUniv hotCommitteeCredsUniv incrementalStake instanReserves instanReservesSum instanTreasury instanTreasurySum keyDepAmt keymapUniv keypairs maxBBSize maxBHSize maxEpoch maxTxExUnits maxTxSize minFeeA minFeeB mirAvailReserves mirAvailTreasury multiAssetUniv network nonSpendScriptUniv numDormantEpochs payUniv plutusUniv poolDepAmt poolDeposits poolHashUniv pparams preGenesisDom preGenesisUniv prePoolUniv preStakeUniv preTxoutUniv preVoteUniv prevProtVer proposalDeposit protVer ptrUniv ptrs regPools reserves retiring rewardRange rewardSize rewards spendCredsUniv spendPlutusUniv spendscriptUniv stakeDeposits stakeHashUniv totalDRepDeposit treasury txinUniv txoutUniv validityInterval vote1 vote2 voteHashUniv voteUniv
OK (0.37s)
    Testing LedgerState Stage:                                        addrUniv allScriptUniv beginSlotDelta bigCoin byronAddrUniv colTxoutUniv colUtxo coldCommitteeCredsUniv collateralPercentage committeeChildren committeeState committeeVar constitution constitutionChildren credList credsUniv currGovStates currPParams currProposals currentDRepState currentDRepStateSize currentEpoch currentSlot dataUniv datumsUniv delegations deltaReserves deltaTreasury deposits donation drepActivty drepDelegation drepDeposit drepHashUniv drepPulser drepStateList drepUniv enactTreasury enactWithdrawals endSlotDelta epochs feeTxIn feeTxOut fees futureGenDelegs futureRegPools gdKeyHashList gdKeyHashSet genDelegSize genDelegs genesisHashUniv govActionIdUniv hardForkChildren hotCommitteeCredsUniv incrementalStake instanReserves instanReservesSum instanTreasury instanTreasurySum keyDepAmt keymapUniv keypairs ledgerState maxBBSize maxBHSize maxEpoch maxTxExUnits maxTxSize minFeeA minFeeB mirAvailReserves mirAvailTreasury multiAssetUniv network nonSpendScriptUniv numDormantEpochs partialDRepDistr payUniv plutusUniv poolDepAmt poolDeposits poolDistr poolHashUniv ppUpdateChildren pparams preGenesisDom preGenesisUniv prePoolUniv preStakeUniv preTxoutUniv preUtxo preVoteUniv prevCommitteeState prevDRepDelegations prevDRepState prevEnactState prevEpoch prevGovActionIds prevPParams prevPoolDistr prevProposals prevProtVer proposalDeposit proposalDeposits protVer ptrUniv ptrs randomProposals regPools reserves retiring rewardRange rewardSize rewards spendCredsUniv spendPlutusUniv spendscriptUniv stakeDeposits stakeHashUniv totalDRepDeposit treasury txinUniv txoutUniv utxo utxoPulse utxoSize validityInterval voteHashUniv voteUniv
OK (0.39s)
  deposit invariants
    Babbage
      Deposits = KeyDeposits + PoolDeposits:                          OK (3.89s)
        +++ OK, passed 100 tests.
      Reward domain = Deposit domain:                                 OK (3.68s)
        +++ OK, passed 100 tests.
    Alonzo
      Deposits = KeyDeposits + PoolDeposits:                          OK (3.52s)
        +++ OK, passed 100 tests.
      Reward domain = Deposit domain:                                 OK (3.47s)
        +++ OK, passed 100 tests.
    Mary
      Deposits = KeyDeposits + PoolDeposits:                          OK (3.83s)
        +++ OK, passed 100 tests.
      Reward domain = Deposit domain:                                 OK (3.79s)
        +++ OK, passed 100 tests.
    Allegra
      Deposits = KeyDeposits + PoolDeposits:                          OK (3.46s)
        +++ OK, passed 100 tests.
      Reward domain = Deposit domain:                                 OK (3.56s)
        +++ OK, passed 100 tests.
    Shelley
      Deposits = KeyDeposits + PoolDeposits:                          OK (7.64s)
        +++ OK, passed 100 tests.
      Reward domain = Deposit domain:                                 OK (7.77s)
        +++ OK, passed 100 tests.
  calculatePoolDistr
    old==new:                                                         OK (0.91s)
      +++ OK, passed 500 tests.
  ExUnit tools
    Plutus ExUnit translation round-trip:                             OK
      +++ OK, passed 100 tests.
    Alonzo
      calculate ExUnits:                                              OK
      attempt calculate ExUnits with invalid tx:                      OK
    Babbage
      calculate ExUnits:                                              OK (0.01s)
      attempt calculate ExUnits with invalid tx:                      OK
  STS Tests
    Babbage Features
      Babbage UTXOW examples
        valid transactions
          inline datum:                                               OK
          reference script:                                           OK
          inline datum and ref script:                                OK
          reference input with data hash, no data witness:            OK
          reference input with data hash, with data witness:          OK
          reference script to authorize delegation certificate:       OK
          reference script in output:                                 OK
          spend simple script output with reference script:           OK
      Babbage UTXOW failure examples
        invalid transactions
          inline datum failing script:                                OK
          use a collateral output:                                    OK
          incorrect collateral total:                                 OK
          inline datum and ref script and redundant script witness:   OK
          inline datum with redundant datum witness:                  OK
          inline datum with Plutus V1:                                OK
          malformed reference script:                                 OK
          malformed script witness:                                   OK
          min-utxo value with output too large:                       OK
          no such thing as a reference datum:                         OK
      Babbage PlutusV1 reference script failure examples
        reference script with Plutus V1:                              OK
        reference input with Plutus V1:                               OK
      Conway UTXOW examples
        valid transactions
          inline datum:                                               OK
          reference script:                                           OK
          inline datum and ref script:                                OK
          reference input with data hash, no data witness:            OK
          reference input with data hash, with data witness:          OK
          reference script to authorize delegation certificate:       OK
          reference script in output:                                 OK
          spend simple script output with reference script:           OK
      Conway UTXOW failure examples
        invalid transactions
          inline datum failing script:                                OK
          use a collateral output:                                    OK
          incorrect collateral total:                                 OK
          inline datum and ref script and redundant script witness:   OK
          inline datum with redundant datum witness:                  OK
          inline datum with Plutus V1:                                OK
          malformed reference script:                                 OK
          malformed script witness:                                   OK
          min-utxo value with output too large:                       OK
          no such thing as a reference datum:                         OK
      inputs and refinputs overlap in Babbage and don't Fail:         OK
      inputs and refinputs overlap in Conway and Fail:                OK
    Generic Tests for valid transactions, testing Alonzo UTXOW PredicateFailures, in postAlonzo eras.
      Alonzo UTXOW examples
        valid transactions
          validating SPEND script:                                    OK
          not validating SPEND script:                                OK
          validating CERT script:                                     OK
          not validating CERT script:                                 OK
          validating WITHDRAWAL script:                               OK
          not validating WITHDRAWAL script:                           OK
          validating MINT script:                                     OK
          not validating MINT script:                                 OK
          validating scripts everywhere:                              OK
          acceptable supplimentary datum:                             OK
          multiple identical certificates:                            OK
          non-script output with datum:                               OK
      Babbage UTXOW examples
        valid transactions
          validating SPEND script:                                    OK
          not validating SPEND script:                                OK
          validating CERT script:                                     OK
          not validating CERT script:                                 OK
          validating WITHDRAWAL script:                               OK
          not validating WITHDRAWAL script:                           OK
          validating MINT script:                                     OK
          not validating MINT script:                                 OK
          validating scripts everywhere:                              OK
          acceptable supplimentary datum:                             OK
          multiple identical certificates:                            OK
          non-script output with datum:                               OK
    Generic Tests for invalid transactions, testing Alonzo UTXOW PredicateFailures, in postAlonzo eras.
      Alonzo UTXOW examples
        invalid transactions
          wrong network ID:                                           OK
          missing required key witness:                               OK
          missing redeemer:                                           OK
          wrong wpp hash:                                             OK
          missing 1-phase script witness:                             OK
          missing 2-phase script witness:                             OK
          redeemer with incorrect label:                              OK
          missing datum:                                              OK
          phase 1 script failure:                                     OK
          valid transaction marked as invalid:                        OK
          invalid transaction marked as valid:                        OK
          too many execution units for tx:                            OK
          missing signature for collateral input:                     OK
          insufficient collateral:                                    OK
          two-phase UTxO with no datum hash:                          OK
          unacceptable supplimentary datum:                           OK
          unacceptable extra redeemer:                                OK
          multiple equal plutus-locked certs:                         OK
          no cost model:                                              OK
      Babbage UTXOW examples
        invalid transactions
          wrong network ID:                                           OK
          missing required key witness:                               OK
          missing redeemer:                                           OK
          wrong wpp hash:                                             OK
          missing 1-phase script witness:                             OK
          missing 2-phase script witness:                             OK
          redeemer with incorrect label:                              OK
          missing datum:                                              OK
          phase 1 script failure:                                     OK
          valid transaction marked as invalid:                        OK
          invalid transaction marked as valid:                        OK
          too many execution units for tx:                            OK
          missing signature for collateral input:                     OK
          insufficient collateral:                                    OK
          two-phase UTxO with no datum hash:                          OK
          unacceptable supplimentary datum:                           OK
          unacceptable extra redeemer:                                OK
          multiple equal plutus-locked certs:                         OK
          no cost model:                                              OK
      Conway UTXOW examples
        invalid transactions
          wrong network ID:                                           OK
          missing required key witness:                               OK
          missing redeemer:                                           OK
          wrong wpp hash:                                             OK
          missing 1-phase script witness:                             OK
          missing 2-phase script witness:                             OK
          redeemer with incorrect label:                              OK
          missing datum:                                              OK
          phase 1 script failure:                                     OK
          valid transaction marked as invalid:                        OK
          invalid transaction marked as valid:                        OK
          too many execution units for tx:                            OK
          missing signature for collateral input:                     OK
          insufficient collateral:                                    OK
          two-phase UTxO with no datum hash:                          OK
          unacceptable supplimentary datum:                           OK
          unacceptable extra redeemer:                                OK
          multiple equal plutus-locked certs:                         OK
          no cost model:                                              OK
    Generic Tests, testing Alonzo PredicateFailures, in postAlonzo eras.
      Alonzo BBODY examples
        eight plutus scripts cases:                                   OK
        block with bad pool md hash in tx:                            OK
      Babbage BBODY examples
        eight plutus scripts cases:                                   OK
        block with bad pool md hash in tx:                            OK
    Alonzo API
      estimateMinFee:                                                 OK
    collectTwoPhaseScriptInputs output order:                         OK
  Generic Property tests
    Core types make generic roundtrips
      TxWits roundtrip
        Babbage era:                                                  OK
          +++ OK, passed 30 tests.
        Alonzo era:                                                   OK (0.01s)
          +++ OK, passed 30 tests.
        Mary era:                                                     OK
          +++ OK, passed 30 tests.
        Allegra era:                                                  OK
          +++ OK, passed 30 tests.
        Shelley era:                                                  OK
          +++ OK, passed 30 tests.
      TxBody roundtrips
        Babbage era:                                                  OK (0.01s)
          +++ OK, passed 30 tests.
        Alonzo era:                                                   OK
          +++ OK, passed 30 tests.
        Mary era:                                                     OK
          +++ OK, passed 30 tests.
        Allegra era:                                                  OK
          +++ OK, passed 30 tests.
        Shelley era:                                                  OK
          +++ OK, passed 30 tests.
      TxOut roundtrips
        Babbage era:                                                  OK
          +++ OK, passed 30 tests.
        Alonzo era:                                                   OK
          +++ OK, passed 30 tests.
        Mary era:                                                     OK
          +++ OK, passed 30 tests.
        Allegra era:                                                  OK
          +++ OK, passed 30 tests.
        Shelley era:                                                  OK
          +++ OK, passed 30 tests.
      Tx roundtrips
        Babbage era:                                                  OK (0.02s)
          +++ OK, passed 30 tests.
        Alonzo era:                                                   OK (0.02s)
          +++ OK, passed 30 tests.
        Mary era:                                                     OK (0.01s)
          +++ OK, passed 30 tests.
        Allegra era:                                                  OK
          +++ OK, passed 30 tests.
        Shelley era:                                                  OK
          +++ OK, passed 30 tests.
    Individual Tx's preserve Ada
      Shelley Tx preserves ADA:                                       OK (0.31s)
        +++ OK, passed 30 tests (100% TxValid).
      Allegra Tx preserves ADA:                                       OK (0.18s)
        +++ OK, passed 30 tests (100% TxValid).
      Mary Tx preserves ADA:                                          OK (0.19s)
        +++ OK, passed 30 tests (100% TxValid).
      Alonzo ValidTx preserves ADA:                                   OK (0.13s)
        +++ OK, passed 30 tests (93% TxValid).
      Babbage ValidTx preserves ADA:                                  OK (0.14s)
        +++ OK, passed 30 tests (87% TxValid).
    Total Ada is preserved over traces of length 45
      Babbage era. Trace length = 45:                                 OK (5.03s)
        +++ OK, passed 30 tests.
      Alonzo era. Trace length = 45:                                  OK (4.37s)
        +++ OK, passed 30 tests.
      Mary era. Trace length = 45:                                    OK (4.90s)
        +++ OK, passed 30 tests.
      Allegra era. Trace length = 45:                                 OK (4.74s)
        +++ OK, passed 30 tests.
      Shelley era. Trace length = 45:                                 OK (10.89s)
        +++ OK, passed 30 tests.
    Incremental Stake invariant holds
      Babbage era. Trace length = 100:                                OK (11.20s)
        +++ OK, passed 30 tests.
      Alonzo era. Trace length = 100:                                 OK (10.88s)
        +++ OK, passed 30 tests.
      Mary era. Trace length = 100:                                   OK (10.51s)
        +++ OK, passed 30 tests.
      Allegra era. Trace length = 100:                                OK (11.08s)
        +++ OK, passed 30 tests.
      Shelley era. Trace length = 100:                                OK (24.18s)
        +++ OK, passed 30 tests.
    MockChainTrace
      Babbage era.:                                                   OK (6.25s)
        +++ OK, passed 30 tests.
      Alonzo era.:                                                    OK (7.16s)
        +++ OK, passed 30 tests.
      Mary era.:                                                      OK (6.49s)
        +++ OK, passed 30 tests.
      Allegra era.:                                                   OK (4.21s)
        +++ OK, passed 30 tests.
      Multi epoch. Ada is preserved. Babbage era. Trace length = 225: OK (22.39s)
        +++ OK, passed 30 tests:
        23% EpochNo 3
        23% EpochNo 5
        17% EpochNo 6
        10% EpochNo 1
        10% EpochNo 2
        10% EpochNo 4
         7% EpochNo 0
      Multi epoch. Ada is preserved. Shelley era. Trace length = 225: OK (41.24s)
        +++ OK, passed 30 tests:
        30% EpochNo 0
        17% EpochNo 4
        17% EpochNo 5
        13% EpochNo 2
        10% EpochNo 1
         7% EpochNo 6
         3% EpochNo 3
         3% EpochNo 7
    Ada is preserved in each epoch
      Babbage:                                                        OK (20.89s)
        +++ OK, passed 30 tests.
      Alonzo:                                                         OK (18.87s)
        +++ OK, passed 30 tests.
      Mary:                                                           OK (18.80s)
        +++ OK, passed 30 tests.
      Allegra:                                                        OK (18.88s)
        +++ OK, passed 30 tests.
      Shelley:                                                        OK (40.94s)
        +++ OK, passed 30 tests.
    Twiddle invariant holds for TxBody
      Alonzo:                                                         OK
        +++ OK, passed 30 tests.
      Babbage:                                                        OK (0.01s)
        +++ OK, passed 30 tests.
  tests, aggregating Tx's over a Trace.
    UTxO size in Babbage:                                             OK (8.89s)
      +++ OK, passed 30 tests.
    UTxO size in Alonzo:                                              OK (8.16s)
      +++ OK, passed 30 tests.
    UTxO size in Mary:                                                OK (8.26s)
      +++ OK, passed 30 tests.
  STS property tests
    GOV tests
      prop_GOVCERT:                                                   OK (0.30s)
        +++ OK, passed 100 tests.
      prop_POOL:                                                      OK (0.84s)
        +++ OK, passed 100 tests.
      prop_DELEG:                                                     OK (0.54s)
        +++ OK, passed 100 tests.
      prop_ENACT:                                                     OK (0.45s)
        +++ OK, passed 100 tests.
      prop_RATIFY:                                                    OK (7.00s)
        +++ OK, passed 100 tests.
      prop_CERT:                                                      OK (1.42s)
        +++ OK, passed 100 tests.
      prop_GOV:                                                       OK (24.66s)
        +++ OK, passed 100 tests.
  Tx with DRep Certs trace tests
    Testing each Tx in a Conway trace of length=100 passes applySTS.: OK (6.31s)
      +++ OK, passed 10 tests; 5 discarded.
    DRep property traces
      All Tx are valid on traces of length 150.:                      There are no stakepools to choose an issuer from, epoch=EpochNo 2, last slot=200, index of Tx=36
There are no stakepools to choose an issuer from, epoch=EpochNo 2, last slot=202, index of Tx=35
OK (18.83s)
        +++ OK, passed 20 tests; 23 discarded.
      Bruteforce = Pulsed, in every epoch, on traces of length 150:   There are no stakepools to choose an issuer from, epoch=EpochNo 2, last slot=201, index of Tx=39
LOOP: count <= 0, fee is osccilating, Discard
There are no stakepools to choose an issuer from, epoch=EpochNo 2, last slot=201, index of Tx=35
There are no stakepools to choose an issuer from, epoch=EpochNo 2, last slot=201, index of Tx=38
There are no stakepools to choose an issuer from, epoch=EpochNo 2, last slot=201, index of Tx=40
FAIL (21.42s)
        *** Gave up! Passed only 4 tests; 50 discarded tests.
        Use --quickcheck-replay=373381 to reproduce.
        Use -p '/Bruteforce = Pulsed, in every epoch, on traces of length 150/' to rerun this test only.

1 out of 272 tests failed (512.51s)