/usr/share/augeas/lenses/dist/tests/test_inifile.aug is in augeas-lenses 1.10.1-2.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
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 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 | (*
Module: Test_IniFile
Provides unit tests and examples for the <IniFile> module.
About: Tests to run
The tests are run with all combinations of the following
three parameters:
> separator : (a) default (/[:=]/ "=") ; (b) "=" "="
> comment : (c) default (/[;#]/ ";") ; (d) ";" ";"
> empty lines : (e) default ; (f) noempty
*)
module Test_IniFile =
(* ALL TESTS TO RUN *)
(* Group: TEST a/c/e *)
(* Variable: comment_ace *)
let comment_ace = IniFile.comment IniFile.comment_re IniFile.comment_default
(* Variable: sep_ace *)
let sep_ace = IniFile.sep IniFile.sep_re IniFile.sep_default
(* Variable: entry_ace *)
let entry_ace = IniFile.entry IniFile.entry_re sep_ace comment_ace
(* Variable: title_ace *)
let title_ace = IniFile.title IniFile.record_re
(* Variable: record_ace *)
let record_ace = IniFile.record title_ace entry_ace
(* Variable: lns_ace *)
let lns_ace = IniFile.lns record_ace comment_ace
(* Variable: conf_ace *)
let conf_ace = "# comment with sharp
[section1]
test_ace = value # end of line comment
test_ace =
test_ace = \"value with spaces\"
; comment with colon
"
(* Test: lns_ace
Testing the a/c/e combination *)
test lns_ace get conf_ace =
{ "#comment" = "comment with sharp" }
{}
{ "section1"
{ "test_ace" = "value"
{ "#comment" = "end of line comment" } }
{ "test_ace" }
{ "test_ace" = "value with spaces" }
{ "#comment" = "comment with colon" }
{} }
test lns_ace put conf_ace after
set "section1/foo" "yes" = "# comment with sharp
[section1]
test_ace = value # end of line comment
test_ace =
test_ace = \"value with spaces\"
; comment with colon
foo=yes
"
(* Test: lns_ace
Quotes can appear within bare values *)
test lns_ace get "[section]\ntest_ace = value \"with quotes\" inside\n" =
{ "section" { "test_ace" = "value \"with quotes\" inside" } }
(* Group: TEST a/c/f *)
(* Variable: comment_acf *)
let comment_acf = IniFile.comment IniFile.comment_re IniFile.comment_default
(* Variable: sep_acf *)
let sep_acf = IniFile.sep IniFile.sep_re IniFile.sep_default
(* Variable: entry_acf *)
let entry_acf = IniFile.entry IniFile.entry_re sep_acf comment_acf
(* Variable: title_acf *)
let title_acf = IniFile.title IniFile.record_re
(* Variable: record_acf *)
let record_acf = IniFile.record_noempty title_acf entry_acf
(* Variable: lns_acf *)
let lns_acf = IniFile.lns_noempty record_acf comment_acf
(* Variable: conf_acf *)
let conf_acf = "# comment with sharp
[section1]
test_acf = value
test_acf =
test_acf : value2 # end of line comment
; comment with colon
"
(* Test: lns_acf
Testing the a/c/f combination *)
test lns_acf get conf_acf =
{ "#comment" = "comment with sharp" }
{ "section1"
{ "test_acf" = "value" }
{ "test_acf" }
{ "test_acf" = "value2"
{ "#comment" = "end of line comment" } }
{ "#comment" = "comment with colon" } }
(* Group: TEST a/d/e *)
(* Variable: comment_ade *)
let comment_ade = IniFile.comment ";" ";"
(* Variable: sep_ade *)
let sep_ade = IniFile.sep IniFile.sep_re IniFile.sep_default
(* Variable: entry_ade *)
let entry_ade = IniFile.entry IniFile.entry_re sep_ade comment_ade
(* Variable: title_ade *)
let title_ade = IniFile.title IniFile.record_re
(* Variable: record_ade *)
let record_ade = IniFile.record title_ade entry_ade
(* Variable: lns_ade *)
let lns_ade = IniFile.lns record_ade comment_ade
(* Variable: conf_ade *)
let conf_ade = "; a first comment with colon
[section1]
test_ade = value
test_ade : value2 ; end of line comment
; comment with colon
test_ade =
"
(* Test: lns_ade
Testing the a/d/e combination *)
test lns_ade get conf_ade =
{ "#comment" = "a first comment with colon" }
{ "section1"
{ "test_ade" = "value" }
{ "test_ade" = "value2"
{ "#comment" = "end of line comment" } }
{ "#comment" = "comment with colon" }
{}
{ "test_ade" } }
(* Group: TEST a/d/f *)
(* Variable: comment_adf *)
let comment_adf = IniFile.comment ";" ";"
(* Variable: sep_adf *)
let sep_adf = IniFile.sep IniFile.sep_re IniFile.sep_default
(* Variable: entry_adf *)
let entry_adf = IniFile.entry IniFile.entry_re sep_adf comment_adf
(* Variable: title_adf *)
let title_adf = IniFile.title IniFile.record_re
(* Variable: record_adf *)
let record_adf = IniFile.record_noempty title_adf entry_adf
(* Variable: lns_adf *)
let lns_adf = IniFile.lns_noempty record_adf comment_adf
(* Variable: conf_adf *)
let conf_adf = "; a first comment with colon
[section1]
test_adf = value
test_adf : value2 ; end of line comment
; comment with colon
test_adf =
"
(* Test: lns_adf
Testing the a/d/f combination *)
test lns_adf get conf_adf =
{ "#comment" = "a first comment with colon" }
{ "section1"
{ "test_adf" = "value" }
{ "test_adf" = "value2"
{ "#comment" = "end of line comment" } }
{ "#comment" = "comment with colon" }
{ "test_adf" } }
(* Group: TEST b/c/e *)
(* Variable: comment_bce *)
let comment_bce = IniFile.comment IniFile.comment_re IniFile.comment_default
(* Variable: sep_bce *)
let sep_bce = IniFile.sep "=" "="
(* Variable: entry_bce *)
let entry_bce = IniFile.entry IniFile.entry_re sep_bce comment_bce
(* Variable: title_bce *)
let title_bce = IniFile.title IniFile.record_re
(* Variable: record_bce *)
let record_bce = IniFile.record title_bce entry_bce
(* Variable: lns_bce *)
let lns_bce = IniFile.lns record_bce comment_bce
(* Variable: conf_bce *)
let conf_bce = "# comment with sharp
[section1]
test_bce = value # end of line comment
; comment with colon
test_bce =
"
(* Test: lns_bce
Testing the b/c/e combination *)
test lns_bce get conf_bce =
{ "#comment" = "comment with sharp" }
{}
{ "section1"
{ "test_bce" = "value"
{ "#comment" = "end of line comment" } }
{ "#comment" = "comment with colon" }
{}
{ "test_bce" } }
(* Group: TEST b/c/f *)
(* Variable: comment_bcf *)
let comment_bcf = IniFile.comment IniFile.comment_re IniFile.comment_default
(* Variable: sep_bcf *)
let sep_bcf = IniFile.sep "=" "="
(* Variable: entry_bcf *)
let entry_bcf = IniFile.entry IniFile.entry_re sep_bcf comment_bcf
(* Variable: title_bcf *)
let title_bcf = IniFile.title IniFile.record_re
(* Variable: record_bcf *)
let record_bcf = IniFile.record_noempty title_bce entry_bcf
(* Variable: lns_bcf *)
let lns_bcf = IniFile.lns_noempty record_bce comment_bcf
(* Variable: conf_bcf *)
let conf_bcf = "# conf with sharp
[section1]
test_bcf = value # end of line comment
; comment with colon
test_bcf =
"
(* Test: lns_bcf
Testing the b/c/f combination *)
test lns_bcf get conf_bcf =
{ "#comment" = "conf with sharp" }
{ "section1"
{ "test_bcf" = "value"
{ "#comment" = "end of line comment" } }
{ "#comment" = "comment with colon" }
{ "test_bcf" } }
(* Group: TEST b/d/e *)
(* Variable: comment_bde *)
let comment_bde = IniFile.comment ";" ";"
(* Variable: sep_bde *)
let sep_bde = IniFile.sep "=" "="
(* Variable: entry_bde *)
let entry_bde = IniFile.entry IniFile.entry_re sep_bde comment_bde
(* Variable: title_bde *)
let title_bde = IniFile.title IniFile.record_re
(* Variable: record_bde *)
let record_bde = IniFile.record title_bde entry_bde
(* Variable: lns_bde *)
let lns_bde = IniFile.lns record_bde comment_bde
(* Variable: conf_bde *)
let conf_bde = "; first comment with colon
[section1]
test_bde = value ; end of line comment
; comment with colon
test_bde =
"
(* Test: lns_bde
Testing the b/d/e combination *)
test lns_bde get conf_bde =
{ "#comment" = "first comment with colon" }
{}
{ "section1"
{ "test_bde" = "value"
{ "#comment" = "end of line comment" } }
{ "#comment" = "comment with colon" }
{}
{ "test_bde" } }
(* Group: TEST b/d/f *)
(* Variable: comment_bdf *)
let comment_bdf = IniFile.comment ";" ";"
(* Variable: sep_bdf *)
let sep_bdf = IniFile.sep "=" "="
(* Variable: entry_bdf *)
let entry_bdf = IniFile.entry IniFile.entry_re sep_bdf comment_bdf
(* Variable: title_bdf *)
let title_bdf = IniFile.title IniFile.record_re
(* Variable: record_bdf *)
let record_bdf = IniFile.record_noempty title_bdf entry_bdf
(* Variable: lns_bdf *)
let lns_bdf = IniFile.lns_noempty record_bdf comment_bdf
(* Variable: conf_bdf *)
let conf_bdf = "; first comment with colon
[section1]
test_bdf = value ; end of line comment
; comment with colon
test_bdf =
"
(* Test: lns_bdf
Testing the b/d/f combination *)
test lns_bdf get conf_bdf =
{ "#comment" = "first comment with colon" }
{ "section1"
{ "test_bdf" = "value"
{ "#comment" = "end of line comment" } }
{ "#comment" = "comment with colon" }
{ "test_bdf" } }
(* Group: TEST multiline values *)
(* Variable: multiline_test *)
let multiline_test = "test_ace = val1\n val2\n val3\n"
(* Variable: multiline_nl *)
let multiline_nl = "test_ace =\n val2\n val3\n"
(* Variable: multiline_ace *)
let multiline_ace = IniFile.entry_multiline IniFile.entry_re sep_ace comment_ace
(* Test: multiline_ace
Testing the a/c/e combination with a multiline entry *)
test multiline_ace get multiline_test =
{ "test_ace" = "val1\n val2\n val3" }
(* Test: multiline_nl
Multiline values can begin with a single newline *)
test multiline_ace get multiline_nl =
{ "test_ace" = "\n val2\n val3" }
(* Test: lns_ace
Ticket #243 *)
test lns_ace get "[section1]
ticket_243 = \"value1;value2#value3\" # end of line comment
" =
{ "section1"
{ "ticket_243" = "value1;value2#value3"
{ "#comment" = "end of line comment" }
}
}
(* Group: TEST list entries *)
(* Variable: list_test *)
let list_test = "test_ace = val1,val2,val3 # a comment\n"
(* Lens: list_ace *)
let list_ace = IniFile.entry_list IniFile.entry_re sep_ace RX.word Sep.comma comment_ace
(* Test: list_ace
Testing the a/c/e combination with a list entry *)
test list_ace get list_test =
{ "test_ace"
{ "1" = "val1" }
{ "2" = "val2" }
{ "3" = "val3" }
{ "#comment" = "a comment" }
}
(* Variable: list_nocomment_test *)
let list_nocomment_test = "test_ace = val1,val2,val3 \n"
(* Lens: list_nocomment_ace *)
let list_nocomment_ace = IniFile.entry_list_nocomment IniFile.entry_re sep_ace RX.word Sep.comma
(* Test: list_nocomment_ace
Testing the a/c/e combination with a list entry without end-of-line comment *)
test list_nocomment_ace get list_nocomment_test =
{ "test_ace"
{ "1" = "val1" }
{ "2" = "val2" }
{ "3" = "val3" }
}
(* Test: IniFile.lns_loose *)
test IniFile.lns_loose get conf_ace =
{ "section" = ".anon"
{ "#comment" = "comment with sharp" }
{ }
}
{ "section" = "section1"
{ "test_ace" = "value"
{ "#comment" = "end of line comment" }
}
{ "test_ace" }
{ "test_ace" = "value with spaces" }
{ "#comment" = "comment with colon" }
{ }
}
(* Test: IniFile.lns_loose_multiline *)
test IniFile.lns_loose_multiline get conf_ace =
{ "section" = ".anon"
{ "#comment" = "comment with sharp" }
{ }
}
{ "section" = "section1"
{ "test_ace" = "value"
{ "#comment" = "end of line comment" }
}
{ "test_ace" }
{ "test_ace" = "value with spaces" }
{ "#comment" = "comment with colon" }
{ }
}
test IniFile.lns_loose_multiline get multiline_test =
{ "section" = ".anon" { "test_ace" = "val1\n val2\n val3" } }
|