Skip to content
GitLab
Projects
Groups
Snippets
/
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
Menu
Open sidebar
Erik Jansson
LabComm
Commits
7670af15
Commit
7670af15
authored
Mar 28, 2014
by
Sven Gestegård Robertz
Browse files
updated test cases to leaving out value parameter for void samples
parent
a0dfc2fa
Changes
7
Hide whitespace changes
Inline
Side-by-side
compiler/CS_CodeGen.jrag
View file @
7670af15
...
...
@@ -776,13 +776,15 @@ aspect CS_Info {
public void TypeDecl.CS_info(CS_env env, String namespace) {
env.print(";C#;typedef;" + namespace + getName() + ";");
getType().CS_emitType(env);
getType().CS_emitType(env) ;
env.print(";not_applicable_for_Java");
env.println();
}
public void SampleDecl.CS_info(CS_env env, String namespace) {
env.print(";C#;sample;" + namespace + getName() + ";");
getType().CS_emitType(env);
env.print(";not_applicable_for_Java");
env.println();
}
...
...
compiler/C_CodeGen.jrag
View file @
7670af15
...
...
@@ -1163,12 +1163,23 @@ aspect C_Info {
public void TypeDecl.C_info(C_env env) {
env.println(",C,typedef," + env.prefix + getName() + "," +
env.prefix + getName());
env.prefix + getName() + "," +
C_info_type_or_void(env.prefix));
}
public void SampleDecl.C_info(C_env env) {
env.println(",C,sample," + env.prefix + getName() + "," +
env.prefix + getName());
env.prefix + getName() + "," +
C_info_type_or_void(env.prefix));
}
// make void types explicitly as they require special treatment
// in encoder/decoder calls
protected String Decl.C_info_type_or_void(String prefix) {
if(isVoid() ) {
return "void";
} else {
return prefix + getName() ;
}
}
}
compiler/Java_CodeGen.jrag
View file @
7670af15
...
...
@@ -869,13 +869,15 @@ aspect Java_Info {
public void TypeDecl.Java_info(Java_env env) {
env.print(",Java,typedef," + getName() + ",");
getType().Java_emitType(env);
getType().Java_emitType(env);
env.print(",not_applicable_for_Java");
env.println();
}
public void SampleDecl.Java_info(Java_env env) {
env.print(",Java,sample," + getName() + ",");
getType().Java_emitType(env);
env.print(",not_applicable_for_Java");
env.println();
}
...
...
lib/c/test/test_labcomm_generated_encoding.c
View file @
7670af15
...
...
@@ -179,7 +179,8 @@ void dump_encoder(struct labcomm_encoder *encoder)
int
main
(
void
)
{
generated_encoding_V
V
;
//no longer used
//generated_encoding_V V;
generated_encoding_B
B
=
1
;
struct
labcomm_encoder
*
encoder
=
labcomm_encoder_new
(
...
...
@@ -199,7 +200,8 @@ int main(void)
EXPECT
({
0x02
,
-
1
,
0x01
,
'B'
,
0x21
});
labcomm_encoder_ioctl
(
encoder
,
IOCTL_WRITER_RESET
);
labcomm_encode_generated_encoding_V
(
encoder
,
&
V
);
// was: labcomm_encode_generated_encoding_V(encoder, &V);
labcomm_encode_generated_encoding_V
(
encoder
);
EXPECT
({
-
1
});
labcomm_encoder_ioctl
(
encoder
,
IOCTL_WRITER_RESET
);
...
...
test/relay_gen_c.py
View file @
7670af15
...
...
@@ -16,13 +16,14 @@ if __name__ == '__main__':
f
=
open
(
sys
.
argv
[
1
])
sample
=
[]
for
l
in
map
(
lambda
s
:
s
.
strip
(),
f
):
lang
,
kind
,
func
,
arg
=
l
[
1
:].
split
(
l
[
0
])
lang
,
kind
,
func
,
arg
,
stype
=
l
[
1
:].
split
(
l
[
0
])
if
lang
==
'C'
and
kind
==
'sample'
:
sample
.
append
((
func
,
arg
))
sample
.
append
((
func
,
arg
,
stype
))
pass
pass
result
=
[]
result
.
extend
(
split_match
(
'^[^|]*\|(.*)$'
,
"""
|// generated by relay_gen_c.py
|#include <sys/types.h>
|#include <sys/stat.h>
|#include <fcntl.h>
...
...
@@ -34,13 +35,19 @@ if __name__ == '__main__':
|#include <labcomm_fd_writer.h>
|#include "c_code.h"
"""
))
for
func
,
arg
in
sample
:
for
func
,
arg
,
stype
in
sample
:
result
.
extend
(
split_match
(
'^[^|]*\|(.*)$'
,
"""
|void handle_%(func)s(%(arg)s *v, void *context)
|{
| struct labcomm_encoder *e = context;
| labcomm_encode_%(func)s(e, v);
|}"""
%
{
'func'
:
func
,
'arg'
:
arg
}))
| labcomm_encode_%(func)s(e%(valargstr)s);
|}"""
%
{
'func'
:
func
,
'arg'
:
arg
,
'valargstr'
:
''
if
stype
==
"void"
else
', v'
}))
# result.extend(split_match('^[^|]*\|(.*)$', """
# |void handle_%(func)s(%(arg)s *v, void *context)
# |{
# | struct labcomm_encoder *e = context;
# | labcomm_encode_%(func)s(e, v);
# |}""" % { 'func': func, 'arg': arg }))
pass
result
.
extend
(
split_match
(
'^[^|]*\|(.*)$'
,
"""
|int main(int argc, char *argv[]) {
...
...
@@ -64,7 +71,7 @@ if __name__ == '__main__':
| labcomm_default_memory,
| labcomm_default_scheduler);
"""
))
for
func
,
arg
in
sample
:
for
func
,
arg
,
stype
in
sample
:
result
.
extend
(
split_match
(
'^[^|]*\|(.*)$'
,
"""
| labcomm_encoder_register_%(func)s(e);
| labcomm_decoder_register_%(func)s(d, handle_%(func)s, e);
...
...
test/relay_gen_cs.py
View file @
7670af15
...
...
@@ -16,7 +16,7 @@ if __name__ == '__main__':
f
=
open
(
sys
.
argv
[
1
])
sample
=
[]
for
l
in
map
(
lambda
s
:
s
.
strip
(),
f
):
lang
,
kind
,
func
,
arg
=
l
[
1
:].
split
(
l
[
0
])
lang
,
kind
,
func
,
arg
,
dummy
=
l
[
1
:].
split
(
l
[
0
])
if
lang
==
'C#'
and
kind
==
'sample'
:
sample
.
append
((
func
,
arg
))
pass
...
...
test/relay_gen_java.py
View file @
7670af15
...
...
@@ -16,7 +16,7 @@ if __name__ == '__main__':
f
=
open
(
sys
.
argv
[
1
])
sample
=
[]
for
l
in
map
(
lambda
s
:
s
.
strip
(),
f
):
lang
,
kind
,
func
,
arg
=
l
[
1
:].
split
(
l
[
0
])
lang
,
kind
,
func
,
arg
,
dummy
=
l
[
1
:].
split
(
l
[
0
])
if
lang
==
'Java'
and
kind
==
'sample'
:
sample
.
append
((
func
,
arg
))
pass
...
...
Write
Preview
Supports
Markdown
0%
Try again
or
attach a new file
.
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment