Project

General

Profile

« Previous | Next » 

Revision 8af9a0b9

Added by Pierre-Loïc Garoche over 5 years ago

New machine types related test cases

View differences:

regression_tests/lustre_files/success/machine_types/CMakeLists.txt
1
cmake_minimum_required(VERSION 2.8.4)
2

  
3

  
4

  
5
set(ZUSTRE_OPTIONS_OPT "--timeout" "60" "--xml" )
6
set(LUSTRE_OPTIONS_OPT "" )
7
set(NODE_NAME  "top")
8
set(MAX_INPUT_VALUE 100)
9

  
10

  
11
#proceed all subdirectories
12
SUBDIRLIST(SUBDIRS ${CMAKE_CURRENT_SOURCE_DIR}  "")
13
FOREACH(subdir ${SUBDIRS})
14
  LUSTREFILES(LFILES ${subdir} )
15
  set(TESTS_PREFIX "MT_${subdir}")
16
  set(SRC_DIR "${CMAKE_CURRENT_SOURCE_DIR}/${subdir}")
17
  set(DST_DIR "${CMAKE_CURRENT_BINARY_DIR}/${subdir}")
18
  FOREACH(lus_file ${LFILES})
19
	get_filename_component(L ${lus_file} NAME_WE)
20
	Copy_or_generate_lusi_input_and_output_values_for_reference(
21
		LUS_FILE ${lus_file}
22
		NODE ${NODE_NAME}
23
		OPTS ${LUSTRE_OPTIONS_OPT}
24
		MAX ${MAX_INPUT_VALUE}  	#maximum value for input values.
25
		SRC_DIR ${SRC_DIR}
26
		DST_DIR ${DST_DIR}
27
	)
28
        if(EXISTS ${ZUSTRE_COMPILER})
29
	Copy_or_generate_zustre_output_xml_for_reference(
30
		LUS_FILE ${lus_file}
31
		NODE ${NODE_NAME}
32
		OPTS ${ZUSTRE_OPTIONS_OPT}
33
		SRC_DIR ${SRC_DIR}
34
		DST_DIR ${DST_DIR}
35
	)
36
	
37
	Zustre_compile_and_compare_to_reference(
38
		LUS_FILE ${lus_file}
39
		NODE ${NODE_NAME}
40
		TESTS_PREFIX ${TESTS_PREFIX}
41
		OPTS ${ZUSTRE_OPTIONS_OPT}
42
		CALL_ID "1"
43
		SRC_DIR ${SRC_DIR}
44
		DST_DIR ${DST_DIR}
45
	)
46
	if(EXISTS ${CMAKE_BINARY_DIR}/modules/XPathParser_lusi.class 
47
		AND ${ZUSTRE_ANSWER_${L}_${NODE_NAME}} STREQUAL "CEX" 
48
		AND EXISTS ${CMAKE_CURRENT_BINARY_DIR}/${L}/${L}.lusi)
49
		Compare_Zustre_and_Lustrec_outputs(
50
			LUS_FILE ${lus_file}
51
			NODE ${NODE_NAME}
52
			TESTS_PREFIX ${TESTS_PREFIX}
53
			OPTS ${ZUSTRE_OPTIONS_OPT}
54
			CALL_ID "2"
55
			SRC_DIR ${SRC_DIR}
56
			DST_DIR ${DST_DIR}
57
		)
58
	endif()
59
      endif()
60

  
61
      Lustre_compile_and_compare_to_reference(
62
	LUS_FILE ${lus_file}
63
	NODE ${NODE_NAME}
64
	TESTS_PREFIX ${TESTS_PREFIX}
65
	OPTS ${LUSTRE_OPTIONS_OPT}
66
	CALL_ID "3"
67
	SRC_DIR ${SRC_DIR}
68
	DST_DIR ${DST_DIR}
69
	)
70

  
71
      Lustre_compile_options(
72
	LUS_FILE ${lus_file}
73
	NODE ${NODE_NAME}
74
	TESTS_PREFIX "${TESTS_PREFIX}"
75
	OPTS ${LUSTRE_OPTIONS_OPT} "-emf" 
76
	CALL_ID "4"
77
	SRC_DIR ${SRC_DIR}
78
	DST_DIR ${DST_DIR}
79
	)
80
      
81
      LustreT_MCDC(
82
	LUS_FILE ${lus_file}
83
	NODE ${NODE_NAME}
84
	OPTS ${LUSTRE_OPTIONS_OPT} 
85
	CALL_ID "5"
86
	SRC_DIR ${SRC_DIR}
87
	DST_DIR ${DST_DIR}
88
	)
89

  
90
      LustreT_Mutants(
91
	LUS_FILE ${lus_file}
92
	NODE ${NODE_NAME}
93
	OPTS ${LUSTRE_OPTIONS_OPT} 
94
	CALL_ID "5"
95
	SRC_DIR ${SRC_DIR}
96
	DST_DIR ${DST_DIR}
97
	)
