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:x86_64-linux.checks.cardano-ledger-alonzo:test:tests failed Aug 22, 2025 in 7m 31s

Build failed

1 failed steps

Details

Failed Steps

Step 1

Derivation

/nix/store/v0443ivn0fr9ph9lkw0jrvk5ijmg7f4a-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/pwhvj4akdqjz7gqrvl89r7dgc7bxpiwm-cardano-ledger-alonzo-test-tests-1.14.0.0/bin:
patching script interpreter paths in /build/tmp.oztbEtSFtu/bin

Spec for every Era
  JSON
    Golden
      Genesis [✘] (16ms)
Alonzo
  RoundTrip
    Alonzo era types
      Data AlonzoEra [✔] (3ms)
        +++ OK, passed 100 tests.
      Data AlonzoEra [✔] (3ms)
        +++ OK, passed 100 tests.
      BinaryData AlonzoEra [✔] (3ms)
        +++ OK, passed 100 tests.
      CostModels [✔] (15928ms)
        +++ OK, passed 100 tests.
      Datum doesn't roundtrip
        Datum AlonzoEra [‐]
          # PENDING: No reason given
      TxDats [✔] (27ms)
        +++ OK, passed 100 tests.
      Redeemers [✔] (25ms)
        +++ OK, passed 100 tests.
    Core Type Families
      MaryValue [✔] (80ms)
        +++ OK, passed 100 tests.
      CompactForm MaryValue [✔] (259ms)
        +++ OK, passed 100 tests.
      AlonzoTxOut AlonzoEra [✔] (8ms)
        +++ OK, passed 100 tests.
      ShelleyTxCert AlonzoEra [✔] (4ms)
        +++ OK, passed 100 tests.
      PParams AlonzoEra [✔] (18466ms)
        +++ OK, passed 100 tests.
      PParamsUpdate AlonzoEra [✔] (10418ms)
        +++ OK, passed 100 tests.
      AlonzoScript AlonzoEra [✔] (2ms)
        +++ OK, passed 100 tests.
      AlonzoScript AlonzoEra [✔] (2ms)
        +++ OK, passed 100 tests.
      AlonzoTxAuxData AlonzoEra [✔] (65ms)
        +++ OK, passed 100 tests.
      AlonzoTxAuxData AlonzoEra [✔] (40ms)
        +++ OK, passed 100 tests.
      AlonzoTxWits AlonzoEra [✔] (325ms)
        +++ OK, passed 100 tests.
      AlonzoTxWits AlonzoEra [✔] (301ms)
        +++ OK, passed 100 tests.
      TxBody AlonzoEra [✔] (295ms)
        +++ OK, passed 100 tests.
      TxBody AlonzoEra [✔] (245ms)
        +++ OK, passed 100 tests.
      Tx AlonzoEra [✔] (640ms)
        +++ OK, passed 100 tests.
      Tx AlonzoEra [✔] (558ms)
        +++ OK, passed 100 tests.
      MemPack/CBOR Roundtrip AlonzoTxOut AlonzoEra [✔] (4ms)
        +++ OK, passed 100 tests.
      ShelleyCertState AlonzoEra [✔] (1862ms)
        +++ OK, passed 100 tests.
    Core State Types
      SnapShots [✔] (2598ms)
        +++ OK, passed 100 tests.
      DState AlonzoEra [✔] (83ms)
        +++ OK, passed 100 tests.
      PState AlonzoEra [✔] (1539ms)
        +++ OK, passed 100 tests.
      CommitteeState AlonzoEra [✔] (22ms)
        +++ OK, passed 100 tests.
      UTxO AlonzoEra [✔] (239ms)
        +++ OK, passed 100 tests.
    State Types Families
      ShelleyGovState AlonzoEra [✔] (64219ms)
        +++ OK, passed 100 tests.
    State Types
      UTxOState AlonzoEra [✔] (64136ms)
        +++ OK, passed 100 tests.
      EpochState AlonzoEra [✔] (70849ms)
        +++ OK, passed 100 tests.
      NewEpochState AlonzoEra [✔] (75448ms)
        +++ OK, passed 100 tests.
    Predicate Failures
      ShelleyDelegPredFailure AlonzoEra [✔]
        +++ OK, passed 100 tests.
      ShelleyDelegsPredFailure AlonzoEra [✔] (5ms)
        +++ OK, passed 100 tests.
      ShelleyDelplPredFailure AlonzoEra [✔]
        +++ OK, passed 100 tests.
      ShelleyLedgerPredFailure AlonzoEra [✔] (10ms)
        +++ OK, passed 100 tests.
      ShelleyLedgersPredFailure AlonzoEra [✔] (9ms)
        +++ OK, passed 100 tests.
      ShelleyPoolPredFailure AlonzoEra [✔]
        +++ OK, passed 100 tests.
      ShelleyPpupPredFailure AlonzoEra [✔] (4ms)
        +++ OK, passed 100 tests.
      AlonzoUtxoPredFailure AlonzoEra [✔] (51ms)
        +++ OK, passed 100 tests.
      AlonzoUtxowPredFailure AlonzoEra [✔] (16ms)
        +++ OK, passed 100 tests.
      AlonzoUtxosPredFailure AlonzoEra [✔] (14ms)
        +++ OK, passed 100 tests.
    AlonzoGenesis [✔] (20047ms)
      +++ 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 [✔] (2ms)
        +++ OK, passed 100 tests.
      AlonzoScript AlonzoEra [✔] (2ms)
        +++ OK, passed 100 tests.
      AlonzoTxAuxData AlonzoEra [✔] (67ms)
        +++ OK, passed 100 tests.
      AlonzoTxWits AlonzoEra [✔] (361ms)
        +++ OK, passed 100 tests.
      TxBody AlonzoEra [✔] (296ms)
        +++ OK, passed 100 tests.
      Tx AlonzoEra [✔] (740ms)
        +++ OK, passed 100 tests.
    TxDats AlonzoEra [✔] (47ms)
      +++ OK, passed 100 tests.
    Redeemers AlonzoEra [✔] (61ms)
      +++ OK, passed 100 tests.
  Transaction size
    should match the size of the cbor encoding [✔] (321ms)
      +++ OK, passed 100 tests.
  LangDepView encoding
    is canonical [✔] (2404ms)
      +++ OK, passed 100 tests.
  CDDL
    Ruby-based
      coin: MaryValue [✔] (2571ms)
      transaction_body: Annotator (MemoBytes AlonzoTxBodyRaw) [✔] (2716ms)
      transaction_body: MemoBytes AlonzoTxBodyRaw [✔] (2658ms)
      auxiliary_data: Annotator (MemoBytes (AlonzoTxAuxDataRaw AlonzoEra)) [✔] (2530ms)
      auxiliary_data: MemoBytes (AlonzoTxAuxDataRaw AlonzoEra) [✔] (2496ms)
      native_script: Annotator (Timelock * AlonzoEra) [✔] (2494ms)
      native_script: Timelock * AlonzoEra [✔] (2514ms)
      plutus_data: Annotator (MemoBytes (PlutusData AlonzoEra)) [✔] (2774ms)
      plutus_data: MemoBytes (PlutusData AlonzoEra) [✔] (2717ms)
      transaction_output: AlonzoTxOut AlonzoEra [✔] (2493ms)
      transaction_witness_set: Annotator (MemoBytes (AlonzoTxWitsRaw AlonzoEra)) [✔] (3912ms)
      transaction_witness_set: MemoBytes (AlonzoTxWitsRaw AlonzoEra) [✔] (2551ms)
      protocol_param_update: PParamsUpdate AlonzoEra [✔] (2658ms)
      [* redeemer]: Annotator (MemoBytes (RedeemersRaw AlonzoEra)) [✔] (2499ms)
      [* redeemer]: MemoBytes (RedeemersRaw AlonzoEra) [✔] (2486ms)
      transaction: Annotator (Tx AlonzoEra) [✔] (3045ms)
      transaction: AlonzoTx AlonzoEra [✔] (3595ms)
      cost_models: CostModels [✔] (2713ms)
      DecCBOR instances equivalence via CDDL
        transaction_body: MemoBytes AlonzoTxBodyRaw [✔] (1206ms)
        auxiliary_data: MemoBytes (AlonzoTxAuxDataRaw AlonzoEra) [✔] (974ms)
        native_script: Timelock * AlonzoEra [✔] (959ms)
        plutus_data: MemoBytes (PlutusData AlonzoEra) [✔] (1255ms)
        transaction_witness_set: MemoBytes (AlonzoTxWitsRaw AlonzoEra) [✔] (2466ms)
        [* redeemer]: MemoBytes (RedeemersRaw AlonzoEra) [✔] (1320ms)
        transaction: AlonzoTx AlonzoEra [✔] (1263ms)
    Huddle
      coin: MaryValue [✔]
      transaction_body: Annotator (MemoBytes AlonzoTxBodyRaw) [✔] (10ms)
      transaction_body: MemoBytes AlonzoTxBodyRaw [✔] (10ms)
      auxiliary_data: Annotator (MemoBytes (AlonzoTxAuxDataRaw AlonzoEra)) [✔] (5ms)
      auxiliary_data: MemoBytes (AlonzoTxAuxDataRaw AlonzoEra) [✔] (4ms)
      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)) [✔] (9ms)
      transaction_witness_set: MemoBytes (AlonzoTxWitsRaw AlonzoEra) [✔] (10ms)
      protocol_param_update: PParamsUpdate AlonzoEra [✔] (357ms)
      redeemers: Annotator (MemoBytes (RedeemersRaw AlonzoEra)) [✔] (11ms)
      redeemers: MemoBytes (RedeemersRaw AlonzoEra) [✔] (10ms)
      transaction: Annotator (Tx AlonzoEra) [✔] (17ms)
      transaction: AlonzoTx AlonzoEra [✔] (17ms)
      cost_models: CostModels [✔] (5207ms)
      DecCBOR instances equivalence via CDDL
        transaction_body: MemoBytes AlonzoTxBodyRaw [✔] (10ms)
        auxiliary_data: MemoBytes (AlonzoTxAuxDataRaw AlonzoEra) [✔] (4ms)
        native_script: Timelock * AlonzoEra [✔] (3ms)
        plutus_data: MemoBytes (PlutusData AlonzoEra) [✔] (9ms)
        transaction_witness_set: MemoBytes (AlonzoTxWitsRaw AlonzoEra) [✔] (9ms)
        redeemers: MemoBytes (RedeemersRaw AlonzoEra) [✔] (10ms)
        transaction: AlonzoTx AlonzoEra [✔] (16ms)
  Alonzo
    RoundTrip JSON
      PParams AlonzoEra [✔] (5711ms)
        +++ OK, passed 100 tests.
      AlonzoGenesis [✔] (5693ms)
        +++ OK, passed 100 tests.
  Shelley era JSON Roundtrip: Alonzo
    TransitionConfig AlonzoEra [✔] (6627ms)
      +++ 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 [✔] (109ms)
  Golden
    Golden JSON specs for PParams [✔] (15ms)
    Golden JSON specs for PParamsUpdate [✔]
  Imp
    ShelleyImpSpec
      Version 5
        LEDGER
          Transactions update UTxO [✔] (1ms)
        EPOCH
          Runs basic transaction [✔] (75ms)
          Crosses epoch boundaries [✔] (74ms)
        UTXOW
          Bootstrap Witness
            Valid Witnesses [✔]
            InvalidWitnessesUTXOW [✔] (1ms)
          MissingVKeyWitnessesUTXOW [✔]
          MissingScriptWitnessesUTXOW [✔]
          MissingTxBodyMetadataHash [✔]
          MissingTxMetadata [✔]
          ConflictingMetadataHash [✔]
          ExtraneousScriptWitnessesUTXOW [✔]
        UTXO
          ShelleyUtxoPredFailure
            ValueNotConservedUTxO [✔]
      Version 6
        LEDGER
          Transactions update UTxO [✔]
        EPOCH
          Runs basic transaction [✔] (77ms)
          Crosses epoch boundaries [✔] (74ms)
        UTXOW
          Bootstrap Witness
            Valid Witnesses [✔] (1ms)
            InvalidWitnessesUTXOW [✔]
          MissingVKeyWitnessesUTXOW [✔]
          MissingScriptWitnessesUTXOW [✔]
          MissingTxBodyMetadataHash [✔]
          MissingTxMetadata [✔]
          ConflictingMetadataHash [✔]
          ExtraneousScriptWitnessesUTXOW [✔]
        UTXO
          ShelleyUtxoPredFailure
            ValueNotConservedUTxO [✔]
    ShelleyPureTests
      InstantStakeIncludesRewards [✔] (380ms)
        +++ OK, passed 100 tests.
    AllegraImpSpec
      Version 5
        UTXOW
          InvalidMetadata [✔]
      Version 6
        UTXOW
          InvalidMetadata [✔]
    MaryImpSpec
      Version 5
        UTXO
          Mint a Token [✔]
          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 [✔] (74ms)
              purposeIsWellformedWithDatum [✔] (77ms)
              datumIsWellformed [✔] (75ms)
              inputsOutputsAreNotEmptyWithDatum [✔] (75ms)
            Valid transaction marked as invalid [✔]
            Invalid transaction marked as valid [✔] (1ms)
            Invalid plutus script fails in phase 2 [✔]
            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 [✔]
              Not validating SPEND script [✔] (1ms)
              Validating CERT script [✔]
              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 [✔]?7h
            PlutusV1
              MissingRedeemers [✔] (1ms)
              MissingRequiredDatums [✔] (1ms)
              NotAllowedSupplementalDatums [✔]
              PPViewHashesDontMatch
                Mismatched [✔] (1ms)
                Missing [✔]
              UnspendableUTxONoDatumHash [✔]
              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 [✔]
                Spending [✔]
                Multiple equal plutus-locked certs [✔] (1ms)
      Version 6
        UTXO
          Wrong network ID [✔]
          PlutusV1
            Too many execution units for tx [✔]
            Insufficient collateral [✔] (1ms)
        UTXOS
          PlutusV1
            Spending scripts with a Datum
              redeemerSameAsDatum [✔] (78ms)
              purposeIsWellformedWithDatum [✔] (75ms)
              datumIsWellformed [✔] (75ms)
              inputsOutputsAreNotEmptyWithDatum [✔] (77ms)
            Valid transaction marked as invalid [✔]
            Invalid transaction marked as valid [✔] (1ms)
            Invalid plutus script fails in phase 2 [✔]
            Scripts pass in phase 2
              purposeIsWellformedWithDatum [✔] (1ms)
              datumIsWellformed [✔]
              inputsOutputsAreNotEmptyWithDatum [✔] (1ms)
            No cost model [✔] (1ms)
        UTXOW
          Valid transactions
            Non-script output with datum [✔]
            PlutusV1
              Validating SPEND script [✔] (1ms)
              Not validating SPEND script [✔] (1ms)
              Validating CERT script [✔]
              Not validating CERT script [✔] (1ms)
              Validating WITHDRAWAL script [✔]
              Not validating WITHDRAWAL script [✔] (1ms)
              Validating MINT script [✔]
              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 [✔]?7h
              PPViewHashesDontMatch
                Mismatched [✔] (1ms)
                Missing [✔] (1ms)
              UnspendableUTxONoDatumHash [✔]
              No ExtraRedeemers on same script certificates [✔] (1ms)
              Missing phase-2 script witness [✔]
              Redeemer with incorrect purpose [✔] (1ms)
              Missing witness for collateral input [✔]
              Extra Redeemer
                Minting [✔]
                Spending [✔] (1ms)
                Multiple equal plutus-locked certs [✔] (1ms)
  CostModels
    CBOR deserialization
      valid CostModels deserialize correctly, both independently and within PParamsUpdate [✔] (2786ms)
        +++ OK, passed 100 tests.
      CostModels with less than expected parameters within PParamsUpdate [✔] (2ms)
        +++ OK, passed 100 tests.
      unknown CostModels deserialize correctly within PParamsUpdate starting with Conway [✔] (1ms)
        +++ OK, passed 100 tests.
    applyPPUpdates [✔] (9806ms)
      +++ 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 [✔] (1ms)
          +++ 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/z1ns25mal8w1xpi69i1d6gfn4dvfdcif-cardano-ledger-alonzo-lib-testlib-1.14.0.0-data/share/ghc-9.6.7/x86_64-linux-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 313993248

Randomized with seed 313993248

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