blob: c4e27bd27122e307bf74b2bf332f7921df1d8eb3 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
|
message(STATUS "testname='${testname}'")
if(testname STREQUAL empty) # fail
file()
elseif(testname STREQUAL bogus) # fail
file(BOGUS ffff)
elseif(testname STREQUAL different_not_enough_args) # fail
file(DIFFERENT ffff)
elseif(testname STREQUAL download_not_enough_args) # fail
file(DOWNLOAD ffff)
elseif(testname STREQUAL read_not_enough_args) # fail
file(READ ffff)
elseif(testname STREQUAL rpath_check_not_enough_args) # fail
file(RPATH_CHECK ffff)
elseif(testname STREQUAL rpath_remove_not_enough_args) # fail
file(RPATH_REMOVE ffff)
elseif(testname STREQUAL strings_not_enough_args) # fail
file(STRINGS ffff)
elseif(testname STREQUAL to_native_path_not_enough_args) # fail
file(TO_NATIVE_PATH ffff)
elseif(testname STREQUAL read_with_offset) # pass
file(READ ${CMAKE_CURRENT_LIST_FILE} v OFFSET 42 LIMIT 30)
message("v='${v}'")
elseif(testname STREQUAL strings_bad_length_minimum) # fail
file(STRINGS ${CMAKE_CURRENT_LIST_FILE} v LENGTH_MINIMUM bogus)
elseif(testname STREQUAL strings_bad_length_maximum) # fail
file(STRINGS ${CMAKE_CURRENT_LIST_FILE} v LENGTH_MAXIMUM bogus)
elseif(testname STREQUAL strings_bad_limit_count) # fail
file(STRINGS ${CMAKE_CURRENT_LIST_FILE} v LIMIT_COUNT bogus)
elseif(testname STREQUAL strings_bad_limit_input) # fail
file(STRINGS ${CMAKE_CURRENT_LIST_FILE} v LIMIT_INPUT bogus)
elseif(testname STREQUAL strings_bad_limit_output) # fail
file(STRINGS ${CMAKE_CURRENT_LIST_FILE} v LIMIT_OUTPUT bogus)
elseif(testname STREQUAL strings_bad_regex) # fail
file(STRINGS ${CMAKE_CURRENT_LIST_FILE} v REGEX "(")
elseif(testname STREQUAL strings_unknown_arg) # fail
file(STRINGS ${CMAKE_CURRENT_LIST_FILE} v BOGUS)
elseif(testname STREQUAL strings_bad_filename) # fail
file(STRINGS ffff v LIMIT_COUNT 10)
elseif(testname STREQUAL strings_use_limit_count) # pass
file(STRINGS ${CMAKE_CURRENT_LIST_FILE} v LIMIT_COUNT 10)
message("v='${v}'")
elseif(testname STREQUAL strings_use_no_hex_conversion) # pass
file(STRINGS ${CMAKE_CURRENT_LIST_FILE} v NO_HEX_CONVERSION)
message("v='${v}'")
elseif(testname STREQUAL glob_recurse_follow_symlinks_no_expression) # fail
file(GLOB_RECURSE v FOLLOW_SYMLINKS)
elseif(testname STREQUAL glob_recurse_relative_no_directory) # fail
file(GLOB_RECURSE v RELATIVE)
elseif(testname STREQUAL glob_recurse_relative_no_expression) # fail
file(GLOB_RECURSE v RELATIVE dddd)
elseif(testname STREQUAL glob_non_full_path) # pass
file(GLOB_RECURSE v ffff*.*)
message("v='${v}'")
elseif(testname STREQUAL make_directory_non_full_path) # pass
file(MAKE_DIRECTORY FileTestScriptDDDD)
if(NOT EXISTS FileTestScriptDDDD)
message(FATAL_ERROR "error: non-full-path MAKE_DIRECTORY failed")
endif()
file(REMOVE_RECURSE FileTestScriptDDDD)
if(EXISTS FileTestScriptDDDD)
message(FATAL_ERROR "error: non-full-path REMOVE_RECURSE failed")
endif()
elseif(testname STREQUAL different_no_variable) # fail
file(DIFFERENT FILES)
elseif(testname STREQUAL different_no_files) # fail
file(DIFFERENT v FILES)
elseif(testname STREQUAL different_unknown_arg) # fail
file(DIFFERENT v FILES ffffLHS ffffRHS BOGUS)
elseif(testname STREQUAL different_different) # pass
file(DIFFERENT v FILES ffffLHS ffffRHS)
message("v='${v}'")
elseif(testname STREQUAL different_same) # pass
file(DIFFERENT v FILES
${CMAKE_CURRENT_LIST_FILE} ${CMAKE_CURRENT_LIST_FILE})
message("v='${v}'")
elseif(testname STREQUAL rpath_change_unknown_arg) # fail
file(RPATH_CHANGE BOGUS)
elseif(testname STREQUAL rpath_change_bad_file) # fail
file(RPATH_CHANGE FILE)
elseif(testname STREQUAL rpath_change_bad_old_rpath) # fail
file(RPATH_CHANGE FILE ffff OLD_RPATH)
elseif(testname STREQUAL rpath_change_bad_new_rpath) # fail
file(RPATH_CHANGE FILE ffff OLD_RPATH rrrr NEW_RPATH)
elseif(testname STREQUAL rpath_change_file_does_not_exist) # fail
file(RPATH_CHANGE FILE ffff OLD_RPATH rrrr NEW_RPATH RRRR)
elseif(testname STREQUAL rpath_change_file_is_not_executable) # fail
file(RPATH_CHANGE FILE ${CMAKE_CURRENT_LIST_FILE}
OLD_RPATH rrrr NEW_RPATH RRRR)
elseif(testname STREQUAL rpath_remove_unknown_arg) # fail
file(RPATH_REMOVE BOGUS)
elseif(testname STREQUAL rpath_remove_bad_file) # fail
file(RPATH_REMOVE FILE)
elseif(testname STREQUAL rpath_remove_file_does_not_exist) # fail
file(RPATH_REMOVE FILE ffff)
#elseif(testname STREQUAL rpath_remove_file_is_not_executable) # fail
# file(RPATH_REMOVE FILE ${CMAKE_CURRENT_LIST_FILE})
elseif(testname STREQUAL rpath_check_unknown_arg) # fail
file(RPATH_CHECK BOGUS)
elseif(testname STREQUAL rpath_check_bad_file) # fail
file(RPATH_CHECK FILE)
elseif(testname STREQUAL rpath_check_bad_rpath) # fail
file(RPATH_CHECK FILE ffff RPATH)
elseif(testname STREQUAL rpath_check_file_does_not_exist) # pass
file(RPATH_CHECK FILE ffff RPATH rrrr)
elseif(testname STREQUAL rpath_check_file_is_not_executable) # pass
file(WRITE ffff_rpath_check "")
if(NOT EXISTS ffff_rpath_check)
message(FATAL_ERROR "error: non-full-path WRITE failed")
endif()
file(RPATH_CHECK FILE ffff_rpath_check RPATH rrrr)
# careful: if the file does not have the given RPATH, it is deleted...
if(EXISTS ffff_rpath_check)
message(FATAL_ERROR "error: non-full-path RPATH_CHECK failed")
endif()
elseif(testname STREQUAL relative_path_wrong_number_of_args) # fail
file(RELATIVE_PATH v dir)
elseif(testname STREQUAL relative_path_non_full_path_dir) # fail
file(RELATIVE_PATH v dir file)
elseif(testname STREQUAL relative_path_non_full_path_file) # fail
file(RELATIVE_PATH v /dir file)
elseif(testname STREQUAL rename_wrong_number_of_args) # fail
file(RENAME ffff)
elseif(testname STREQUAL rename_input_file_does_not_exist) # fail
file(RENAME ffff FFFFGGGG)
elseif(testname STREQUAL to_native_path) # pass
file(TO_NATIVE_PATH /a/b/c\;/d/e/f:/g/h/i v)
message("v='${v}'")
elseif(testname STREQUAL download_wrong_number_of_args) # fail
file(DOWNLOAD zzzz://bogus/ffff)
elseif(testname STREQUAL download_file_with_no_path) # fail
file(DOWNLOAD zzzz://bogus/ffff ffff)
elseif(testname STREQUAL download_missing_time) # fail
file(DOWNLOAD zzzz://bogus/ffff ./ffff TIMEOUT)
elseif(testname STREQUAL download_missing_log_var) # fail
file(DOWNLOAD zzzz://bogus/ffff ./ffff TIMEOUT 2 LOG)
elseif(testname STREQUAL download_missing_status_var) # fail
file(DOWNLOAD zzzz://bogus/ffff ./ffff TIMEOUT 2 LOG l STATUS)
elseif(testname STREQUAL download_with_bogus_protocol) # pass
file(DOWNLOAD zzzz://bogus/ffff ./ffff TIMEOUT 2 LOG l STATUS s)
file(REMOVE ./ffff)
message("l='${l}'")
message("s='${s}'")
else() # fail
message(FATAL_ERROR "testname='${testname}' - error: no such test in '${CMAKE_CURRENT_LIST_FILE}'")
endif()
|