98

  
99
	
100
  ENDFOREACH()
101
  add_custom_target(${TESTS_PREFIX} COMMAND ${CMAKE_CTEST_COMMAND} -R ${TESTS_PREFIX})
102
ENDFOREACH()
103

  
104
add_custom_target(machine_types COMMAND ${CMAKE_CTEST_COMMAND} -R machine_types)
regression_tests/lustre_files/success/machine_types/kind_fmcad/two_counters.lus
1
-- a simple boolean ant int counter
2

  
3
node greycounter (x:bool) returns (out:bool);
4
var a,b:bool;
5
let
6
  a = false -> not pre(b);
7
  b = false -> pre(a);
8
  out = a and b;
9
tel
10

  
11
node intloopcounter (x:bool) returns (out:bool);
12
var time: int;
13
let
14
--! /machine_types/: (time, "uint8");
15
  time = 0 -> if pre(time) = 3 then 0
16
            else pre time + 1;
17
  out = (time = 2);
18
tel
19

  
20

  
21
--@ ensures OK;
22
node top (x:bool) returns (OK:bool);
23
var b,d:bool;
24
let
25
  b = greycounter(x);
26
  d = intloopcounter(x);
27
  OK = b = d;
28
  --%PROPERTY OK;
29
tel
regression_tests/lustre_files/success/machine_types/kind_fmcad/two_counters_top__output_values
1
'OK': '1' 
2
'OK': '1' 
3
'OK': '1' 
4
'OK': '1' 
5
'OK': '1' 
6
'OK': '1' 
7
'OK': '1' 
8
'OK': '1' 
9
'OK': '1' 
10
'OK': '1' 
11
'OK': '1' 
12
'OK': '1' 
13
'OK': '1' 
14
'OK': '1' 
15
'OK': '1' 
16
'OK': '1' 
17
'OK': '1' 
18
'OK': '1' 
19
'OK': '1' 
20
'OK': '1' 
21
'OK': '1' 
22
'OK': '1' 
23
'OK': '1' 
24
'OK': '1' 
25
'OK': '1' 
26
'OK': '1' 
27
'OK': '1' 
28
'OK': '1' 
29
'OK': '1' 
30
'OK': '1' 
31
'OK': '1' 
32
'OK': '1' 
33
'OK': '1' 
34
'OK': '1' 
35
'OK': '1' 
36
'OK': '1' 
37
'OK': '1' 
38
'OK': '1' 
39
'OK': '1' 
40
'OK': '1' 
41
'OK': '1' 
42
'OK': '1' 
43
'OK': '1' 
44
'OK': '1' 
45
'OK': '1' 
46
'OK': '1' 
47
'OK': '1' 
48
'OK': '1' 
49
'OK': '1' 
50
'OK': '1' 
51
'OK': '1' 
52
'OK': '1' 
53
'OK': '1' 
54
'OK': '1' 
55
'OK': '1' 
56
'OK': '1' 
57
'OK': '1' 
58
'OK': '1' 
59
'OK': '1' 
60
'OK': '1' 
61
'OK': '1' 
62
'OK': '1' 
63
'OK': '1' 
64
'OK': '1' 
65
'OK': '1' 
66
'OK': '1' 
67
'OK': '1' 
68
'OK': '1' 
69
'OK': '1' 
70
'OK': '1' 
71
'OK': '1' 
72
'OK': '1' 
73
'OK': '1' 
74
'OK': '1' 
75
'OK': '1' 
76
'OK': '1' 
77
'OK': '1' 
78
'OK': '1' 
79
'OK': '1' 
80
'OK': '1' 
81
'OK': '1' 
82
'OK': '1' 
83
'OK': '1' 
84
'OK': '1' 
85
'OK': '1' 
86
'OK': '1' 
87
'OK': '1' 
88
'OK': '1' 
89
'OK': '1' 
90
'OK': '1' 
91
'OK': '1' 
92
'OK': '1' 
93
'OK': '1' 
94
'OK': '1' 
95
'OK': '1' 
96
'OK': '1' 
97
'OK': '1' 
98
'OK': '1' 
99
'OK': '1' 
100
'OK': '1' 
regression_tests/lustre_files/success/machine_types/kind_fmcad/two_counters_top_input_values
1
1
2
0
3
0
4
1
5
1
6
0
7
1
8
0
9
1
10
0
11
1
12
0
13
0
14
1
15
0
16
1
17
1
18
1
19
1
20
0
21
1
22
1
23
1
24
0
25
0
26
0
27
1
28
0
29
1
30
0
31
0
32
0
33
1
34
1
35
1
36
1
37
0
38
1
39
1
40
1
41
0
42
1
43
1
44
1
45
1
46
0
47
1
48
1
49
0
50
1
51
1
52
1
53
1
54
0
55
0
56
1
57
1
58
1
59
1
60
0
61
1
62
1
63
0
64
1
65
0
66
0
67
1
68
1
69
1
70
1
71
0
72
0
73
0
74
1
75
1
76
0
77
0
78
0
79
0
80
0
81
1
82
0
83
1
84
0
85
1
86
0
87
0
88
1
89
0
90
1
91
0
92
0
93
0
94
1
95
1
96
1
97
0
98
0
99
0
100
1
regression_tests/lustre_files/success/machine_types/simple/ex1.lus
1
node ex2(x: int) returns (y: int)
2
let
3
--! machine_types: (y, "uint8");
4
  y = x;
