• R/O
  • SSH

Commit

Tags
No Tags

Frequently used words (click to add to your profile)

javac++androidlinuxc#windowsobjective-ccocoa誰得qtpythonphprubygameguibathyscaphec計画中(planning stage)翻訳omegatframeworktwitterdomtestvb.netdirectxゲームエンジンbtronarduinopreviewer

Castle: The best Real-Time/Embedded/HighTech language EVER. Attempt 2


Commit MetaInfo

Revision50dddbcab730ec090459ef50997dc719025b5534 (tree)
Time2023-01-29 05:50:21
AuthorAlbert Mietus < albert AT mietus DOT nl >
CommiterAlbert Mietus < albert AT mietus DOT nl >

Log Message

asis

Change Summary

Incremental Difference

diff -r 2e3a2844f5d3 -r 50dddbcab730 castle/writers/CC2Cpy/Protocol.py
--- a/castle/writers/CC2Cpy/Protocol.py Sat Jan 28 18:29:07 2023 +0100
+++ b/castle/writers/CC2Cpy/Protocol.py Sat Jan 28 21:50:21 2023 +0100
@@ -85,6 +85,7 @@
8585 retval.append(f'{prepend}{indent}.length = {len(self.events)},')
8686 retval.append(f'{prepend}{indent}.events = {{')
8787
88+ #Loop over events
8889 for n, e in enumerate(self.events, len(self.event_dict(inherired=True, mine=False))): # pragma: no mutate on event_dict parms
8990 lineval = []
9091 lineval.append(f'{prepend}{indent*2}{{') # XXXpragma: no mutate
@@ -94,12 +95,11 @@
9495 lineval.append("},")
9596 # add line to retval
9697 retval.append("".join(lineval))
97-
98- retval.append(f'{prepend}{indent*2}}}') #end of events XXX Mutant 41
98+ retval.append(f'{prepend}{indent}}}') #end of events XXX Mutant: indent*3
9999 retval.append(f'{prepend}}};\n') #end of struct
100100 return '\n'.join(retval) +"\n"
101101
102- # XXX Mutant 45,46: default values prepend/indent
102+ # XXX Mutant 2* : default values prepend/indent
103103 def render_indexes(self, prepend:str="", indent=" ") ->str: ## #define CC_P_<proto>_<event> index
104104 ## For now, loop over the events here ...
105105 retval = []
@@ -107,9 +107,9 @@
107107 retval.append(f'#define CC_P_{self.name}_{e.name}\t{n}\n')
108108 return '\n'.join(retval)+"\n"
109109
110- # XXX Mutant 53/53: default values prepend/indent
110+ # XXX Mutant 2*: default values prepend/indent
111111 def render_FTs(self, prepend:str="", indent=" ") ->str: ##typedef void (*CC_E_{...}_FT)(CC_selfType, CC_ComponentType, {...});
112- type_name = lambda ptype : ptype if isinstance(ptype, str) else ptype.__name__
112+ type_name = lambda ptype : ptype if isinstance(ptype, str) else ptype.__name__ # XXX Mutant
113113
114114 retval = []
115115 for e in self.events:
diff -r 2e3a2844f5d3 -r 50dddbcab730 pytst/writers/CC2Cpy/test_2b_EventProtocol.py
--- a/pytst/writers/CC2Cpy/test_2b_EventProtocol.py Sat Jan 28 18:29:07 2023 +0100
+++ b/pytst/writers/CC2Cpy/test_2b_EventProtocol.py Sat Jan 28 21:50:21 2023 +0100
@@ -23,7 +23,8 @@
2323 .kind = CC_B_ProtocolKindIs_Event,
2424 .inherit_from = NULL,
2525 .length = 0,
26- .events = { }
26+ .events = {
27+ }
2728 };
2829 """
2930
@@ -144,18 +145,17 @@
144145
145146
146147 def verify_indent(ref, protocol): # indent can be used several time ...
147- try_indent="_-|"
148+ #try_indent="_-|"
149+ try_indent="_"
148150 out = protocol.render_struct(indent=try_indent, prepend="")
149151 logger.info("Protocol %s results in::\n%s", protocol.name, out)
150152
151153 for ref_line,out_line in zip(ref.splitlines(), out.splitlines()):
152154 ref_indents = len(ref_line)-len(ref_line.lstrip(' '))
153- logger.debug("ref_line: %s", ref_line)
154- logger.debug("out_line:: %s", out_line)
155- #assert out_line.startswith(try_indent*ref_indents) # start with right number of indents
155+ logger.debug("ref_line: %s", ref_line)
156+ logger.debug("out_line: %s", out_line)
156157 assert out_line[:len(try_indent)*ref_indents] == try_indent*ref_indents
157- if ref_indents >1:
158- #assert out_line[len(try_indent*ref_indents):].startswith(try_indent) # and not more
158+ if ref_indents >0:
159159 without_pref = out_line[len(try_indent*ref_indents):]
160160 assert without_pref[0:len(try_indent)] != try_indent
161161
@@ -164,7 +164,7 @@
164164 verify_indent(refws_emptyProtocol_struct, emptyProtocol)
165165
166166
167-def test_indent_simple(simpleSieve):
167+def test_indent_simpleSieve(simpleSieve):
168168 verify_indent(refws_simpleSieve, simpleSieve)
169169
170170