Skip to content

Add Genesis test

23567d5
Select commit
Loading
Failed to load commit list.
Draft

Improve testing setup and genesis json golden test #5243

Add Genesis test
23567d5
Select commit
Loading
Failed to load commit list.
IOG Hydra / ci/hydra-build:aarch64-darwin.checks.cardano-ledger-alonzo:test:tests failed Aug 22, 2025 in 15m 58s

Build failed

1 failed steps

Details

Failed Steps

Step 1

Derivation

/nix/store/d65jkyij509hglvy2xay45nsmqgbsyg2-cardano-ledger-alonzo-test-tests-1.14.0.0-check.drv

Log

Running phase: unpackPhase
unpacking source archive /nix/store/py3jf3ndwj96jdf4ks88dm58s8mlh3sp-source-eras-alonzo-impl-test-tests-root
source root is source-eras-alonzo-impl-test-tests-root
Running phase: patchPhase
Running phase: buildPhase
/nix/store/03c6v2qkw2g6klpilfjrpl9j6zi85xzr-cardano-ledger-alonzo-test-tests-1.14.0.0/bin:
patching script interpreter paths in /private/tmp/nix-build-cardano-ledger-alonzo-test-tests-1.14.0.0-check.drv-0/tmp.GlMWF6HfWY/bin

Spec for every Era
  JSON
    Golden
      Genesis [✘] (52ms)