5
tel
6

  
7
node ex1(x: int) returns (y: int);
8
let
9
--! machine_types: (y, "uint8");
10
  y = 3 + ex2(x);
11
tel
12

  
13
node top (x: int) returns (y: int)
14
var l1: int;
15
let
16
--! machine_types: (l1, "uint16");
17
--! machine_types: (l1, "int16");
18
  l1 = x;
19
  y = l1; 
20
tel
regression_tests/lustre_files/success/machine_types/simple/ex1_top__output_values
1
'y': '18' 
2
'y': '39' 
3
'y': '60' 
4
'y': '51' 
5
'y': '86' 
6
'y': '41' 
7
'y': '35' 
8
'y': '99' 
9
'y': '70' 
10
'y': '17' 
11
'y': '36' 
12
'y': '66' 
13
'y': '50' 
14
'y': '21' 
15
'y': '5' 
16
'y': '83' 
17
'y': '56' 
18
'y': '34' 
19
'y': '23' 
20
'y': '11' 
21
'y': '60' 
22
'y': '88' 
23
'y': '93' 
24
'y': '11' 
25
'y': '32' 
26
'y': '13' 
27
'y': '3' 
28
'y': '21' 
29
'y': '22' 
30
'y': '42' 
31
'y': '80' 
32
'y': '48' 
33
'y': '40' 
34
'y': '98' 
35
'y': '51' 
36
'y': '43' 
37
'y': '30' 
38
'y': '30' 
39
'y': '59' 
40
'y': '31' 
41
'y': '74' 
42
'y': '46' 
43
'y': '19' 
44
'y': '12' 
45
'y': '25' 
46
'y': '44' 
47
'y': '90' 
48
'y': '25' 
49
'y': '10' 
50
'y': '15' 
51
'y': '62' 
52
'y': '52' 
53
'y': '25' 
54
'y': '68' 
55
'y': '44' 
56
'y': '86' 
57
'y': '87' 
58
'y': '10' 
59
'y': '64' 
60
'y': '0' 
61
'y': '97' 
62
'y': '29' 
63
'y': '92' 
64
'y': '22' 
65
'y': '59' 
66
'y': '59' 
67
'y': '24' 
68
'y': '78' 
69
'y': '42' 
70
'y': '15' 
71
'y': '72' 
72
'y': '13' 
73
'y': '25' 
74
'y': '39' 
75
'y': '85' 
76
'y': '34' 
77
'y': '17' 
78
'y': '5' 
79
'y': '53' 
80
'y': '0' 
81
'y': '44' 
82
'y': '14' 
83
'y': '66' 
84
'y': '21' 
85
'y': '18' 
86
'y': '14' 
87
'y': '31' 
88
'y': '69' 
89
'y': '55' 
90
'y': '1' 
91
'y': '76' 
92
'y': '65' 
93
'y': '4' 
94
'y': '7' 
95
'y': '99' 
96
'y': '22' 
97
'y': '44' 
98
'y': '48' 
99
'y': '56' 
100
'y': '98' 
regression_tests/lustre_files/success/machine_types/simple/ex1_top_input_values
1
18
2
39
3
60
4
51
5
86
6
41
7
35
8
99
9
70
10
17
11
36
12
66
13
50
14
21
15
5
16
83
17
56
18
34
19
23
20
11
21
60
22
88
23
93
24
11
25
32
26
13
27
3
28
21
29
22
30
42
31
80
32
48
33
40
34
98
35
51
36
43
37
30
38
30
39
59
40
31
41
74
42
46
43
19
44
12
45
25
46
44
47
90
48
25
49
10
50
15
51
62
52
52
53
25
54
68
55
44
56
86
57
87
58
10
59
64
60
0
61
97
62
29
63
92
64
22
65
59
66
59
67
24
68
78
69
42
70
15
71
72
72
13
73
25
74
39
75
85
76
34
77
17
78
5
79
53
80
0
81
44
82
14
83
66
84
21
85
18
86
14
87
31
88
69
89
55
90
1
91
76
92
65
93
4
94
7
95
99
96
22
97
44
98
48
99
56
100
98

Also available in: Unified diff