CIP-0138 array #6749
Open
CIP-0138 array #6749
IOG Hydra / ci/hydra-build:x86_64-linux.ghc96.checks.plutus-tx-plugin:test:plutus-tx-plugin-tests
failed
Jan 2, 2025 in 11s
Build failed
1 failed steps
Details
Failed Steps
Step 1
Derivation
/nix/store/pinghcbcx86l4p695k1p6q7dx57pgv31-plutus-tx-plugin-test-plutus-tx-plugin-tests-1.38.0.0-check.drv
Log
Running phase: unpackPhase
unpacking source archive /nix/store/dr6fzvwyrdrzwj6s40bzywmxv7bqdb3v-source-plutus-tx-plugin-test-plutus-tx-plugin-tests-root
source root is source-plutus-tx-plugin-test-plutus-tx-plugin-tests-root
Running phase: patchPhase
Running phase: buildPhase
/nix/store/y2kn93c0qjvkyqa1nwlqvvpf2l8sygxj-plutus-tx-plugin-test-plutus-tx-plugin-tests-1.38.0.0/bin:
patching script interpreter paths in /build/tmp.Yh2ITiZfGE/bin
test
Plugin
Basic
9.6
monoId: OK
monoK: OK
letFun: OK
nonstrictLet: OK
strictLet: OK
strictMultiLet: OK
strictLetRec: OK
ifOpt: OK
ifOptEval: OK
monadicDo: OK (0.01s)
patternMatchDo: OK (0.01s)
patternMatchFailure: OK
defaultCaseDuplication: OK
defaultCaseDuplicationNested: OK (0.01s)
Primitives
9.6
string: OK
int: OK
int2: OK
bool: OK
and: OK
andApply: OK (0.01s)
tuple: OK
tupleMatch: OK
tupleConstDest: OK
intCompare: OK
intEq: OK
intEqApply: OK
void: OK (0.01s)
intPlus: OK
intDiv: OK
intPlusApply: OK
error: OK (0.01s)
ifThenElse: OK
ifThenElseApply: OK (0.01s)
emptyByteString: OK (0.01s)
emptyByteStringApply: OK (0.01s)
bytestring: OK
bytestringApply: OK (0.01s)
sha2_256: OK (0.01s)
equalsByteString: OK
ltByteString: OK (0.01s)
decodeUtf8: OK (0.01s)
lengthOfByteString: OK
indexByteString: OK (0.01s)
consByteString: OK (0.01s)
verify: OK
trace: OK
traceComplex: OK
stringLiteral: OK
equalsString: OK (0.01s)
encodeUtf8: OK
serialiseData: OK
serialiseDataApply: OK
constructData1: OK
deconstructorData1: OK
matchData1: OK
deconstructData1: OK
deconstructorData2: OK
deconstructData2: OK
deconstructData3: OK
writeBits-integerToByteString: OK
Data
9.6
monomorphic
enum: OK
monoDataType: OK
monoConstructor: OK
monoConstructed: OK
monoCase: OK
monoCaseStrict: OK
monoConstDest: OK
defaultCase: OK
irrefutableMatch: OK
atPattern: OK
monoConstDestDefault: OK
monoRecord: OK
recordNewtype: OK
recordWithStrictField: OK
unusedWrapper: OK
nonValueCase: OK
strictDataMatch: OK
synonym: OK
polymorphic
polyDataType: OK
polyConstructed: OK
defaultCasePoly: OK
newtypes
basicNewtype: OK
newtypeMatch: OK
newtypeCreate: OK
newtypeId: OK
newtypeCreate2: OK
nestedNewtypeMatch: OK
newtypeCreatDest: OK
paramNewtype: OK
recursive
listConstruct: OK
listConstruct2: OK
listConstruct3: OK
listMatch: OK
listConstDest: OK
listConstDest2: OK
ptreeConstruct: OK (0.01s)
ptreeMatch: OK
ptreeConstDest: OK
polyRecEval: OK
ptreeFirstEval: OK (0.01s)
sameEmptyRoseEval: OK
sameEmptyRose: OK (0.01s)
interListConstruct: OK (0.06s)
processInterListEval: OK
families
basicClosed: OK
basicOpen: OK
associated: OK
associatedParam: OK
basicData: OK
irreducible: OK
Debug
9.6
letFun: OK
fib: OK
Functions
9.6
recursive
fib: OK
fib4: OK
sum: OK
sumList: OK
even: OK
even3: OK
even4: OK
strictLength: OK (0.01s)
lazyLength: OK
unfoldings
nandDirect: OK (0.01s)
andDirect: OK (0.01s)
andExternal: OK (0.01s)
allDirect: OK (0.01s)
mutualRecursionUnfoldings: OK (0.01s)
recordSelector: OK
recordSelectorExternal: OK (0.01s)
polyMap: OK (0.01s)
applicationFunction: OK (0.01s)
unboxedTuples2: OK (0.01s)
unboxedTuples3: OK (0.01s)
unboxedTuples4: OK (0.01s)
unboxedTuples5: OK (0.01s)
unboxedTuples2Tuples: OK (0.01s)
unboxedTuples3Tuples: OK (0.01s)
Laziness
9.6
joinError: OK (0.01s)
joinErrorEval: OK (0.01s)
lazyDepUnit: OK (0.01s)
remove-trace
Trace calls are preserved (no-remove-trace)
trace-argument: OK
trace-show: OK
trace-complex: OK
trace-direct: OK
trace-non-constant: OK
trace-repeatedly: OK
trace-impure: OK
trace-impure with effect: OK
Trace calls are preserved (preserve-logging)
trace-argument: OK
trace-show: OK
trace-complex: OK
trace-direct: OK
trace-non-constant: OK
trace-repeatedly: OK
trace-impure: OK
trace-impure with effect: OK
Trace calls are removed (remove-trace)
trace-argument: OK
trace-show: OK
trace-complex: OK
trace-direct: OK
trace-non-constant: OK
trace-repeatedly: OK
trace-impure: OK
trace-impure without effect: OK
Optimization
9.6
alwaysSucceeds: OK (0.01s)
alwaysFails: OK (0.01s)
Errors
9.6
machInt: OK (0.01s)
caseInt: OK (0.01s)
stringLiteral: OK (0.01s)
recursiveNewtype: OK (0.01s)
mutualRecursionUnfoldingsLocal: OK (0.01s)
literalCaseInt: OK (0.01s)
literalCaseBs: OK (0.01s)
literalAppendBs: OK
literalCaseOther: OK
rangeEnumFromTo: OK
rangeEnumFromThenTo: OK
rangeEnumFrom: OK
rangeEnumFromThen: OK
toBuiltinUsed: OK
fromBuiltinUsed: OK
Typeclasses
9.6
sizedBasic: OK
sizedPair: OK
multiFunction: OK
defaultMethods: OK
partialApplication: OK
sequenceTest: OK
compareTest: OK
concatTest: OK
sumTest: OK
fmapDefaultTest: OK (0.01s)
Strict
9.6
strictAdd: OK
strictAppend: OK
strictAppend2: OK
strictAppendString: OK
strictITE: OK
strictPair: OK
strictList: OK
strictData: OK
issue4645: OK
issue4645: OK
Profiling
9.6
fib: OK
fib4: OK
fact4: OK
addInt: OK
addInt3: OK
letInFun: OK
letInFunMoreArg: OK
letRecInFun: OK
idCode: OK
id: OK
swap: OK
typeclass: OK
argMismatch1: OK
argMismatch2: OK
Coverage
9.6
Application heads and line coverage
noBool
correct application heads: OK
correct line coverage: OK
boolTrueFalse
correct application heads: OK
correct line coverage: OK
boolOtherFunction
correct application heads: OK
correct line coverage: OK
boolQualifiedDisappears
correct application heads: OK
correct line coverage: OK
coverageCode: OK (0.01s)
Patterns
9.6
psym1: OK
psymRec: OK (0.01s)
IntegerLiterals
9.6
integerLiterals-NoStrict-NegativeLiterals: OK
IntegerLiterals
9.6
integerLiterals-NoStrict-NoNegativeLiterals: OK (0.01s)
IntegerLiterals
9.6
integerLiterals-Strict-NegativeLiterals: OK
IntegerLiterals
9.6
integerLiterals-Strict-NoNegativeLiterals: OK
BuiltinByteString Literals
fromString: OK
Compile BuiltinByteString Literal
Raw bytes: OK
stringToBuiltinByteString: OK
BuiltinByteStringUtf8: OK
stringToBuiltinByteStringUtf8: OK
BuiltinByteStringHex: OK
stringToBuiltinByteStringHex: OK
IsData
9.6
int: OK
tuple: OK
tupleInterop: OK
unsafeTupleInterop: OK
unit: OK
unitInterop: OK
mono: OK
poly: OK (0.01s)
record: OK (0.01s)
list: OK (0.01s)
nested: OK (0.01s)
bytestring: OK
deconstructData: OK (0.01s)
unsafeDeconstructData: OK (0.01s)
matchAsData: OK (0.01s)
matchAsDataE: OK (0.01s)
recordAsData: OK (0.01s)
dataToData: OK (0.01s)
equalityAsData: OK (0.01s)
fieldAccessor: OK (0.01s)
Lift
9.6
int: OK (0.01s)
tuple: OK (0.01s)
mono: OK (0.01s)
monoInterop: OK (0.01s)
poly: OK (0.01s)
polyInterop: OK (0.01s)
record: OK (0.01s)
boolInterop: OK (0.01s)
list: OK (0.01s)
listInterop: OK (0.01s)
nested: OK (0.01s)
bytestring: OK (0.01s)
newtypeInt: OK
newtypeInt2: OK
newtypeInt3: OK
syn: OK (0.01s)
TH
9.6
simple: OK
power: OK
and: OK
all: OK
convertString: OK
traceDirect: OK (0.01s)
tracePrelude: OK
traceRepeatedly: OK (0.01s)
someData: OK
StdLib
9.6
ratioInterop: OK
round: OK
✓ round passed 100 tests.
truncate: OK
✓ truncate passed 100 tests.
abs: OK
✓ abs passed 100 tests.
ord: OK
✓ testOrd passed 100 tests.
divMod: OK
✓ testDivMod passed 100 tests.
quotRem: OK
✓ testQuotRem passed 100 tests.
Eq @Data: OK (0.02s)
✓ eqData passed 100 tests.
errorTrace: OK
Budget
9.6
sum: OK
sum: OK
sum: OK
sum: OK
anyCheap: OK
anyCheap: OK
anyCheap: OK
anyCheap: OK
anyExpensive: OK
anyExpensive: OK
anyExpensive: OK
anyExpensive: OK
anyEmptyList: OK
anyEmptyList: OK
anyEmptyList: OK
anyEmptyList: OK
allCheap: OK
allCheap: OK
allCheap: OK
allCheap: OK
allExpensive: OK
allExpensive: OK
allExpensive: OK
allExpensive: OK
allEmptyList: OK
allEmptyList: OK
allEmptyList: OK
allEmptyList: OK
findCheap: OK
findCheap: OK
findCheap: OK
findCheap: OK
findExpensive: OK
findExpensive: OK
findExpensive: OK
findExpensive: OK
findEmptyList: OK
findEmptyList: OK
findEmptyList: OK
findEmptyList: OK
findIndexCheap: OK
findIndexCheap: OK
findIndexCheap: OK
findIndexCheap: OK
findIndexExpensive: OK
findIndexExpensive: OK
findIndexExpensive: OK
findIndexExpensive: OK
findIndexEmptyList: OK
findIndexEmptyList: OK
findIndexEmptyList: OK
findIndexEmptyList: OK
filter: OK
filter: OK
filter: OK
filter: OK
andCheap: OK
andCheap: OK
andCheap: OK
andCheap: OK
andExpensive: OK
andExpensive: OK
andExpensive: OK (0.01s)
andExpensive: OK
orCheap: OK
orCheap: OK
orCheap: OK
orCheap: OK
orExpensive: OK
orExpensive: OK
orExpensive: OK
orExpensive: OK
elemCheap: OK
elemCheap: OK
elemCheap: OK
elemCheap: OK
elemExpensive: OK
elemExpensive: OK
elemExpensive: OK
elemExpensive: OK
notElemCheap: OK
notElemCheap: OK
notElemCheap: OK (0.01s)
notElemCheap: OK
notElemExpensive: OK (0.01s)
notElemExpensive: OK (0.01s)
notElemExpensive: OK (0.01s)
notElemExpensive: OK (0.01s)
lte0: OK (0.01s)
lte0: OK
lte0: OK
lte0: OK (0.01s)
gte0: OK (0.01s)
gte0: OK (0.01s)
gte0: OK (0.01s)
gte0: OK (0.01s)
recursiveLte0: OK (0.01s)
recursiveLte0: OK (0.01s)
recursiveLte0: OK
recursiveLte0: OK (0.01s)
recursiveGte0: OK (0.01s)
recursiveGte0: OK
recursiveGte0: OK
recursiveGte0: OK (0.01s)
sumL: OK (0.01s)
sumL: OK (0.01s)
sumL: OK
sumL: OK (0.01s)
sumR: OK (0.01s)
sumR: OK
sumR: OK (0.01s)
sumR: OK (0.01s)
constAccL: OK (0.01s)
constAccL: OK
constAccL: OK
constAccL: OK (0.01s)
constAccR: OK (0.01s)
constAccR: OK
constAccR: OK
constAccR: OK (0.01s)
constElL: OK (0.01s)
constElL: OK
constElL: OK
constElL: OK (0.01s)
constElR: OK
constElR: OK
constElR: OK
constElR: OK (0.01s)
null: OK
null: OK (0.01s)
null: OK (0.01s)
null: OK (0.01s)
listIndexing: OK (0.01s)
listIndexing: OK (0.01s)
listIndexing: OK (0.01s)
listIndexing: OK (0.01s)
builtinListIndexing: OK
builtinListIndexing: OK
builtinListIndexing: OK (0.01s)
builtinListIndexing: OK
toFromData: OK
toFromData: OK
toFromData: OK
toFromData: OK
not-not: OK
not-not: OK
not-not: OK
not-not: OK
monadicDo: OK
monadicDo: OK
monadicDo: OK
monadicDo: OK (0.01s)
applicative: OK
applicative: OK (0.01s)
applicative: OK (0.01s)
applicative: OK (0.01s)
patternMatch: OK (0.01s)
patternMatch: OK (0.01s)
patternMatch: OK (0.01s)
patternMatch: OK (0.01s)
show: OK (0.01s)
show: OK (0.01s)
show: OK (0.02s)
ifThenElse1: OK
ifThenElse1: OK
ifThenElse1: OK (0.01s)
ifThenElse1: OK
ifThenElse2: OK
ifThenElse2: OK (0.01s)
ifThenElse2: OK (0.01s)
ifThenElse2: OK (0.01s)
matchAsDataE: OK (0.01s)
matchAsDataE: OK (0.01s)
andWithGHCOpts: OK (0.01s)
andWithGHCOpts: OK (0.01s)
andWithGHCOpts: OK (0.01s)
andWithGHCOpts: OK
andWithoutGHCOpts: OK (0.01s)
andWithoutGHCOpts: OK (0.01s)
andWithoutGHCOpts: OK (0.01s)
andWithoutGHCOpts: OK
andWithLocal: OK (0.01s)
andWithLocal: OK (0.02s)
andWithLocal: OK
andWithLocal: OK (0.01s)
AsData/Budget
9.6
onlyUseFirstField: OK
onlyUseFirstField: OK (0.01s)
onlyUseFirstField: OK (0.01s)
onlyUseFirstField-budget: OK (0.01s)
patternMatching: OK (0.01s)
patternMatching: OK (0.01s)
patternMatching: OK (0.01s)
patternMatching-budget: OK (0.01s)
recordFields: OK (0.01s)
recordFields: OK (0.01s)
recordFields: OK (0.01s)
recordFields-budget: OK (0.01s)
recordFields-manual: OK (0.01s)
recordFields-manual: OK (0.01s)
recordFields-manual: OK (0.01s)
recordFields-budget-manual: OK (0.01s)
Optimization
9.6
maybeFun: OK
matchAsData: OK
unsafeDeconstructData: OK
Strictness
9.6
lambda-default: OK
lambda-default: OK
lambda-default: OK
lambda-nonstrict: OK
lambda-nonstrict: OK
lambda-nonstrict: OK
lambda-strict: OK
lambda-strict: OK
lambda-strict: OK (0.01s)
let-default: OK (0.01s)
let-default: OK (0.01s)
let-default: OK (0.01s)
let-nonstrict: OK (0.01s)
let-nonstrict: OK (0.01s)
let-nonstrict: OK (0.01s)
let-strict: OK (0.01s)
let-strict: OK (0.01s)
let-strict: OK (0.01s)
Blueprint
Acme: OK
compiledValidator: OK
Budget
9.6
map1: OK (0.01s)
map1: OK (0.01s)
map1: OK (0.01s)
map1-budget: OK (0.01s)
map2: OK (0.01s)
map2: OK (0.01s)
map2: OK (0.01s)
map2-budget: OK (0.01s)
map3: OK (0.01s)
map3: OK (0.02s)
map3: OK (0.01s)
map3-budget: OK (0.02s)
ShortCircuiting operators
(&&) short-circuits with GHC optimisations: OK
(||) short-circuits with GHC optimisations: OK
(&&) short-circuits without GHC optimisations: OK
(||) short-circuits without GHC optimisations: OK
Unicode
Unicode characters are supported: OK
Map property tests
safeFromList: OK (0.10s)
✓ <interactive> passed 100 tests.
unsafeFromList: OK (0.07s)
✓ <interactive> passed 100 tests.
lookup: OK (4.39s)
✓ <interactive> passed 100 tests.
member: OK (4.15s)
✓ <interactive> passed 100 tests.
insert: OK (6.66s)
✓ <interactive> passed 100 tests.
all: OK (4.38s)
✓ <interactive> passed 100 tests.
any: OK (1.08s)
✓ <interactive> passed 100 tests.
keys: OK (3.35s)
✓ <interactive> passed 100 tests.
noDuplicateKeys: OK (1.17s)
✓ <interactive> passed 100 tests.
delete: OK (6.17s)
✓ <interactive> passed 100 tests.
union: OK (9.13s)
✓ <interactive> passed 100 tests.
unionWith: OK (8.27s)
✓ <interactive> passed 100 tests.
builtinDataEncoding: OK (10.12s)
✓ <interactive> passed 100 tests.
List property tests
areInverses: OK (0.01s)
✓ <interactive> passed 100 tests.
toSOP: OK (1.44s)
✓ <interactive> passed 100 tests.
fromSOP: OK (1.47s)
✓ <interactive> passed 100 tests.
append: OK (4.68s)
✓ <interactive> passed 100 tests.
find: OK (3.40s)
✓ <interactive> passed 100 tests.
findIndices: OK (3.29s)
✓ <interactive> passed 100 tests.
filter: OK (3.36s)
✓ <interactive> passed 100 tests.
mapMaybe: OK (3.35s)
✓ <interactive> passed 100 tests.
any: OK (2.95s)
✓ <interactive> passed 100 tests.
foldMap: OK (3.64s)
✓ <interactive> passed 100 tests.
map: OK (2.11s)
✓ <interactive> passed 100 tests.
length: OK (1.55s)
✓ <interactive> passed 100 tests.
Array
9.6
compiledListToArray: FAIL
Test output was different from 'test/Array/9.6/compiledListToArray.pir.golden'. Output of ["diff","-u","test/Array/9.6/compiledListToArray.pir.golden","/build/compiledListToArray.pir34-477.actual"]:
--- test/Array/9.6/compiledListToArray.pir.golden 1970-01-01 00:00:01.000000000 +0000
+++ /build/compiledListToArray.pir34-477.actual 2025-01-02 16:39:41.537087226 +0000
@@ -1 +1,21 @@
-[I 1, I 2, I 3]
\ No newline at end of file
+let
+ !unitval : unit = ()
+in
+let
+ !mkNilData : unit -> list data = mkNilData
+in
+let
+ !mkI : integer -> data = iData
+in
+let
+ !mkCons : all a. a -> list a -> list a = mkCons
+in
+let
+ !listToArray : all a. list a -> array a = listToArray
+in
+listToArray
+ {data}
+ (mkCons
+ {data}
+ (mkI 1)
+ (mkCons {data} (mkI 2) (mkCons {data} (mkI 3) (mkNilData unitval))))
\ No newline at end of file
Use -p '$0=="test.Array.9.6.compiledListToArray"' to rerun this test only.
compiledListToArray: FAIL
Test output was different from 'test/Array/9.6/compiledListToArray.uplc.golden'. Output of ["diff","-u","test/Array/9.6/compiledListToArray.uplc.golden","/build/compiledListToArray.uplc34-478.actual"]:
--- test/Array/9.6/compiledListToArray.uplc.golden 1970-01-01 00:00:01.000000000 +0000
+++ /build/compiledListToArray.uplc34-478.actual 2025-01-02 16:39:41.540087199 +0000
@@ -1 +1,18 @@
-(program 1.1.0 [I 1, I 2, I 3])
\ No newline at end of file
+(program
+ 1.1.0
+ ((\unitval ->
+ (\mkNilData ->
+ (\mkI ->
+ (\mkCons ->
+ (\listToArray ->
+ force listToArray
+ (force mkCons
+ (mkI 1)
+ (force mkCons
+ (mkI 2)
+ (force mkCons (mkI 3) (mkNilData unitval)))))
+ listToArray)
+ mkCons)
+ iData)
+ mkNilData)
+ ()))
\ No newline at end of file
Use -p '$0=="test.Array.9.6.compiledListToArray"' to rerun this test only.
compiledListToArray: OK
compiledLengthArray: FAIL
Test output was different from 'test/Array/9.6/compiledLengthArray.pir.golden'. Output of ["diff","-u","test/Array/9.6/compiledLengthArray.pir.golden","/build/compiledLengthArray.pir34-480.actual"]:
--- test/Array/9.6/compiledLengthArray.pir.golden 1970-01-01 00:00:01.000000000 +0000
+++ /build/compiledLengthArray.pir34-480.actual 2025-01-02 16:39:41.545087154 +0000
@@ -1 +1,25 @@
-lengthArray {data} [I 1, I 2, I 3]
\ No newline at end of file
+(let
+ !lengthOfArray : all a. array a -> integer = lengthArray
+ in
+ lengthOfArray {data})
+ (let
+ !unitval : unit = ()
+ in
+ let
+ !mkNilData : unit -> list data = mkNilData
+ in
+ let
+ !mkI : integer -> data = iData
+ in
+ let
+ !mkCons : all a. a -> list a -> list a = mkCons
+ in
+ let
+ !listToArray : all a. list a -> array a = listToArray
+ in
+ listToArray
+ {data}
+ (mkCons
+ {data}
+ (mkI 1)
+ (mkCons {data} (mkI 2) (mkCons {data} (mkI 3) (mkNilData unitval)))))
\ No newline at end of file
Use -p '$0=="test.Array.9.6.compiledLengthArray"' to rerun this test only.
compiledLengthArray: FAIL
Test output was different from 'test/Array/9.6/compiledLengthArray.uplc.golden'. Output of ["diff","-u","test/Array/9.6/compiledLengthArray.uplc.golden","/build/compiledLengthArray.uplc34-481.actual"]:
--- test/Array/9.6/compiledLengthArray.uplc.golden 1970-01-01 00:00:01.000000000 +0000
+++ /build/compiledLengthArray.uplc34-481.actual 2025-01-02 16:39:41.549087118 +0000
@@ -1 +1,20 @@
-(program 1.1.0 (force lengthArray [I 1, I 2, I 3]))
\ No newline at end of file
+(program
+ 1.1.0
+ ((\lengthOfArray -> force lengthOfArray)
+ lengthArray
+ ((\unitval ->
+ (\mkNilData ->
+ (\mkI ->
+ (\mkCons ->
+ (\listToArray ->
+ force listToArray
+ (force mkCons
+ (mkI 1)
+ (force mkCons
+ (mkI 2)
+ (force mkCons (mkI 3) (mkNilData unitval)))))
+ listToArray)
+ mkCons)
+ iData)
+ mkNilData)
+ ())))
\ No newline at end of file
Use -p '$0=="test.Array.9.6.compiledLengthArray"' to rerun this test only.
compiledLengthArray: OK
compiledIndexArray: OK
compiledIndexArray: OK
compiledIndexArray: OK
4 out of 565 tests failed (10.42s)
Loading