The Meson Build System
http://mesonbuild.com/
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
38 lines
1.4 KiB
38 lines
1.4 KiB
project('fs module test') |
|
|
|
is_windows = build_machine.system() == 'windows' |
|
|
|
fs = import('fs') |
|
|
|
assert(fs.exists('meson.build'), 'Existing file reported as missing.') |
|
assert(not fs.exists('nonexisting'), 'Nonexisting file was found.') |
|
|
|
if not is_windows and build_machine.system() != 'cygwin' |
|
assert(fs.is_symlink('a_symlink'), 'Symlink not detected.') |
|
assert(not fs.is_symlink('meson.build'), 'Regular file detected as symlink.') |
|
endif |
|
|
|
assert(fs.is_file('meson.build'), 'File not detected as a file.') |
|
assert(not fs.is_file('subprojects'), 'Directory detected as a file.') |
|
assert(not fs.is_file('nonexisting'), 'Bad path detected as a file.') |
|
|
|
assert(fs.is_dir('subprojects'), 'Dir not detected correctly.') |
|
assert(not fs.is_dir('meson.build'), 'File detected as a dir.') |
|
assert(not fs.is_dir('nonexisting'), 'Bad path detected as a dir.') |
|
|
|
assert(fs.is_dir('~'), 'expanduser not working') |
|
assert(not fs.is_file('~'), 'expanduser not working') |
|
|
|
original = 'foo.txt' |
|
new = fs.with_suffix(original, '.ini') |
|
assert(new.endswith('foo.ini') and not new.contains('.txt'), 'with_suffix failed') |
|
|
|
# `/` on windows is interpreted like `.drive` which in general may not be `c:/` |
|
# the files need not exist for fs.with_suffix() |
|
original = is_windows ? 'j:/foo/bar.txt' : '/foo/bar.txt' |
|
new_check = is_windows ? 'j:\\foo\\bar.ini' : '/foo/bar.ini' |
|
|
|
new = fs.with_suffix(original, '.ini') |
|
assert(new == new_check, 'absolute path with_suffix failed') |
|
|
|
subdir('subdir')
|
|
|