Skip to content

Commit b2dd8c7

Browse files
author
Wizard1209
committed
return test case
1 parent 723a72a commit b2dd8c7

File tree

3 files changed

+145
-0
lines changed

3 files changed

+145
-0
lines changed

.gitmodules

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
[submodule "tests/unit_tests/test_michelson/test_repl/tzt"]
2+
path = tests/unit_tests/test_michelson/test_repl/tzt
3+
url = https://github.com/baking-bad/tzt_reference_test_suite.git
Lines changed: 141 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,141 @@
1+
import logging
2+
from os import listdir
3+
from os.path import dirname
4+
from os.path import join
5+
from unittest.case import TestCase
6+
7+
from pytezos.logging import logger
8+
from pytezos.michelson.parse import MichelsonParser
9+
from pytezos.michelson.parse import michelson_to_micheline
10+
from pytezos.michelson.repl import Interpreter
11+
12+
13+
class TztTest(TestCase):
14+
path = join(dirname(__file__), "tzt")
15+
exclude = [
16+
".git",
17+
"LICENSE",
18+
"coverage.md",
19+
"README.md",
20+
"macro_pack",
21+
#
22+
"add_00.tc.tzt",
23+
"add_01.tc.tzt",
24+
# NOTE: unknown primitive `MutezOverflow`
25+
"add_mutez-mutez_01.tzt",
26+
# NOTE: unknown primitive `Contract`
27+
"address_00.tc.tzt",
28+
"address_00.tzt",
29+
"address_02.tzt",
30+
"and_bytes-bytes_00.tzt",
31+
"and_bytes-bytes_01.tzt",
32+
"and_bytes-bytes_02.tzt",
33+
"and_bytes-bytes_03.tzt",
34+
"car_00.tc.tzt",
35+
"cdr_00.tc.tzt",
36+
"checksignature_00.tc.tzt",
37+
"compare_00.tc.tzt",
38+
"compare_01.tc.tzt",
39+
"compare_02.tc.tzt",
40+
"cons_lists_00.tc.tzt",
41+
"contract_00.tzt",
42+
"contract_01.tzt",
43+
"contract_02.tzt",
44+
"contract_03.tzt",
45+
"contract_04.tzt",
46+
"contract_05.tzt",
47+
# NOTE: failed to parse expression LexToken(_,'_',1,658)
48+
"createcontract_00.tzt",
49+
"createcontract_01.tzt",
50+
"dip_00.tc.tzt",
51+
"dipn_00.tc.tzt",
52+
"dipn_01.tc.tzt",
53+
"dipn_02.tc.tzt",
54+
"drop_00.tc.tzt",
55+
"dropn_00.tc.tzt",
56+
"dup_00.tc.tzt",
57+
"dupn_00.tc.tzt",
58+
"dupn_01.tc.tzt",
59+
# NOTE: unknown primitive `Failed`
60+
"failwith_00.tc.tzt",
61+
"failwith_00.tzt",
62+
"get_00.tc.tzt",
63+
"get_map_00.tc.tzt",
64+
"gt_00.tc.tzt",
65+
"if_00.tc.tzt",
66+
"if_01.tc.tzt",
67+
"ifcons_00.tc.tzt",
68+
"ifleft_00.tc.tzt",
69+
"ifnone_00.tc.tzt",
70+
"int_00.tc.tzt",
71+
"iter_00.tc.tzt",
72+
"loop_00.tc.tzt",
73+
"loop_01.tc.tzt",
74+
# NOTE: unknown primitive `GeneralOverflow`
75+
"lsl_01.tzt",
76+
# NOTE: unknown primitive `GeneralOverflow`
77+
"lsr_01.tzt",
78+
"macro_pack",
79+
# NOTE: unknown primitive `MutezOverflow`
80+
"mul_mutez-nat_01.tzt",
81+
# NOTE: unknown primitive `MutezOverflow`
82+
"mul_nat-mutez_01.tzt",
83+
"not_bytes_00.tzt",
84+
"not_bytes_01.tzt",
85+
"not_bytes_02.tzt",
86+
"or_bytes-bytes_00.tzt",
87+
"or_bytes-bytes_01.tzt",
88+
"or_bytes-bytes_02.tzt",
89+
"or_bytes-bytes_03.tzt",
90+
"pack_key_03.tzt",
91+
"pack_lambda_comb_pairs.tzt",
92+
"pack_operation_00.tc.tzt",
93+
"pack_signature_03.tzt",
94+
"pair_00.tc.tzt",
95+
"push_00.tc.tzt",
96+
# NOTE: parameter type is not defined
97+
"self_00.tzt",
98+
"self_in_lambda.tc.tzt",
99+
# NOTE: failed to parse expression LexToken(_,'_',1,199)
100+
"setdelegate_00.tc.tzt",
101+
"setdelegate_00.tzt",
102+
# NOTE: ('SLICE', 'string is empty')
103+
"slice_string_05.tzt",
104+
"some_00.tc.tzt",
105+
# NOTE: unknown primitive `MutezUnderflow`
106+
"sub_mutez-mutez_01.tzt",
107+
"swap_00.tc.tzt",
108+
"swap_01.tc.tzt",
109+
# NOTE: failed to parse expression LexToken(_,'_',1,238)
110+
"transfertokens_00.tc.tzt",
111+
"transfertokens_00.tzt",
112+
"transfertokens_01.tzt",
113+
"unpair_00.tc.tzt",
114+
"update_00.tc.tzt",
115+
"update_bigmapstringstring_01.tzt",
116+
"update_bigmapstringstring_02.tzt",
117+
"update_bigmapstringstring_03.tzt",
118+
"update_bigmapstringstring_04.tzt",
119+
"update_bigmapstringstring_05.tzt",
120+
"update_bigmapstringstring_06.tzt",
121+
"update_bigmapstringstring_07.tzt",
122+
"xor_bytes-bytes_00.tzt",
123+
"xor_bytes-bytes_01.tzt",
124+
"xor_bytes-bytes_02.tzt",
125+
"xor_bytes-bytes_03.tzt",
126+
]
127+
128+
def test_tzt(self) -> None:
129+
parser = MichelsonParser()
130+
for filename in listdir(self.path):
131+
if filename in self.exclude:
132+
continue
133+
with self.subTest(filename):
134+
filename = join(self.path, filename)
135+
with open(filename) as file:
136+
script = michelson_to_micheline(
137+
file.read(),
138+
parser=parser,
139+
)
140+
141+
Interpreter.run_tzt(script=script)
Submodule tzt added at 35f8303

0 commit comments

Comments
 (0)