Alonzo
  RoundTrip
    Alonzo era types
      Data AlonzoEra [✔] (4ms)
        +++ OK, passed 100 tests.
      Data AlonzoEra [✔] (1ms)
        +++ OK, passed 100 tests.
      BinaryData AlonzoEra [✔] (1ms)
        +++ OK, passed 100 tests.
      CostModels [✔] (37254ms)
        +++ OK, passed 100 tests.
      Datum doesn't roundtrip
        Datum AlonzoEra [‐]
          # PENDING: No reason given
      TxDats [✔] (31ms)
        +++ OK, passed 100 tests.
      Redeemers [✔] (37ms)
        +++ OK, passed 100 tests.
    Core Type Families
      MaryValue [✔] (112ms)
        +++ OK, passed 100 tests.
      CompactForm MaryValue [✔] (433ms)
        +++ OK, passed 100 tests.
      AlonzoTxOut AlonzoEra [✔] (10ms)
        +++ OK, passed 100 tests.
      ShelleyTxCert AlonzoEra [✔] (8ms)
        +++ OK, passed 100 tests.
      PParams AlonzoEra [✔] (34410ms)
        +++ OK, passed 100 tests.
      PParamsUpdate AlonzoEra [✔] (13586ms)
        +++ OK, passed 100 tests.
      AlonzoScript AlonzoEra [✔] (3ms)
        +++ OK, passed 100 tests.
      AlonzoScript AlonzoEra [✔] (2ms)
        +++ OK, passed 100 tests.
      AlonzoTxAuxData AlonzoEra [✔] (86ms)
        +++ OK, passed 100 tests.
      AlonzoTxAuxData AlonzoEra [✔] (54ms)
        +++ OK, passed 100 tests.
      AlonzoTxWits AlonzoEra [✔] (411ms)
        +++ OK, passed 100 tests.
      AlonzoTxWits AlonzoEra [✔] (364ms)
        +++ OK, passed 100 tests.
      TxBody AlonzoEra [✔] (347ms)
        +++ OK, passed 100 tests.
      TxBody AlonzoEra [✔] (271ms)
        +++ OK, passed 100 tests.
      Tx AlonzoEra [✔] (1024ms)
        +++ OK, passed 100 tests.
      Tx AlonzoEra [✔] (821ms)
        +++ OK, passed 100 tests.
      MemPack/CBOR Roundtrip AlonzoTxOut AlonzoEra [✔] (6ms)
        +++ OK, passed 100 tests.
      ShelleyCertState AlonzoEra [✔] (2673ms)
        +++ OK, passed 100 tests.
    Core State Types
      SnapShots [✔] (3772ms)
        +++ OK, passed 100 tests.
      DState AlonzoEra [✔] (98ms)
        +++ OK, passed 100 tests.
      PState AlonzoEra [✔] (3392ms)
        +++ OK, passed 100 tests.
      CommitteeState AlonzoEra [✔] (37ms)
        +++ OK, passed 100 tests.
      UTxO AlonzoEra [✔] (408ms)
        +++ OK, passed 100 tests.
    State Types Families
      ShelleyGovState AlonzoEra [✔] (204932ms)
        +++ OK, passed 100 tests.
    State Types
      UTxOState AlonzoEra [✔] (192221ms)
        +++ OK, passed 100 tests.
      EpochState AlonzoEra [✔] (177292ms)
        +++ OK, passed 100 tests.
      NewEpochState AlonzoEra [✔] (143731ms)
        +++ OK, passed 100 tests.
    Predicate Failures
      ShelleyDelegPredFailure AlonzoEra [✔]
        +++ OK, passed 100 tests.
      ShelleyDelegsPredFailure AlonzoEra [✔] (8ms)
        +++ OK, passed 100 tests.
      ShelleyDelplPredFailure AlonzoEra [✔]
        +++ OK, passed 100 tests.
      ShelleyLedgerPredFailure AlonzoEra [✔] (17ms)
        +++ OK, passed 100 tests.
      ShelleyLedgersPredFailure AlonzoEra [✔] (16ms)
        +++ OK, passed 100 tests.
      ShelleyPoolPredFailure AlonzoEra [✔]
        +++ OK, passed 100 tests.
      ShelleyPpupPredFailure AlonzoEra [✔] (5ms)
        +++ OK, passed 100 tests.
      AlonzoUtxoPredFailure AlonzoEra [✔] (89ms)
        +++ OK, passed 100 tests.
      AlonzoUtxowPredFailure AlonzoEra [✔] (12ms)
        +++ OK, passed 100 tests.
      AlonzoUtxosPredFailure AlonzoEra [✔] (18ms)
        +++ OK, passed 100 tests.
    AlonzoGenesis [✔] (22983ms)
      +++ OK, passed 100 tests.
    Twiddled
      Script [‐]
        # PENDING: No reason given
      Data [‐]
        # PENDING: No reason given
      BinaryData [‐]
        # PENDING: No reason given
      TxBody [‐]
        # PENDING: No reason given
  DecCBOR instances equivalence
    DecCBOR instances equivalence
      Data AlonzoEra [✔] (1ms)
        +++ OK, passed 100 tests.
      AlonzoScript AlonzoEra [✔] (2ms)
        +++ OK, passed 100 tests.
      AlonzoTxAuxData AlonzoEra [✔] (78ms)
        +++ OK, passed 100 tests.
      AlonzoTxWits AlonzoEra [✔] (399ms)
        +++ OK, passed 100 tests.
      TxBody AlonzoEra [✔] (334ms)
        +++ OK, passed 100 tests.
      Tx AlonzoEra [✔] (921ms)
        +++ OK, passed 100 tests.
    TxDats AlonzoEra [✔] (54ms)
      +++ OK, passed 100 tests.
    Redeemers AlonzoEra [✔] (72ms)
      +++ OK, passed 100 tests.
  Transaction size
    should match the size of the cbor encoding [✔] (408ms)
      +++ OK, passed 100 tests.
  LangDepView encoding
    is canonical [✔] (2866ms)
      +++ OK, passed 100 tests.
  CDDL
    Ruby-based
      coin: MaryValue [✔] (2567ms)
      transaction_body: Annotator (MemoBytes AlonzoTxBodyRaw) [✔] (2513ms)
      transaction_body: MemoBytes AlonzoTxBodyRaw [✔] (2783ms)
      auxiliary_data: Annotator (MemoBytes (AlonzoTxAuxDataRaw AlonzoEra)) [✔] (2721ms)
      auxiliary_data: MemoBytes (AlonzoTxAuxDataRaw AlonzoEra) [✔] (2831ms)
      native_script: Annotator (Timelock * AlonzoEra) [✔] (2824ms)
      native_script: Timelock * AlonzoEra [✔] (2835ms)
      plutus_data: Annotator (MemoBytes (PlutusData AlonzoEra)) [✔] (2789ms)
      plutus_data: MemoBytes (PlutusData AlonzoEra) [✔] (2693ms)
      transaction_output: AlonzoTxOut AlonzoEra [✔] (2787ms)
      transaction_witness_set: Annotator (MemoBytes (AlonzoTxWitsRaw AlonzoEra)) [✔] (3209ms)
      transaction_witness_set: MemoBytes (AlonzoTxWitsRaw AlonzoEra) [✔] (3179ms)
      protocol_param_update: PParamsUpdate AlonzoEra [✔] (2904ms)
      [* redeemer]: Annotator (MemoBytes (RedeemersRaw AlonzoEra)) [✔] (2970ms)
      [* redeemer]: MemoBytes (RedeemersRaw AlonzoEra) [✔] (4090ms)
      transaction: Annotator (Tx AlonzoEra) [✔] (3896ms)
      transaction: AlonzoTx AlonzoEra [✔] (2741ms)
      cost_models: CostModels [✔] (2662ms)
      DecCBOR instances equivalence via CDDL
        transaction_body: MemoBytes AlonzoTxBodyRaw [✔] (1094ms)
        auxiliary_data: MemoBytes (AlonzoTxAuxDataRaw AlonzoEra) [✔] (941ms)
        native_script: Timelock * AlonzoEra [✔] (929ms)
        plutus_data: MemoBytes (PlutusData AlonzoEra) [✔] (1181ms)
        transaction_witness_set: MemoBytes (AlonzoTxWitsRaw AlonzoEra) [✔] (1203ms)
        [* redeemer]: MemoBytes (RedeemersRaw AlonzoEra) [✔] (1560ms)
        transaction: AlonzoTx AlonzoEra [✔] (1758ms)
    Huddle
      coin: MaryValue [✔]
      transaction_body: Annotator (MemoBytes AlonzoTxBodyRaw) [✔] (14ms)
      transaction_body: MemoBytes AlonzoTxBodyRaw [✔] (13ms)
      auxiliary_data: Annotator (MemoBytes (AlonzoTxAuxDataRaw AlonzoEra)) [✔] (8ms)
      auxiliary_data: MemoBytes (AlonzoTxAuxDataRaw AlonzoEra) [✔] (5ms)
      native_script: Annotator (Timelock * AlonzoEra) [✔] (3ms)
      native_script: Timelock * AlonzoEra [✔] (3ms)
      plutus_data: Annotator (MemoBytes (PlutusData AlonzoEra)) [✔] (9ms)
      plutus_data: MemoBytes (PlutusData AlonzoEra) [✔] (9ms)
      transaction_output: AlonzoTxOut AlonzoEra [✔] (3ms)
      transaction_witness_set: Annotator (MemoBytes (AlonzoTxWitsRaw AlonzoEra)) [✔] (11ms)
      transaction_witness_set: MemoBytes (AlonzoTxWitsRaw AlonzoEra) [✔] (11ms)
      protocol_param_update: PParamsUpdate AlonzoEra [✔] (423ms)
      redeemers: Annotator (MemoBytes (RedeemersRaw AlonzoEra)) [✔] (18ms)
      redeemers: MemoBytes (RedeemersRaw AlonzoEra) [✔] (18ms)
      transaction: Annotator (Tx AlonzoEra) [✔] (19ms)
      transaction: AlonzoTx AlonzoEra [✔] (19ms)
      cost_models: CostModels [✔] (6638ms)
      DecCBOR instances equivalence via CDDL
        transaction_body: MemoBytes AlonzoTxBodyRaw [✔] (16ms)
        auxiliary_data: MemoBytes (AlonzoTxAuxDataRaw AlonzoEra) [✔] (6ms)
        native_script: Timelock * AlonzoEra [✔] (4ms)
        plutus_data: MemoBytes (PlutusData AlonzoEra) [✔] (9ms)
        transaction_witness_set: MemoBytes (AlonzoTxWitsRaw AlonzoEra) [✔] (10ms)
        redeemers: MemoBytes (RedeemersRaw AlonzoEra) [✔] (19ms)
        transaction: AlonzoTx AlonzoEra [✔] (19ms)
  Alonzo
    RoundTrip JSON
      PParams AlonzoEra [✔] (7484ms)
        +++ OK, passed 100 tests.
      AlonzoGenesis [✔] (6865ms)
        +++ OK, passed 100 tests.
  Shelley era JSON Roundtrip: Alonzo
    TransitionConfig AlonzoEra [✔] (8156ms)
      +++ OK, passed 100 tests.
  txInfo translation
    Plutus V1
      silently ignore byron txout [✔]
      silently ignore byron txin [✔]
    transVITime
      validity interval's upper bound is closed when protocol < 9 [✔]
  Golden translation tests
    golden/translations.cbor [✔] (112ms)
  Golden
    Golden JSON specs for PParams [✔] (19ms)
    Golden JSON specs for PParamsUpdate [✔]
  Imp
    ShelleyImpSpec
      Version 5
        LEDGER
          Transactions update UTxO [✔] (1ms)
        EPOCH
          Runs basic transaction [✔] (94ms)
          Crosses epoch boundaries [✔] (190ms)
        UTXOW
          Bootstrap Witness
            Valid Witnesses [✔]
            InvalidWitnessesUTXOW [✔]
          MissingVKeyWitnessesUTXOW [✔]
          MissingScriptWitnessesUTXOW [✔]
          MissingTxBodyMetadataHash [✔]
          MissingTxMetadata [✔]
          ConflictingMetadataHash [✔]
          ExtraneousScriptWitnessesUTXOW [✔]
        UTXO
          ShelleyUtxoPredFailure
            ValueNotConservedUTxO [✔]
      Version 6
        LEDGER
          Transactions update UTxO [✔]
        EPOCH
          Runs basic transaction [✔] (93ms)
          Crosses epoch boundaries [✔] (187ms)
        UTXOW
          Bootstrap Witness
            Valid Witnesses [✔]
            InvalidWitnessesUTXOW [✔]
          MissingVKeyWitnessesUTXOW [✔]
          MissingScriptWitnessesUTXOW [✔]
          MissingTxBodyMetadataHash [✔]
          MissingTxMetadata [✔]
          ConflictingMetadataHash [✔]
          ExtraneousScriptWitnessesUTXOW [✔]
        UTXO
          ShelleyUtxoPredFailure
            ValueNotConservedUTxO [✔]
    ShelleyPureTests
      InstantStakeIncludesRewards [✔] (612ms)
        +++ OK, passed 100 tests.
    AllegraImpSpec
      Version 5
        UTXOW
          InvalidMetadata [✔]
      Version 6
        UTXOW
          InvalidMetadata [✔]
    MaryImpSpec
      Version 5
        UTXO
          Mint a Token [✔]?7h
          ShelleyUtxoPredFailure
            ValueNotConservedUTxO [✔]
      Version 6
        UTXO
          Mint a Token [✔]
          ShelleyUtxoPredFailure
            ValueNotConservedUTxO [✔]
    AlonzoImpSpec
      Version 5
        UTXO
          Wrong network ID [✔]
          PlutusV1
            Too many execution units for tx [✔] (1ms)
            Insufficient collateral [✔] (1ms)
        UTXOS
          PlutusV1
            Spending scripts with a Datum
              redeemerSameAsDatum [✔] (94ms)
              purposeIsWellformedWithDatum [✔] (94ms)
              datumIsWellformed [✔] (93ms)
              inputsOutputsAreNotEmptyWithDatum [✔] (97ms)
            Valid transaction marked as invalid [✔]
            Invalid transaction marked as valid [✔] (1ms)
            Invalid plutus script fails in phase 2 [✔] (1ms)
            Scripts pass in phase 2
              purposeIsWellformedWithDatum [✔] (1ms)
              datumIsWellformed [✔]
              inputsOutputsAreNotEmptyWithDatum [✔] (1ms)
            No cost model [✔]
        UTXOW
          Valid transactions
            Non-script output with datum [✔]
            PlutusV1
              Validating SPEND script [✔] (1ms)
              Not validating SPEND script [✔] (1ms)
              Validating CERT script [✔] (1ms)
              Not validating CERT script [✔] (1ms)
              Validating WITHDRAWAL script [✔] (1ms)
              Not validating WITHDRAWAL script [✔] (1ms)
              Validating MINT script [✔] (1ms)
              Not validating MINT script [✔] (1ms)
              Validating scripts everywhere [✔] (2ms)
              Acceptable supplementary datum [✔]
              Multiple identical certificates [✔] (1ms)
          Invalid transactions
            Phase 1 script failure [✔]
            PlutusV1
              MissingRedeemers [✔] (1ms)
              MissingRequiredDatums [✔] (1ms)
              NotAllowedSupplementalDatums [✔]
              PPViewHashesDontMatch
                Mismatched [✔] (1ms)
                Missing [✔] (1ms)
              UnspendableUTxONoDatumHash [✔] (1ms)
              No ExtraRedeemers on same script certificates [✔] (1ms)
              Missing phase-2 script witness [✔] (1ms)
              Redeemer with incorrect purpose [✔] (1ms)
              Missing witness for collateral input [✔]
              Extra Redeemer
                Minting [✔] (1ms)
                Spending [✔]
                Multiple equal plutus-locked certs [✔] (1ms)
      Version 6
        UTXO
          Wrong network ID [✔]
          PlutusV1
            Too many execution units for tx [✔] (1ms)
            Insufficient collateral [✔] (1ms)
        UTXOS
          PlutusV1
            Spending scripts with a Datum
              redeemerSameAsDatum [✔] (94ms)
              purposeIsWellformedWithDatum [✔] (96ms)
              datumIsWellformed [✔] (92ms)
              inputsOutputsAreNotEmptyWithDatum [✔] (94ms)
            Valid transaction marked as invalid [✔]
            Invalid transaction marked as valid [✔] (1ms)
            Invalid plutus script fails in phase 2 [✔] (2ms)
            Scripts pass in phase 2
              purposeIsWellformedWithDatum [✔] (1ms)
              datumIsWellformed [✔] (1ms)
              inputsOutputsAreNotEmptyWithDatum [✔] (1ms)
            No cost model [✔]
        UTXOW
          Valid transactions
            Non-script output with datum [✔]
            PlutusV1
              Validating SPEND script [✔]
              Not validating SPEND script [✔] (1ms)
              Validating CERT script [✔] (1ms)
              Not validating CERT script [✔] (1ms)
              Validating WITHDRAWAL script [✔]
              Not validating WITHDRAWAL script [✔] (1ms)
              Validating MINT script [✔]?7h
              Not validating MINT script [✔] (1ms)
              Validating scripts everywhere [✔] (2ms)
              Acceptable supplementary datum [✔]
              Multiple identical certificates [✔] (1ms)
          Invalid transactions
            Phase 1 script failure [✔]
            PlutusV1
              MissingRedeemers [✔] (1ms)
              MissingRequiredDatums [✔] (1ms)
              NotAllowedSupplementalDatums [✔]
              PPViewHashesDontMatch
                Mismatched [✔] (1ms)
                Missing [✔]
              UnspendableUTxONoDatumHash [✔]
              No ExtraRedeemers on same script certificates [✔] (1ms)
              Missing phase-2 script witness [✔]
              Redeemer with incorrect purpose [✔] (1ms)
              Missing witness for collateral input [✔] (1ms)
              Extra Redeemer
                Minting [✔] (1ms)
                Spending [✔]
                Multiple equal plutus-locked certs [✔] (1ms)
  CostModels
    CBOR deserialization
      valid CostModels deserialize correctly, both independently and within PParamsUpdate [✔] (3376ms)
        +++ OK, passed 100 tests.
      CostModels with less than expected parameters within PParamsUpdate [✔] (3ms)
        +++ OK, passed 100 tests.
      unknown CostModels deserialize correctly within PParamsUpdate starting with Conway [✔] (1ms)
        +++ OK, passed 100 tests.
    applyPPUpdates [✔] (11092ms)
      +++ OK, passed 100 tests.
  TxWits
    AlonzoTxWits deserialization
      plutus scripts
        fails to deserialize if fields contain an empty collection [✔]
          +++ OK, passed 100 tests.
        fails to deserialize if empty or if it contains duplicates, starting with Conway [✔]
          +++ OK, passed 100 tests.
        fails to deserialize if empty, starting with Conway [✔]
          +++ OK, passed 100 tests.

Failures:

  testlib/Test/Cardano/Ledger/Era/Spec.hs:35:11: 
  1) Spec for every Era, JSON, Golden, Genesis
       
       Uncaught Exception: /nix/store/jwz2v6z8ig7zvwxsgwl0m9g7vp56r1i6-cardano-ledger-alonzo-lib-testlib-1.14.0.0-data/share/ghc-9.6.7/aarch64-osx-ghc-9.6.7/cardano-ledger-alonzo-1.14.0.0/golden/json/alonzo-genesis.json: withBinaryFile: does not exist (No such file or directory)

  To rerun use: --match "/Spec for every Era/JSON/Golden/Genesis/" --seed 386495740

Randomized with seed 386495740

Finished in 954.3806 seconds
237 examples, 1 failure, 5 pending