diff --git a/cardano_node_tests/tests/data/plutus/v3/batch6/1.1.0/caseBoolHappy_V3_110.plutus b/cardano_node_tests/tests/data/plutus/v3/batch6/1.1.0/caseBoolHappy_V3_110.plutus new file mode 100644 index 000000000..77cce7695 --- /dev/null +++ b/cardano_node_tests/tests/data/plutus/v3/batch6/1.1.0/caseBoolHappy_V3_110.plutus @@ -0,0 +1,5 @@ +{ + "type": "PlutusScriptV3", + "description": "caseBoolHappy_V3_110", + "cborHex": "587601010023294a194a330014912b636173696e6720547275652077656e7420746f20696e636f72726563742c2046616c7365206272616e636800ca50a4c4c00524012b636173696e672046616c73652077656e7420746f20696e636f72726563742c2054727565206272616e636800119319b9c0014981" +} diff --git a/cardano_node_tests/tests/data/plutus/v3/batch6/1.1.0/caseBoolUnhappyMoreBranches_V3_110.plutus b/cardano_node_tests/tests/data/plutus/v3/batch6/1.1.0/caseBoolUnhappyMoreBranches_V3_110.plutus new file mode 100644 index 000000000..5a0453474 --- /dev/null +++ b/cardano_node_tests/tests/data/plutus/v3/batch6/1.1.0/caseBoolUnhappyMoreBranches_V3_110.plutus @@ -0,0 +1,5 @@ +{ + "type": "PlutusScriptV3", + "description": "caseBoolUnhappyMoreBranches_V3_110", + "cborHex": "4a010100294a349a935261" +} diff --git a/cardano_node_tests/tests/data/plutus/v3/batch6/1.1.0/caseBoolUnhappyNoBranches_V3_110.plutus b/cardano_node_tests/tests/data/plutus/v3/batch6/1.1.0/caseBoolUnhappyNoBranches_V3_110.plutus new file mode 100644 index 000000000..12a8b10f2 --- /dev/null +++ b/cardano_node_tests/tests/data/plutus/v3/batch6/1.1.0/caseBoolUnhappyNoBranches_V3_110.plutus @@ -0,0 +1,5 @@ +{ + "type": "PlutusScriptV3", + "description": "caseBoolUnhappyNoBranches_V3_110", + "cborHex": "46010100294a01" +} diff --git a/cardano_node_tests/tests/data/plutus/v3/batch6/1.1.0/caseIntegerHappy_V3_110.plutus b/cardano_node_tests/tests/data/plutus/v3/batch6/1.1.0/caseIntegerHappy_V3_110.plutus new file mode 100644 index 000000000..41f84ec97 --- /dev/null +++ b/cardano_node_tests/tests/data/plutus/v3/batch6/1.1.0/caseIntegerHappy_V3_110.plutus @@ -0,0 +1,5 @@ +{ + "type": "PlutusScriptV3", + "description": "caseIntegerHappy_V3_110", + "cborHex": "59029b010100232948003290014c00524125636173696e6720696e746567657220312077656e7420746f2077726f6e67206272616e636800ca40153001490125636173696e6720696e746567657220352077656e7420746f2077726f6e67206272616e6368009800a48125636173696e6720696e746567657220352077656e7420746f2077726f6e67206272616e6368009800a48125636173696e6720696e746567657220352077656e7420746f2077726f6e67206272616e6368009800a48125636173696e6720696e746567657220352077656e7420746f2077726f6e67206272616e6368009800a48125636173696e6720696e746567657220352077656e7420746f2077726f6e67206272616e636800a4d300149125636173696e6720696e746567657220352077656e7420746f2077726f6e67206272616e6368009800a48125636173696e6720696e746567657220352077656e7420746f2077726f6e67206272616e6368009800a48125636173696e6720696e746567657220352077656e7420746f2077726f6e67206272616e6368004c00524125636173696e6720696e746567657220312077656e7420746f2077726f6e67206272616e6368009800a48125636173696e6720696e746567657220312077656e7420746f2077726f6e67206272616e6368009800a48125636173696e6720696e746567657220312077656e7420746f2077726f6e67206272616e6368004c00524125636173696e6720696e746567657220302077656e7420746f2077726f6e67206272616e6368009800a48125636173696e6720696e746567657220302077656e7420746f2077726f6e67206272616e6368009800a48125636173696e6720696e746567657220302077656e7420746f2077726f6e67206272616e636800119319b9c0014981" +} diff --git a/cardano_node_tests/tests/data/plutus/v3/batch6/1.1.0/caseIntegerUnhappyNoBranches_V3_110.plutus b/cardano_node_tests/tests/data/plutus/v3/batch6/1.1.0/caseIntegerUnhappyNoBranches_V3_110.plutus new file mode 100644 index 000000000..26c307038 --- /dev/null +++ b/cardano_node_tests/tests/data/plutus/v3/batch6/1.1.0/caseIntegerUnhappyNoBranches_V3_110.plutus @@ -0,0 +1,5 @@ +{ + "type": "PlutusScriptV3", + "description": "caseIntegerUnhappyNoBranches_V3_110", + "cborHex": "4701010029480001" +} diff --git a/cardano_node_tests/tests/data/plutus/v3/batch6/1.1.0/caseIntegerUnhappyNoMatchNegative_V3_110.plutus b/cardano_node_tests/tests/data/plutus/v3/batch6/1.1.0/caseIntegerUnhappyNoMatchNegative_V3_110.plutus new file mode 100644 index 000000000..6a6cbf4c3 --- /dev/null +++ b/cardano_node_tests/tests/data/plutus/v3/batch6/1.1.0/caseIntegerUnhappyNoMatchNegative_V3_110.plutus @@ -0,0 +1,5 @@ +{ + "type": "PlutusScriptV3", + "description": "caseIntegerUnhappyNoMatchNegative_V3_110", + "cborHex": "4b010100294800693526a4c1" +} diff --git a/cardano_node_tests/tests/data/plutus/v3/batch6/1.1.0/caseIntegerUnhappyNoMatchOver_V3_110.plutus b/cardano_node_tests/tests/data/plutus/v3/batch6/1.1.0/caseIntegerUnhappyNoMatchOver_V3_110.plutus new file mode 100644 index 000000000..99e7e1a91 --- /dev/null +++ b/cardano_node_tests/tests/data/plutus/v3/batch6/1.1.0/caseIntegerUnhappyNoMatchOver_V3_110.plutus @@ -0,0 +1,5 @@ +{ + "type": "PlutusScriptV3", + "description": "caseIntegerUnhappyNoMatchOver_V3_110", + "cborHex": "4b010100294801a93526a4c1" +} diff --git a/cardano_node_tests/tests/data/plutus/v3/batch6/1.1.0/caseListHappy_V3_110.plutus b/cardano_node_tests/tests/data/plutus/v3/batch6/1.1.0/caseListHappy_V3_110.plutus new file mode 100644 index 000000000..2da15852a --- /dev/null +++ b/cardano_node_tests/tests/data/plutus/v3/batch6/1.1.0/caseListHappy_V3_110.plutus @@ -0,0 +1,5 @@ +{ + "type": "PlutusScriptV3", + "description": "caseListHappy_V3_110", + "cborHex": "5901b201010023294bd60814120c912999ab9a3370e90010010c800c894ccd5cd19b87480100086400644a666ae68cdc3a400c00432003335738920138756e2d636f6e73206272616e6368206f66206c69737420636173696e67206761766520696e636f727265637420726573756c743a206e696c0049a66ae7124103796179004982600e66ae71240136756e2d636f6e73206272616e6368206f66206c69737420636173696e67206761766520696e636f727265637420726573756c743a20330049a600a66ae712412d636173696e67206e6f6e2d656d707479206c6973742077656e7420746f2077726f6e67206272616e63683a2033004982600a66ae71240136756e2d636f6e73206272616e6368206f66206c69737420636173696e67206761766520696e636f727265637420726573756c743a20320049a600666ae712412d636173696e67206e6f6e2d656d707479206c6973742077656e7420746f2077726f6e67206272616e63683a2032004982600666ae71240136756e2d636f6e73206272616e6368206f66206c69737420636173696e67206761766520696e636f727265637420726573756c743a2031004984c1" +} diff --git a/cardano_node_tests/tests/data/plutus/v3/batch6/1.1.0/caseListUnhappyMoreBranches_V3_110.plutus b/cardano_node_tests/tests/data/plutus/v3/batch6/1.1.0/caseListUnhappyMoreBranches_V3_110.plutus new file mode 100644 index 000000000..afef33a93 --- /dev/null +++ b/cardano_node_tests/tests/data/plutus/v3/batch6/1.1.0/caseListUnhappyMoreBranches_V3_110.plutus @@ -0,0 +1,5 @@ +{ + "type": "PlutusScriptV3", + "description": "caseListUnhappyMoreBranches_V3_110", + "cborHex": "50010100294bd60814120c9124d49a9301" +} diff --git a/cardano_node_tests/tests/data/plutus/v3/batch6/1.1.0/caseListUnhappyNoBranches_V3_110.plutus b/cardano_node_tests/tests/data/plutus/v3/batch6/1.1.0/caseListUnhappyNoBranches_V3_110.plutus new file mode 100644 index 000000000..cebc87c19 --- /dev/null +++ b/cardano_node_tests/tests/data/plutus/v3/batch6/1.1.0/caseListUnhappyNoBranches_V3_110.plutus @@ -0,0 +1,5 @@ +{ + "type": "PlutusScriptV3", + "description": "caseListUnhappyNoBranches_V3_110", + "cborHex": "4b010100294bd60814120c01" +} diff --git a/cardano_node_tests/tests/data/plutus/v3/batch6/1.1.0/caseListUnhappyNoMatchNil_V3_110.plutus b/cardano_node_tests/tests/data/plutus/v3/batch6/1.1.0/caseListUnhappyNoMatchNil_V3_110.plutus new file mode 100644 index 000000000..9e8705581 --- /dev/null +++ b/cardano_node_tests/tests/data/plutus/v3/batch6/1.1.0/caseListUnhappyNoMatchNil_V3_110.plutus @@ -0,0 +1,5 @@ +{ + "type": "PlutusScriptV3", + "description": "caseListUnhappyNoMatchNil_V3_110", + "cborHex": "4a010100294bd604892601" +} diff --git a/cardano_node_tests/tests/data/plutus/v3/batch6/1.1.0/casePairHappy_V3_110.plutus b/cardano_node_tests/tests/data/plutus/v3/batch6/1.1.0/casePairHappy_V3_110.plutus new file mode 100644 index 000000000..34bd2d524 --- /dev/null +++ b/cardano_node_tests/tests/data/plutus/v3/batch6/1.1.0/casePairHappy_V3_110.plutus @@ -0,0 +1,5 @@ +{ + "type": "PlutusScriptV3", + "description": "casePairHappy_V3_110", + "cborHex": "588901010023294bded080201244a666ae68cdc3a40100042a666ae68cdc3a400800229309801a492a636173696e672070616972206761766520696e636f727265637420726573756c74206f6e207269676874001300349129636173696e672070616972206761766520696e636f727265637420726573756c74206f6e206c65667400119319b9c0014981" +} diff --git a/cardano_node_tests/tests/data/plutus/v3/batch6/1.1.0/casePairUnhappyMoreBranches_V3_110.plutus b/cardano_node_tests/tests/data/plutus/v3/batch6/1.1.0/casePairUnhappyMoreBranches_V3_110.plutus new file mode 100644 index 000000000..5edfc42e1 --- /dev/null +++ b/cardano_node_tests/tests/data/plutus/v3/batch6/1.1.0/casePairUnhappyMoreBranches_V3_110.plutus @@ -0,0 +1,5 @@ +{ + "type": "PlutusScriptV3", + "description": "casePairUnhappyMoreBranches_V3_110", + "cborHex": "4e010100294bded080201244935261" +} diff --git a/cardano_node_tests/tests/data/plutus/v3/batch6/1.1.0/casePairUnhappyNoBranches_V3_110.plutus b/cardano_node_tests/tests/data/plutus/v3/batch6/1.1.0/casePairUnhappyNoBranches_V3_110.plutus new file mode 100644 index 000000000..018ec2df2 --- /dev/null +++ b/cardano_node_tests/tests/data/plutus/v3/batch6/1.1.0/casePairUnhappyNoBranches_V3_110.plutus @@ -0,0 +1,5 @@ +{ + "type": "PlutusScriptV3", + "description": "casePairUnhappyNoBranches_V3_110", + "cborHex": "4a010100294bded0802011" +} diff --git a/cardano_node_tests/tests/data/plutus/v3/batch6/1.1.0/caseUnitHappy_V3_110.plutus b/cardano_node_tests/tests/data/plutus/v3/batch6/1.1.0/caseUnitHappy_V3_110.plutus new file mode 100644 index 000000000..eeb2ab677 --- /dev/null +++ b/cardano_node_tests/tests/data/plutus/v3/batch6/1.1.0/caseUnitHappy_V3_110.plutus @@ -0,0 +1,5 @@ +{ + "type": "PlutusScriptV3", + "description": "caseUnitHappy_V3_110", + "cborHex": "470101002949a931" +} diff --git a/cardano_node_tests/tests/data/plutus/v3/batch6/1.1.0/caseUnitUnhappyMoreBranches_V3_110.plutus b/cardano_node_tests/tests/data/plutus/v3/batch6/1.1.0/caseUnitUnhappyMoreBranches_V3_110.plutus new file mode 100644 index 000000000..45135e493 --- /dev/null +++ b/cardano_node_tests/tests/data/plutus/v3/batch6/1.1.0/caseUnitUnhappyMoreBranches_V3_110.plutus @@ -0,0 +1,5 @@ +{ + "type": "PlutusScriptV3", + "description": "caseUnitUnhappyMoreBranches_V3_110", + "cborHex": "490101002949a9352601" +} diff --git a/cardano_node_tests/tests/data/plutus/v3/batch6/1.1.0/caseUnitUnhappyNoBranches_V3_110.plutus b/cardano_node_tests/tests/data/plutus/v3/batch6/1.1.0/caseUnitUnhappyNoBranches_V3_110.plutus new file mode 100644 index 000000000..745589e19 --- /dev/null +++ b/cardano_node_tests/tests/data/plutus/v3/batch6/1.1.0/caseUnitUnhappyNoBranches_V3_110.plutus @@ -0,0 +1,5 @@ +{ + "type": "PlutusScriptV3", + "description": "caseUnitUnhappyNoBranches_V3_110", + "cborHex": "46010100294981" +} diff --git a/cardano_node_tests/tests/plutus_common.py b/cardano_node_tests/tests/plutus_common.py index f094baa60..50b6c22bb 100644 --- a/cardano_node_tests/tests/plutus_common.py +++ b/cardano_node_tests/tests/plutus_common.py @@ -474,17 +474,26 @@ class PlutusScriptData: SUCCEEDING_MINTING_RIPEMD_160_SCRIPTS_V3 = (MINTING_RIPEMD_160_V3,) # ------ Batch 6 builtins (Plutus V3 only) ------ # +# +# Includes tests for casing on constants, which will be released together with batch 6 in PV 11 -MINTING_DROPLIST_PLUTUS_V3 = ( - SCRIPTS_V3_BATCH6_110_DIR / "succeedingDropListPolicyScript_V3_110.plutus" -) -MINTING_DROPLIST_V3 = PlutusScriptData( - script_file=MINTING_DROPLIST_PLUTUS_V3, - script_type=clusterlib.ScriptTypes.PLUTUS_V3, - execution_cost=UNDETERMINED_COST, +SUCCEEDING_BATCH6_SCRIPT_FILES_V3 = ( + "succeedingDropListPolicyScript_V3_110.plutus", + "caseBoolHappy_V3_110.plutus", + "caseIntegerHappy_V3_110.plutus", + "caseListHappy_V3_110.plutus", + "casePairHappy_V3_110.plutus", + "caseUnitHappy_V3_110.plutus", ) -SUCCEEDING_MINTING_BATCH6_SCRIPTS_V3 = (MINTING_DROPLIST_V3,) +SUCCEEDING_MINTING_BATCH6_SCRIPTS_V3 = tuple( + PlutusScriptData( + script_file=SCRIPTS_V3_BATCH6_110_DIR / n, + script_type=clusterlib.ScriptTypes.PLUTUS_V3, + execution_cost=UNDETERMINED_COST, + ) + for n in SUCCEEDING_BATCH6_SCRIPT_FILES_V3 +) OVERSPENDING_BATCH6_SCRIPT_FILES_V3 = ( "expensiveDropListPolicyScript_V3_110_1.plutus", @@ -503,6 +512,30 @@ class PlutusScriptData: for n in OVERSPENDING_BATCH6_SCRIPT_FILES_V3 ) +FAILING_BATCH6_SCRIPT_FILES_V3 = ( + "caseBoolUnhappyMoreBranches_V3_110.plutus", + "caseBoolUnhappyNoBranches_V3_110.plutus", + "caseIntegerUnhappyNoBranches_V3_110.plutus", + "caseIntegerUnhappyNoMatchNegative_V3_110.plutus", + "caseIntegerUnhappyNoMatchOver_V3_110.plutus", + "caseListUnhappyMoreBranches_V3_110.plutus", + "caseListUnhappyNoBranches_V3_110.plutus", + "caseListUnhappyNoMatchNil_V3_110.plutus", + "casePairUnhappyMoreBranches_V3_110.plutus", + "casePairUnhappyNoBranches_V3_110.plutus", + "caseUnitUnhappyMoreBranches_V3_110.plutus", + "caseUnitUnhappyNoBranches_V3_110.plutus", +) + +FAILING_MINTING_BATCH6_SCRIPTS_V3 = tuple( + PlutusScriptData( + script_file=SCRIPTS_V3_BATCH6_110_DIR / n, + script_type=clusterlib.ScriptTypes.PLUTUS_V3, + execution_cost=UNDETERMINED_COST, + ) + for n in FAILING_BATCH6_SCRIPT_FILES_V3 +) + @dataclasses.dataclass(frozen=True, order=True) class PlutusOp: diff --git a/cardano_node_tests/tests/tests_plutus_v3/test_mint_build.py b/cardano_node_tests/tests/tests_plutus_v3/test_mint_build.py index 6175cbce6..852a7ea55 100644 --- a/cardano_node_tests/tests/tests_plutus_v3/test_mint_build.py +++ b/cardano_node_tests/tests/tests_plutus_v3/test_mint_build.py @@ -182,7 +182,10 @@ def run_scenario( "overspending the budget." in str_excp ): return - if outcome == Outcomes.ERROR and "The machine terminated because of an error" in str_excp: + if outcome == Outcomes.ERROR and ( + "The machine terminated because of an error" in str_excp + or "Script evaluation error" in str_excp + ): return raise @@ -247,7 +250,7 @@ class TestPlutusV3Builtins: batch5_overspend_scripts = () batch6_success_scripts = plutus_common.SUCCEEDING_MINTING_BATCH6_SCRIPTS_V3 - batch6_fail_scripts = () + batch6_fail_scripts = plutus_common.FAILING_MINTING_BATCH6_SCRIPTS_V3 batch6_overspend_scripts = plutus_common.OVERSPENDING_MINTING_BATCH6_SCRIPTS_V3 @allure.link(helpers.get_vcs_link())