Castle: The best Real-Time/Embedded/HighTech language EVER. Attempt 2
修订版 | 5add0f4582070ef8830076038c70e50c477759e3 (tree) |
---|---|
时间 | 2023-11-01 04:40:40 |
作者 | Albert Mietus < albert AT mietus DOT nl > |
Commiter | Albert Mietus < albert AT mietus DOT nl > |
BUSY:: RPy Protocol-rendering: a step, more is needed
@@ -7,8 +7,15 @@ | ||
7 | 7 | |
8 | 8 | #Put the Castle/generated imports here |
9 | 9 | from CC import base |
10 | -import SlowStart_1 | |
11 | 10 | |
11 | +import SlowStart | |
12 | + | |
13 | + | |
14 | +## | |
15 | +## EventIndexes (All 1 events of SlowStart_1) | |
16 | +## | |
17 | + | |
18 | +CC_P_SlowStart_1_setMax = 0 | |
12 | 19 | |
13 | 20 | ## |
14 | 21 | ## EventIndexes (All 1 events of SimpleSieve) |
@@ -17,6 +24,15 @@ | ||
17 | 24 | CC_P_SimpleSieve_input = 1 |
18 | 25 | |
19 | 26 | |
27 | +cc_P_SlowStart_1 = buildin.CC_B_Protocol(name="SlowStart_1", | |
28 | + kind=buildin.ProtocolKind.Event, | |
29 | + inherit_from=SlowStart.cc_P_SlowStart, | |
30 | + events=[]) | |
31 | + | |
32 | +cc_P_SlowStart_1.events.append(buildin.CC_B_P_EventID(name="setMax", | |
33 | + seqNo=CC_P_SlowStart_1_setMax, | |
34 | + part_of=cc_P_SlowStart_1)) | |
35 | + | |
20 | 36 | cc_P_SimpleSieve = buildin.CC_B_Protocol(name="SimpleSieve", |
21 | 37 | kind=buildin.ProtocolKind.Event, |
22 | 38 | inherit_from=SlowStart_1.cc_P_SlowStart_1, |
@@ -9,6 +9,7 @@ | ||
9 | 9 | from CC import base |
10 | 10 | |
11 | 11 | |
12 | + | |
12 | 13 | ## |
13 | 14 | ## EventIndexes (All 1 events of SlowStart) |
14 | 15 | ## |
@@ -1,28 +0,0 @@ | ||
1 | -# -*- python -*- | |
2 | -# Generated (R)Python file | |
3 | -# (C) Albert Mietus, 2023. Part of Castle/CCastle project | |
4 | - | |
5 | -#### | |
6 | -from CC import buildin | |
7 | - | |
8 | -#Put the Castle/generated imports here | |
9 | -from CC import base | |
10 | -import SlowStart | |
11 | - | |
12 | - | |
13 | -## | |
14 | -## EventIndexes (All 1 events of SlowStart_1) | |
15 | -## | |
16 | - | |
17 | -CC_P_SlowStart_1_setMax = 0 | |
18 | - | |
19 | - | |
20 | -cc_P_SlowStart_1 = buildin.CC_B_Protocol(name="SlowStart_1", | |
21 | - kind=buildin.ProtocolKind.Event, | |
22 | - inherit_from=SlowStart.cc_P_SlowStart, | |
23 | - events=[]) | |
24 | - | |
25 | -cc_P_SlowStart_1.events.append(buildin.CC_B_P_EventID(name="setMax", | |
26 | - seqNo=CC_P_SlowStart_1_setMax, | |
27 | - part_of=cc_P_SlowStart_1)) | |
28 | - |
@@ -9,6 +9,7 @@ | ||
9 | 9 | from CC import base |
10 | 10 | |
11 | 11 | |
12 | + | |
12 | 13 | ## |
13 | 14 | ## EventIndexes (All 2 events of StartSieve) |
14 | 15 | ## |
@@ -8,6 +8,6 @@ | ||
8 | 8 | {%- if p_ns is not none -%} |
9 | 9 | {%- for ns_name in p_ns.all_NS() -%} |
10 | 10 | from CC import {{ ns_name }} #XXX# This works, but is a bit simple |
11 | - {%- endfor -%} | |
11 | + {% endfor -%} | |
12 | 12 | {%- endif -%} |
13 | 13 | {%- endfor -%} |
@@ -72,7 +72,7 @@ | ||
72 | 72 | logger.info("Saved rendered protocol in: %s", self.gen_file) |
73 | 73 | |
74 | 74 | |
75 | -def _gen_matcher(aigr_mock, td, save_file, out, strip_remarker=False, template=None): | |
75 | +def _gen_matcher(td, save_file, out, strip_remarker=False, template=None): | |
76 | 76 | MARKER='#XXX#' |
77 | 77 | def match_line(out, ref, strip_remarker=False, filename=None): |
78 | 78 | if out == ref: |
@@ -97,16 +97,13 @@ | ||
97 | 97 | |
98 | 98 | @pytest.fixture |
99 | 99 | def generatedProtocol_verifier(T_Protocol): |
100 | - def protocol_matcher(aigr_mock, td, save_file=SAVE_FILE, **kw): | |
101 | - out = T_Protocol.render(protocols=(aigr_mock,)) | |
102 | - return _gen_matcher(aigr_mock, td, save_file=save_file, out=out, template=T_Protocol, **kw) | |
100 | + def protocol_matcher(aigr_mocks, td, save_file=SAVE_FILE, **kw): | |
101 | + if not isinstance(aigr_mocks, (tuple, list)): aigr_mocks= list((aigr_mocks,)) | |
102 | + out = T_Protocol.render(protocols=aigr_mocks) | |
103 | + return _gen_matcher(td, save_file=save_file, out=out, template=T_Protocol, **kw) | |
103 | 104 | return protocol_matcher |
104 | 105 | |
105 | 106 | @pytest.fixture |
107 | +@pytest.mark.xfail(reason="To Busy with other things") | |
106 | 108 | def generatedMoat_verifier(T_Moat): |
107 | - def protocol_matcher(aigr_mock, td, save_file=SAVE_FILE, strip_remarker=False): | |
108 | - out = T_Moat.render(interfaces=(aigr_mock,)) | |
109 | - return _gen_matcher(aigr_mock, td, save_file, out) | |
110 | - return protocol_matcher | |
111 | - | |
112 | - | |
109 | + assert False, "see above" |
@@ -19,20 +19,21 @@ | ||
19 | 19 | |
20 | 20 | |
21 | 21 | def test_01_StartSieve(generatedProtocol_verifier): |
22 | - generatedProtocol_verifier(aigr_mock=sieve.StartSieve, td=TstDoubles('protocols/StartSieve'), strip_remarker=True) | |
22 | + generatedProtocol_verifier(aigr_mocks=sieve.StartSieve, td=TstDoubles('protocols/StartSieve'), strip_remarker=True) | |
23 | 23 | |
24 | 24 | def test_02_SlowStart(generatedProtocol_verifier): |
25 | - generatedProtocol_verifier(aigr_mock=sieve.SlowStart, td=TstDoubles('protocols/SlowStart'), strip_remarker=True) | |
25 | + generatedProtocol_verifier(aigr_mocks=sieve.SlowStart, td=TstDoubles('protocols/SlowStart'), strip_remarker=True) | |
26 | 26 | |
27 | 27 | if False: # SlowStart1 and SimpleSieve are in the same NS, so in the same file |
28 | 28 | def test_03_SlowStart1(generatedProtocol_verifier): |
29 | - generatedProtocol_verifier(aigr_mock=sieve.SlowStart_1, td=TstDoubles('protocols/SlowStart_1'), strip_remarker=True) | |
29 | + generatedProtocol_verifier(aigr_mocks=sieve.SlowStart_1, td=TstDoubles('protocols/SlowStart_1'), strip_remarker=True) | |
30 | 30 | |
31 | 31 | def test_04_SimpleSieve(generatedProtocol_verifier): |
32 | - generatedProtocol_verifier(aigr_mock=sieve.SimpleSieve, td=TstDoubles('protocols/SimpleSieve'), strip_remarker=True) | |
32 | + generatedProtocol_verifier(aigr_mocks=sieve.SimpleSieve, td=TstDoubles('protocols/SimpleSieve'), strip_remarker=True) | |
33 | 33 | |
34 | -@pytest.mark.skip("ToDo: Merge") | |
34 | + | |
35 | +@pytest.mark.xfail(reason="ToDo BUSY") | |
35 | 36 | def test_03_SimpleSieve_withGeneric(generatedProtocol_verifier): |
36 | - generatedProtocol_verifier(aigr_mock=(sieve.SlowStart_1, sieve.SimpleSieve), td=TstDoubles('protocols/SimpleSieve'), strip_remarker=True) | |
37 | + generatedProtocol_verifier(aigr_mocks=(sieve.SlowStart_1, sieve.SimpleSieve), td=TstDoubles('protocols/SimpleSieve'), strip_remarker=True) | |
37 | 38 | |
38 | 39 | assert False, "Not yet done" |