Use Int64 in CostModelParams #5920
Merged
IOG Hydra / ci/hydra-build:x86_64-darwin.ghc96.checks.plutus-tx:test:plutus-tx-test
succeeded
Apr 23, 2024 in 12s
Build succeeded
2 failed steps
Details
Failed Steps
Step 2
Derivation
/nix/store/ni3glb6j30b99qg046qhd3sx1xxw40ka-plutus-tx-test-plutus-tx-test-1.26.0.0-check.drv
Log
unpacking sources
unpacking source archive /nix/store/dji4v9vql7ax14kb5p07n8fj0jwnpi18-source-root-plutus-tx-test-plutus-tx-test-root
source root is source-root-plutus-tx-test-plutus-tx-test-root
patching sources
building
/nix/store/ll1p3af2n65dpwyc4x8yz45nn10vm710-plutus-tx-test-plutus-tx-test-1.26.0.0/bin:
patching script interpreter paths in /private/tmp/nix-build-plutus-tx-test-plutus-tx-test-1.26.0.0-check.drv-0/tmp.rKeKUjVuHI/bin
plutus-tx
Data serialisation
data round-trip: OK (6.02s)
✓ dataRoundTrip passed 100 tests.
no big bytestrings: OK (0.10s)
✓ noBigByteStrings passed 100 tests.
no big integers: OK
✓ noBigIntegers passed 100 tests.
isqrt/rsqrt tests
isqrt x^2 = x: OK (0.05s)
✓ isqrtRoundTrip passed 100 tests.
rsqrt (a/b)^2 = integer part of a/b: OK
✓ rsqrtRoundTrip passed 100 tests.
rsqrt (-x/b) = Imaginary: OK
✓ rsqrtRoundTripImaginary passed 100 tests.
Ratio
reciprocal ordering 1: OK
✓ reciprocalOrdering1 passed 100 tests.
reciprocal ordering 2: OK (0.01s)
✓ reciprocalOrdering2 passed 100 tests.
reciprocal ordering 3: OK (0.01s)
✓ reciprocalOrdering3 passed 100 tests.
recip 0 % 2 fails: OK
ByteString
takeByteString
take 0: OK
take 1: OK
take 3: OK
take 10: OK
dropByteString
drop 0: OK
drop 1: OK
drop 3: OK
drop 10: OK
Enum
enumFromTo
enumFromTo (-2) 2 == [-2..2]: OK
enumFromTo 2 (-2) == []: OK
enumFromTo 42 42 == [42]: OK
enumFromThenTo
enumFromThenTo 1 2 100 == [1..100]: OK
enumFromThenTo 1 2 100 == [1,2..100]: OK
enumFromThenTo 100 99 1 == [100,99..1]: OK
enumFromThenTo 100 17 (-700) == [100,17..(-700)]: OK
enumFromThenTo 0 5 99 == [0,5..99]: OK
enumFromThenTo 0 5 100 == [0,5..100]: OK
enumFromThenTo 0 5 101 == [0,5..101]: OK
enumFromThenTo 100 95 0 == [100,95..0]: OK
enumFromThenTo 100 95 (-9) == [100,95..(-9)]: OK
enumFromThenTo 100 95 (-10) == [100,95..(-10)]: OK
enumFromThenTo 100 95 (-11) == [100,95..(-11)]: OK
enumFromThenTo 42 42 41 == []: OK
enumFromThenTo 42 42 42 == [42*]: OK
enumFromThenTo 42 42 43 == [42*]: OK
enumFromThenTo False False False == [False*]: OK
enumFromThenTo False False True == [False*]: OK
enumFromThenTo False True False == [False]: OK
enumFromThenTo False True True == [False,True]: OK
enumFromThenTo True False False == [True,False]: OK
enumFromThenTo True False True == [True]: OK
enumFromThenTo True True False == []: OK
enumFromThenTo True True True == [True*]: OK
enumFromThenTo () () () == [()*]: OK
PlutusTx.List tests
null: OK
✓ <interactive> passed 100 tests.
and: OK (0.01s)
✓ <interactive> passed 100 tests.
or: OK (0.02s)
✓ <interactive> passed 100 tests.
any: OK (0.02s)
✓ <interactive> passed 100 tests.
all: OK (0.01s)
✓ <interactive> passed 100 tests.
elem: OK (0.01s)
✓ <interactive> passed 100 tests.
notElem: OK (0.01s)
✓ <interactive> passed 100 tests.
find: OK
✓ <interactive> passed 100 tests.
findIndex: OK (0.03s)
✓ <interactive> passed 100 tests.
nubBy
equal up to mod 3: OK
nub
[] == []: OK
[1, 2, 2] == [1, 2]: OK
[2, 1, 1] == [2, 1]: OK
[1, 1, 1] == [1]: OK
[1, 2, 3, 4, 5] == [1, 2, 3, 4, 5]: OK
partition
partition "aeiou" "Hello World!": OK
partition even [1,2,3,4,5,6]: OK
sort
sort [1,6,4,3,2,5]: OK
sortBy
sortBy second pairs: OK
Rational laws
Eq
== is reflexive: OK
✓ propEqRefl passed 100 tests.
== is symmetric: OK (1.05s)
✓ == is symmetric passed 8000 tests.
identical 50% ██████████·········· ✓ 45%
possibly different 50% █████████▉·········· ✓ 45%
== is transitive: OK (1.21s)
✓ == is transitive passed 8000 tests.
identical 51% ██████████▏········· ✓ 45%
possibly different 49% █████████▊·········· ✓ 45%
== implies substitution: OK (1.83s)
✓ == implies substitution passed 8000 tests.
identical 51% ██████████·········· ✓ 45%
possibly different 49% █████████▉·········· ✓ 45%
Ord
<= is reflexive: OK (0.01s)
✓ propOrdRefl passed 100 tests.
<= is anti-symmetric: OK (1.20s)
✓ <= is anti-symmetric passed 8000 tests.
identical 50% █████████▉·········· ✓ 45%
possibly different 50% ██████████·········· ✓ 45%
<= is transitive: OK (1.27s)
✓ <= is transitive passed 8000 tests.
identical 51% ██████████·········· ✓ 45%
possibly different 49% █████████▉·········· ✓ 45%
== implies EQ: OK (0.98s)
✓ == implies EQ passed 8000 tests.
identical 50% █████████▉·········· ✓ 45%
possibly different 50% ██████████·········· ✓ 45%
AdditiveGroup
+ commutes: OK
✓ propPlusComm passed 100 tests.
+ associates: OK
✓ propPlusAssoc passed 100 tests.
zero is an identity: OK
✓ propZeroId passed 100 tests.
x - x = zero: OK
✓ propMinusCancel passed 100 tests.
negate . negate = id: OK
✓ propDoubleNeg passed 100 tests.
MultiplicativeMonoid
* associates: OK
✓ propTimesAssoc passed 100 tests.
one is a left identity: OK
✓ propOneLeftId passed 100 tests.
one is a right identity: OK
✓ propOneRightId passed 100 tests.
Ring
zero is a left annihilator: OK
✓ propZeroLeftAnnih passed 100 tests.
zero is a right annihilator: OK
✓ propZeroRightAnnih passed 100 tests.
* left-distributes over +: OK (0.01s)
✓ propTimesLeftDistPlus passed 100 tests.
* right-distributes over +: OK
✓ propTimesRightDistPlus passed 100 tests.
Module
scale 0 = 0: OK
✓ propScaleZero passed 100 tests.
scale 1 = id: OK
✓ propScaleOne passed 100 tests.
scale distributes over +: OK
✓ propScaleDistPlus passed 100 tests.
scale x (scale y r) = scale (x * y) r: OK (0.03s)
✓ propScaleTimes passed 100 tests.
Serialization
FromBuiltinData-ToBuiltinData roundtrip: OK (0.11s)
✓ propIsDataRound passed 100 tests.
unsafeFromBuiltinData . toBuiltinData = id: OK (0.01s)
✓ propUnsafeIsData passed 100 tests.
FromJSON-ToJSON roundtrip: OK
✓ propIsJSONRound passed 100 tests.
Construction
ratio x 0 = Nothing: OK
✓ propZeroDenom passed 100 tests.
ratio x 1 = Just . fromInteger $ x: OK
✓ propOneDenom passed 100 tests.
ratio x x = Just 1 for x /= 0: OK
✓ propRatioSelf passed 100 tests.
sign of result depends on signs of arguments: OK (1.23s)
✓ sign of result depends on signs of arguments passed 8000 tests.
zero numerator 33% ██████▌············· ✓ 30%
same signs 33% ██████▋············· ✓ 30%
different signs 34% ██████▊············· ✓ 30%
if ratio x y = Just r, then unsafeRatio x y = r: OK
✓ propConstructionAgreement passed 100 tests.
if r = fromInteger x, then numerator r = x: OK
✓ propFromIntegerNum passed 100 tests.
if r = fromInteger x, then denominator r = 1: OK
✓ propFromIntegerDen passed 100 tests.
ratio x y = ratio (x * z) (y * z) for z /= 0: OK
✓ propRatioScale passed 100 tests.
denominator (unsafeRatio x y) > 0: OK
✓ propUnsafeRatioDenomPos passed 100 tests.
Other
numerator r = numerator . scale (denominator r) $ r: OK
✓ propNumeratorScale passed 100 tests.
denominator r >= 1: OK
✓ propPosDen passed 100 tests.
recip r * r = 1 for r /= 0: OK
✓ propRecipSelf passed 100 tests.
abs r >= 0: OK
✓ propAbs passed 100 tests.
abs r * abs r' = abs (r * r'): OK
✓ probAbsTimes passed 100 tests.
r = n + f, where (n, f) = properFraction r: OK
✓ propProperFrac passed 100 tests.
signs of properFraction components match sign of input: OK (1.27s)
✓ signs of properFraction components match sign of input passed 8000 tests.
zero 34% ██████▉············· ✓ 30%
negative 33% ██████▌············· ✓ 30%
positive 33% ██████▌············· ✓ 30%
abs f < 1, where (_, f) = properFraction r: OK
✓ propProperFracAbs passed 100 tests.
abs (round r) >= abs n, where (n, _) = properFraction r: OK
✓ propAbsRound passed 100 tests.
halves round as expected: OK
✓ propRoundHalf passed 100 tests.
if abs f < half, then round r = truncate r, where (_, f) = properFraction r: OK
✓ propRoundLow passed 100 tests.
if abs f > half, then abs (round r) = abs (truncate r) + 1, where (_, f) = properFraction r: OK
✓ propRoundHigh passed 100 tests.
PlutusTx.Show property-based tests
PlutusTx.Show @Integer: OK
✓ PlutusTx.Show @Integer passed 100 tests.
PlutusTx.Show @BuiltinByteString: OK (0.03s)
✓ PlutusTx.Show @BuiltinByteString passed 100 tests.
Show
product-type: OK (0.15s)
product-type-2: OK (0.09s)
sum-type-1: OK (0.09s)
sum-type-2: OK (0.06s)
record-type: OK (0.05s)
infix-type: OK (0.07s)
infix-type-2: OK (0.10s)
gadt: OK (0.04s)
poly: OK (0.05s)
PlutusTx.Blueprint.Definition
Derived definitions are empty when no types are provided.: OK
There are not less schema definitions than listed domain types.: OK
All referenced schema definitions are defined.: OK
All 125 tests passed (6.04s)
Step 1
Derivation
/nix/store/ni3glb6j30b99qg046qhd3sx1xxw40ka-plutus-tx-test-plutus-tx-test-1.26.0.0-check.drv
Log
unpacking sources
unpacking source archive /nix/store/dji4v9vql7ax14kb5p07n8fj0jwnpi18-source-root-plutus-tx-test-plutus-tx-test-root
source root is source-root-plutus-tx-test-plutus-tx-test-root
patching sources
building
/nix/store/ll1p3af2n65dpwyc4x8yz45nn10vm710-plutus-tx-test-plutus-tx-test-1.26.0.0/bin:
patching script interpreter paths in /private/tmp/nix-build-plutus-tx-test-plutus-tx-test-1.26.0.0-check.drv-0/tmp.rKeKUjVuHI/bin
plutus-tx
Data serialisation
data round-trip: OK (6.02s)
✓ dataRoundTrip passed 100 tests.
no big bytestrings: OK (0.10s)
✓ noBigByteStrings passed 100 tests.
no big integers: OK
✓ noBigIntegers passed 100 tests.
isqrt/rsqrt tests
isqrt x^2 = x: OK (0.05s)
✓ isqrtRoundTrip passed 100 tests.
rsqrt (a/b)^2 = integer part of a/b: OK
✓ rsqrtRoundTrip passed 100 tests.
rsqrt (-x/b) = Imaginary: OK
✓ rsqrtRoundTripImaginary passed 100 tests.
Ratio
reciprocal ordering 1: OK
✓ reciprocalOrdering1 passed 100 tests.
reciprocal ordering 2: OK (0.01s)
✓ reciprocalOrdering2 passed 100 tests.
reciprocal ordering 3: OK (0.01s)
✓ reciprocalOrdering3 passed 100 tests.
recip 0 % 2 fails: OK
ByteString
takeByteString
take 0: OK
take 1: OK
take 3: OK
take 10: OK
dropByteString
drop 0: OK
drop 1: OK
drop 3: OK
drop 10: OK
Enum
enumFromTo
enumFromTo (-2) 2 == [-2..2]: OK
enumFromTo 2 (-2) == []: OK
enumFromTo 42 42 == [42]: OK
enumFromThenTo
enumFromThenTo 1 2 100 == [1..100]: OK
enumFromThenTo 1 2 100 == [1,2..100]: OK
enumFromThenTo 100 99 1 == [100,99..1]: OK
enumFromThenTo 100 17 (-700) == [100,17..(-700)]: OK
enumFromThenTo 0 5 99 == [0,5..99]: OK
enumFromThenTo 0 5 100 == [0,5..100]: OK
enumFromThenTo 0 5 101 == [0,5..101]: OK
enumFromThenTo 100 95 0 == [100,95..0]: OK
enumFromThenTo 100 95 (-9) == [100,95..(-9)]: OK
enumFromThenTo 100 95 (-10) == [100,95..(-10)]: OK
enumFromThenTo 100 95 (-11) == [100,95..(-11)]: OK
enumFromThenTo 42 42 41 == []: OK
enumFromThenTo 42 42 42 == [42*]: OK
enumFromThenTo 42 42 43 == [42*]: OK
enumFromThenTo False False False == [False*]: OK
enumFromThenTo False False True == [False*]: OK
enumFromThenTo False True False == [False]: OK
enumFromThenTo False True True == [False,True]: OK
enumFromThenTo True False False == [True,False]: OK
enumFromThenTo True False True == [True]: OK
enumFromThenTo True True False == []: OK
enumFromThenTo True True True == [True*]: OK
enumFromThenTo () () () == [()*]: OK
PlutusTx.List tests
null: OK
✓ <interactive> passed 100 tests.
and: OK (0.01s)
✓ <interactive> passed 100 tests.
or: OK (0.02s)
✓ <interactive> passed 100 tests.
any: OK (0.02s)
✓ <interactive> passed 100 tests.
all: OK (0.01s)
✓ <interactive> passed 100 tests.
elem: OK (0.01s)
✓ <interactive> passed 100 tests.
notElem: OK (0.01s)
✓ <interactive> passed 100 tests.
find: OK
✓ <interactive> passed 100 tests.
findIndex: OK (0.03s)
✓ <interactive> passed 100 tests.
nubBy
equal up to mod 3: OK
nub
[] == []: OK
[1, 2, 2] == [1, 2]: OK
[2, 1, 1] == [2, 1]: OK
[1, 1, 1] == [1]: OK
[1, 2, 3, 4, 5] == [1, 2, 3, 4, 5]: OK
partition
partition "aeiou" "Hello World!": OK
partition even [1,2,3,4,5,6]: OK
sort
sort [1,6,4,3,2,5]: OK
sortBy
sortBy second pairs: OK
Rational laws
Eq
== is reflexive: OK
✓ propEqRefl passed 100 tests.
== is symmetric: OK (1.05s)
✓ == is symmetric passed 8000 tests.
identical 50% ██████████·········· ✓ 45%
possibly different 50% █████████▉·········· ✓ 45%
== is transitive: OK (1.21s)
✓ == is transitive passed 8000 tests.
identical 51% ██████████▏········· ✓ 45%
possibly different 49% █████████▊·········· ✓ 45%
== implies substitution: OK (1.83s)
✓ == implies substitution passed 8000 tests.
identical 51% ██████████·········· ✓ 45%
possibly different 49% █████████▉·········· ✓ 45%
Ord
<= is reflexive: OK (0.01s)
✓ propOrdRefl passed 100 tests.
<= is anti-symmetric: OK (1.20s)
✓ <= is anti-symmetric passed 8000 tests.
identical 50% █████████▉·········· ✓ 45%
possibly different 50% ██████████·········· ✓ 45%
<= is transitive: OK (1.27s)
✓ <= is transitive passed 8000 tests.
identical 51% ██████████·········· ✓ 45%
possibly different 49% █████████▉·········· ✓ 45%
== implies EQ: OK (0.98s)
✓ == implies EQ passed 8000 tests.
identical 50% █████████▉·········· ✓ 45%
possibly different 50% ██████████·········· ✓ 45%
AdditiveGroup
+ commutes: OK
✓ propPlusComm passed 100 tests.
+ associates: OK
✓ propPlusAssoc passed 100 tests.
zero is an identity: OK
✓ propZeroId passed 100 tests.
x - x = zero: OK
✓ propMinusCancel passed 100 tests.
negate . negate = id: OK
✓ propDoubleNeg passed 100 tests.
MultiplicativeMonoid
* associates: OK
✓ propTimesAssoc passed 100 tests.
one is a left identity: OK
✓ propOneLeftId passed 100 tests.
one is a right identity: OK
✓ propOneRightId passed 100 tests.
Ring
zero is a left annihilator: OK
✓ propZeroLeftAnnih passed 100 tests.
zero is a right annihilator: OK
✓ propZeroRightAnnih passed 100 tests.
* left-distributes over +: OK (0.01s)
✓ propTimesLeftDistPlus passed 100 tests.
* right-distributes over +: OK
✓ propTimesRightDistPlus passed 100 tests.
Module
scale 0 = 0: OK
✓ propScaleZero passed 100 tests.
scale 1 = id: OK
✓ propScaleOne passed 100 tests.
scale distributes over +: OK
✓ propScaleDistPlus passed 100 tests.
scale x (scale y r) = scale (x * y) r: OK (0.03s)
✓ propScaleTimes passed 100 tests.
Serialization
FromBuiltinData-ToBuiltinData roundtrip: OK (0.11s)
✓ propIsDataRound passed 100 tests.
unsafeFromBuiltinData . toBuiltinData = id: OK (0.01s)
✓ propUnsafeIsData passed 100 tests.
FromJSON-ToJSON roundtrip: OK
✓ propIsJSONRound passed 100 tests.
Construction
ratio x 0 = Nothing: OK
✓ propZeroDenom passed 100 tests.
ratio x 1 = Just . fromInteger $ x: OK
✓ propOneDenom passed 100 tests.
ratio x x = Just 1 for x /= 0: OK
✓ propRatioSelf passed 100 tests.
sign of result depends on signs of arguments: OK (1.23s)
✓ sign of result depends on signs of arguments passed 8000 tests.
zero numerator 33% ██████▌············· ✓ 30%
same signs 33% ██████▋············· ✓ 30%
different signs 34% ██████▊············· ✓ 30%
if ratio x y = Just r, then unsafeRatio x y = r: OK
✓ propConstructionAgreement passed 100 tests.
if r = fromInteger x, then numerator r = x: OK
✓ propFromIntegerNum passed 100 tests.
if r = fromInteger x, then denominator r = 1: OK
✓ propFromIntegerDen passed 100 tests.
ratio x y = ratio (x * z) (y * z) for z /= 0: OK
✓ propRatioScale passed 100 tests.
denominator (unsafeRatio x y) > 0: OK
✓ propUnsafeRatioDenomPos passed 100 tests.
Other
numerator r = numerator . scale (denominator r) $ r: OK
✓ propNumeratorScale passed 100 tests.
denominator r >= 1: OK
✓ propPosDen passed 100 tests.
recip r * r = 1 for r /= 0: OK
✓ propRecipSelf passed 100 tests.
abs r >= 0: OK
✓ propAbs passed 100 tests.
abs r * abs r' = abs (r * r'): OK
✓ probAbsTimes passed 100 tests.
r = n + f, where (n, f) = properFraction r: OK
✓ propProperFrac passed 100 tests.
signs of properFraction components match sign of input: OK (1.27s)
✓ signs of properFraction components match sign of input passed 8000 tests.
zero 34% ██████▉············· ✓ 30%
negative 33% ██████▌············· ✓ 30%
positive 33% ██████▌············· ✓ 30%
abs f < 1, where (_, f) = properFraction r: OK
✓ propProperFracAbs passed 100 tests.
abs (round r) >= abs n, where (n, _) = properFraction r: OK
✓ propAbsRound passed 100 tests.
halves round as expected: OK
✓ propRoundHalf passed 100 tests.
if abs f < half, then round r = truncate r, where (_, f) = properFraction r: OK
✓ propRoundLow passed 100 tests.
if abs f > half, then abs (round r) = abs (truncate r) + 1, where (_, f) = properFraction r: OK
✓ propRoundHigh passed 100 tests.
PlutusTx.Show property-based tests
PlutusTx.Show @Integer: OK
✓ PlutusTx.Show @Integer passed 100 tests.
PlutusTx.Show @BuiltinByteString: OK (0.03s)
✓ PlutusTx.Show @BuiltinByteString passed 100 tests.
Show
product-type: OK (0.15s)
product-type-2: OK (0.09s)
sum-type-1: OK (0.09s)
sum-type-2: OK (0.06s)
record-type: OK (0.05s)
infix-type: OK (0.07s)
infix-type-2: OK (0.10s)
gadt: OK (0.04s)
poly: OK (0.05s)
PlutusTx.Blueprint.Definition
Derived definitions are empty when no types are provided.: OK
There are not less schema definitions than listed domain types.: OK
All referenced schema definitions are defined.: OK
All 125 tests passed (6.04s)
Loading