Skip to content
GitLab
Menu
Projects
Groups
Snippets
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Sign in
Toggle navigation
Menu
Open sidebar
TASTE
OpenGEODE
Commits
3a135200
Commit
3a135200
authored
Aug 21, 2016
by
Maxime Perrotin
Browse files
Complexify test1
parent
be88355b
Changes
4
Hide whitespace changes
Inline
Side-by-side
tests/regression/test1/Makefile
View file @
3a135200
...
...
@@ -10,7 +10,7 @@ test-parse:
test-ada
:
og.ali dataview-uniq.o | test_ada.o
$(GNATBIND)
-n
og.ali
$(GNATLINK)
-o
test_ada test_ada.o og.ali
-lgnat
$(GNATLINK)
-o
test_ada test_ada.o
dataview-uniq.o
og.ali
-lgnat
./test_ada
#gcov og.adb
...
...
tests/regression/test1/dataview-uniq.asn
View file @
3a135200
...
...
@@ -31,5 +31,6 @@ SeqBool ::= SEQUENCE(SIZE(1..5)) OF BOOLEAN
default-seqof SeqOf ::= {4,7,9}
default-str My-OctStr ::= 'DEADBEEF'H
test-string My-OctStr ::= '68656c6c6f'H -- "hello"
END
tests/regression/test1/og.pr
View file @
3a135200
/* CIF PROCESS (149, 150), (150, 75) */
PROCESS og;
/* CIF TEXT (
0
,
0
), (298, 286) */
/* CIF TEXT (
2755
,
9
), (298, 286) */
-- A Demo to test octet strings
-- using various symbols.
...
...
@@ -19,176 +19,186 @@ dcl alwaysFalse Type2 := 0 in {1,2,3};
dcl seqofbool seqBool := { true, true};
/* CIF ENDTEXT */
/* CIF START (427,
26
), (100, 50) */
/* CIF START (
1
427,
35
), (100, 50) */
START;
/* CIF TASK (370,
9
1), (214, 83) */
/* CIF TASK (
1
370, 1
00
), (214, 83) */
TASK test := 5,
test := power(test, 1),
test := abs(-4+1),
test := abs(test)
/* CIF COMMENT (603, 1
14
), (183, 35) */
/* CIF COMMENT (
1
603, 1
23
), (183, 35) */
COMMENT 'Task with unicode: voilà!';
/* CIF TASK (375, 1
8
9), (204, 50) */
/* CIF TASK (
1
375, 19
8
), (204, 50) */
TASK first_msg := 'Say hello first!'
/* CIF COMMENT (599, 1
8
9), (148, 50) */
/* CIF COMMENT (
1
599, 19
8
), (148, 50) */
COMMENT 'String assignment';
/* CIF PROCEDURECALL (38
8
, 2
54
), (177, 35) */
/* CIF PROCEDURECALL (
1
38
9
, 2
63
), (177, 35) */
CALL writeln( first_msg(1,2));
/* CIF PROCEDURECALL (37
3
, 3
04
), (207, 35) */
/* CIF PROCEDURECALL (
1
37
4
, 3
13
), (207, 35) */
CALL writeln( not (not not true));
/* CIF TASK (39
4
, 3
54
), (165, 50) */
/* CIF TASK (
1
39
5
, 3
63
), (165, 50) */
TASK seq := default_seqof,
seq := {1,2,3}
/* CIF COMMENT (579, 3
54
), (204, 50) */
/* CIF COMMENT (
1
579, 3
63
), (204, 50) */
COMMENT 'default_seqof is a constant
defined in the ASN.1 model';
/* CIF TASK (34
5
, 4
19
), (263, 50) */
/* CIF TASK (
1
34
6
, 4
28
), (263, 50) */
TASK seq := seq // {4, test} // default_seqof
/* CIF COMMENT (629, 4
19
), (156, 50) */
/* CIF COMMENT (
1
629, 4
28
), (156, 50) */
COMMENT 'Concatenate
two SEQUENCE OF';
/* CIF TASK (40
8
, 4
84
), (137, 50) */
/* CIF TASK (
1
40
9
, 4
93
), (137, 50) */
TASK 'seq(1) := seq(2)';
/* CIF TASK (38
2
, 5
49
), (189, 50) */
/* CIF TASK (
1
38
3
, 5
58
), (189, 50) */
TASK seq := seq(0,1) // seq(3, 4)
/* CIF COMMENT (590, 5
49
), (166, 50) */
/* CIF COMMENT (
1
590, 5
58
), (166, 50) */
COMMENT 'Remove 3rd element';
/* CIF TASK (407, 6
14
), (140, 53) */
/* CIF TASK (
1
407, 6
23
), (140, 53) */
TASK for x in seq:
call writeln(x);
endfor;
/* CIF PROCEDURECALL (395, 6
82
), (164, 35) */
/* CIF PROCEDURECALL (
1
395, 6
91
), (164, 35) */
CALL writeln('test=', test);
/* CIF DECISION (425, 7
32
), (104, 70) */
/* CIF DECISION (
1
425, 7
41
), (104, 70) */
DECISION test in seq
/* CIF COMMENT (549, 7
47
), (170, 39) */
/* CIF COMMENT (
1
549, 7
56
), (170, 39) */
COMMENT 'Test the "in" operator
Unicode test: Ï';
/* CIF ANSWER (335, 8
22
), (100, 35) */
/* CIF ANSWER (
1
335, 8
31
), (100, 35) */
(TRUE):
/* CIF PROCEDURECALL (308, 8
72
), (154, 50) */
/* CIF PROCEDURECALL (
1
308, 8
81
), (154, 50) */
CALL writeln('All OK (1)');
/* CIF ANSWER (498, 8
22
), (100, 35) */
/* CIF ANSWER (
1
498, 8
31
), (100, 35) */
(FALSE):
/* CIF PROCEDURECALL (466, 8
72
), (164, 50) */
/* CIF PROCEDURECALL (
1
466, 8
81
), (164, 50) */
CALL writeln('NOT OK (1)')
/* CIF COMMENT (650, 8
79
), (117, 35) */
/* CIF COMMENT (
1
650, 8
88
), (117, 35) */
COMMENT 'Call UnicÔDË';
ENDDECISION;
/* CIF DECISION (427, 9
37
), (100, 70) */
/* CIF DECISION (
1
427, 9
46
), (100, 70) */
DECISION 3 in seq
/* CIF COMMENT (547, 9
54
), (256, 35) */
/* CIF COMMENT (
1
547, 9
63
), (256, 35) */
COMMENT 'test==3 so it should also return true';
/* CIF ANSWER (341, 10
27
), (100, 35) */
/* CIF ANSWER (
1
341, 10
36
), (100, 35) */
(TRUE):
/* CIF PROCEDURECALL (309, 10
77
), (164, 50) */
/* CIF PROCEDURECALL (
1
309, 10
86
), (164, 50) */
CALL writeln('ALL OK (2)');
/* CIF ANSWER (513, 10
27
), (100, 35) */
/* CIF ANSWER (
1
513, 10
36
), (100, 35) */
(FALSE):
/* CIF PROCEDURECALL (481, 10
77
), (164, 50) */
/* CIF PROCEDURECALL (
1
481, 10
86
), (164, 50) */
CALL writeln('NOT OK (2)');
ENDDECISION;
/* CIF NEXTSTATE (427, 11
42
), (100, 50) */
/* CIF NEXTSTATE (
1
427, 11
51
), (100, 50) */
NEXTSTATE Wait;
/* CIF STATE (
1
204, 1
51
), (100, 50) */
/* CIF STATE (
2
204, 1
60
), (100, 50) */
STATE Running;
/* CIF INPUT (
1
204, 2
21
), (100, 50) */
/* CIF INPUT (
2
204, 2
30
), (100, 50) */
INPUT go(msg);
/* CIF DECISION (1202, 286), (103, 70) */
/* CIF PROCEDURECALL (2203, 300), (101, 35) */
CALL writeln(msg);
/* CIF DECISION (2203, 350), (103, 70) */
DECISION msg
/* CIF COMMENT (
1
326,
296
), (111, 50) */
/* CIF COMMENT (
2
326,
360
), (111, 50) */
COMMENT 'Switch-case
on strings';
/* CIF ANSWER (
1
454,
376
), (100, 35) */
/* CIF ANSWER (
2
454,
440
), (100, 35) */
('egg'):
/* CIF TASK (
1
43
3
, 4
26
), (141, 50) */
/* CIF TASK (
2
43
4
, 4
90
), (141, 50) */
TASK msg := msg // '!!'
/* CIF COMMENT (
1
595, 4
26
), (118, 50) */
/* CIF COMMENT (
2
595, 4
90
), (118, 50) */
COMMENT 'Concatenate
strings';
/* CIF OUTPUT (
1
429,
491
), (150, 50) */
/* CIF OUTPUT (
2
429,
555
), (150, 50) */
OUTPUT rezult(default_str)
/* CIF COMMENT (
1
594,
489
), (161, 53) */
/* CIF COMMENT (
2
594,
553
), (161, 53) */
COMMENT 'Send a constant
defined in the ASN.1
model';
/* CIF NEXTSTATE (
1
454,
556
), (100, 50) */
/* CIF NEXTSTATE (
2
454,
620
), (100, 50) */
NEXTSTATE Running
/* CIF COMMENT (
1
574,
563
), (96, 35) */
/* CIF COMMENT (
2
574,
627
), (96, 35) */
COMMENT 'Néxtaytè';
/* CIF ANSWER (
878, 376
), (100, 35) */
/* CIF ANSWER (
1864, 440
), (100, 35) */
('end'):
/* CIF OUTPUT (
872
, 4
26
), (112, 50) */
/* CIF OUTPUT (
1858
, 4
90
), (112, 50) */
OUTPUT rezult
('Goodbye!');
/* CIF NEXTSTATE (
878, 493
), (100, 50) */
/* CIF NEXTSTATE (
1864, 557
), (100, 50) */
NEXTSTATE Wait;
/* CIF ANSWER (
1
042,
376
), (100, 35) */
/* CIF ANSWER (
2
042,
440
), (100, 35) */
ELSE:
/* CIF TASK (
1
02
1
, 4
26
), (141, 50) */
/* CIF TASK (
2
02
2
, 4
90
), (141, 50) */
TASK msg := msg // '!'
/* CIF COMMENT (
1
183, 4
26
), (118, 50) */
/* CIF COMMENT (
2
183, 4
90
), (118, 50) */
COMMENT 'Concatenate
strings';
/* CIF TASK (994, 491), (195, 50) */
/* CIF PROCEDURECALL (2009, 560), (165, 35) */
CALL writeln('msg//! = ', msg);
/* CIF TASK (1995, 610), (195, 50) */
TASK msg := msg(3,4) // msg(1,2)
/* CIF COMMENT (
1
210,
491
), (209, 53) */
/* CIF COMMENT (
2
210,
610
), (209, 53) */
COMMENT 'Concatenate two substrings
(can be used to remove an
element from a list)';
/* CIF TASK (1010, 556), (163, 50) */
/* CIF PROCEDURECALL (1980, 680), (224, 35) */
CALL writeln('msg(3,4)//(1,2) = ',msg);
/* CIF TASK (2011, 730), (163, 50) */
TASK msg := first_msg(1, 2)
/* CIF COMMENT (
1
186,
553
), (177, 53) */
/* CIF COMMENT (
2
186,
727
), (177, 53) */
COMMENT 'Substring
TODO check range
against current Length';
/* CIF OUTPUT (1038, 621), (108, 50) */
/* CIF PROCEDURECALL (1992, 800), (199, 35) */
CALL writeln('first_msg(1,2)=',msg)
/* CIF COMMENT (2212, 800), (98, 35) */
COMMENT 'should be ay';
/* CIF OUTPUT (2038, 850), (108, 50) */
OUTPUT rezult(msg);
/* CIF NEXTSTATE (
1
042,
686
), (100, 50) */
/* CIF NEXTSTATE (
2
042,
915
), (100, 50) */
NEXTSTATE Running;
ENDDECISION;
ENDSTATE;
/* CIF STATE (427, 11
42
), (100, 50) */
/* CIF STATE (
1
427, 11
51
), (100, 50) */
STATE Wait;
/* CIF INPUT (427, 12
1
2), (100, 50) */
/* CIF INPUT (
1
427, 122
1
), (100, 50) */
INPUT go(msg)
/* CIF COMMENT (547, 12
19
), (120, 35) */
/* CIF COMMENT (
1
547, 12
28
), (120, 35) */
COMMENT 'Ïñpût unicode';
/* CIF DECISION (420, 12
77
), (114, 70) */
/* CIF DECISION (
1
420, 12
86
), (114, 70) */
DECISION msg = 'hello'
/* CIF COMMENT (554, 12
87
), (128, 50) */
/* CIF COMMENT (
1
554, 12
96
), (128, 50) */
COMMENT 'Boolean test
on string value';
/* CIF ANSWER (638, 13
6
7), (100, 35) */
/* CIF ANSWER (
1
638, 137
6
), (100, 35) */
(FALSE):
/* CIF OUTPUT (61
8
, 14
17
), (139, 50) */
/* CIF OUTPUT (
1
61
9
, 14
26
), (139, 50) */
OUTPUT rezult(first_msg)
/* CIF COMMENT (777, 14
24
), (85, 35) */
/* CIF COMMENT (
1
777, 14
33
), (85, 35) */
COMMENT 'OûtpUT';
/* CIF NEXTSTATE (638, 14
82
), (100, 50) */
/* CIF NEXTSTATE (
1
638, 14
91
), (100, 50) */
NEXTSTATE Wait;
/* CIF ANSWER (367, 13
6
7), (100, 35) */
/* CIF ANSWER (
1
367, 137
6
), (100, 35) */
(TRUE):
/* CIF OUTPUT (34
4
, 14
17
), (145, 50) */
/* CIF OUTPUT (
1
34
5
, 14
26
), (145, 50) */
OUTPUT rezult('Welcome')
/* CIF COMMENT (509, 14
17
), (95, 50) */
/* CIF COMMENT (
1
509, 14
26
), (95, 50) */
COMMENT 'Send raw
string';
/* CIF DECISION (368, 14
82
), (98, 50) */
/* CIF DECISION (
1
368, 14
91
), (98, 50) */
DECISION 3 in {1,2,3};
/* CIF ANSWER (328, 15
52
), (88, 33) */
/* CIF ANSWER (
1
328, 15
61
), (88, 33) */
(1 in {1,2}):
/* CIF ANSWER (418, 15
52
), (88, 33) */
/* CIF ANSWER (
1
418, 15
61
), (88, 33) */
(0 in {1,2}):
ENDDECISION;
/* CIF DECISION (368, 160
0
), (98, 50) */
/* CIF DECISION (
1
368, 160
9
), (98, 50) */
DECISION 4 in {1,2,3};
/* CIF ANSWER (339, 167
0
), (66, 33) */
/* CIF ANSWER (
1
339, 167
9
), (66, 33) */
(true):
/* CIF ANSWER (422, 167
0
), (70, 33) */
/* CIF ANSWER (
1
422, 167
9
), (70, 33) */
(false):
ENDDECISION;
/* CIF NEXTSTATE (367, 17
18
), (100, 50) */
/* CIF NEXTSTATE (
1
367, 17
27
), (100, 50) */
NEXTSTATE Running;
ENDDECISION;
ENDSTATE;
...
...
tests/regression/test1/test_ada.c
View file @
3a135200
...
...
@@ -11,9 +11,11 @@ void og_RI_rezult (asn1SccMy_OctStr *val)
}
int
main
()
{
asn1SccMy_OctStr
toto
;
asn1SccMy_OctStr
toto
=
test_string
;
// send "hello"
adainit
();
og_go
(
&
toto
);
og_go
(
&
toto
);
// will move state to Running
og_go
(
&
toto
);
// will display ay
og_go
(
&
toto
);
// will display ay
return
0
;
}
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a 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