99 lines
2.1 KiB
Meson
99 lines
2.1 KiB
Meson
# SPDX-License-Identifier: GPL-2.0-or-later
|
|
|
|
infra = [
|
|
'config.json',
|
|
'nvme_test.py',
|
|
'nvme_test_io.py',
|
|
'nvme_test_logger.py',
|
|
'nvme_simple_template_test.py',
|
|
]
|
|
|
|
tests = [
|
|
'nvme_attach_detach_ns_test.py',
|
|
'nvme_compare_test.py',
|
|
'nvme_create_max_ns_test.py',
|
|
'nvme_error_log_test.py',
|
|
'nvme_flush_test.py',
|
|
'nvme_format_test.py',
|
|
'nvme_fw_log_test.py',
|
|
'nvme_get_features_test.py',
|
|
'nvme_id_ctrl_test.py',
|
|
'nvme_id_ns_test.py',
|
|
'nvme_read_write_test.py',
|
|
'nvme_smart_log_test.py',
|
|
'nvme_writeuncor_test.py',
|
|
'nvme_writezeros_test.py',
|
|
'nvme_copy_test.py',
|
|
'nvme_dsm_test.py',
|
|
'nvme_verify_test.py',
|
|
'nvme_lba_status_log_test.py',
|
|
'nvme_get_lba_status_test.py',
|
|
'nvme_ctrl_reset_test.py',
|
|
]
|
|
|
|
runtests = find_program('nose2', required : false)
|
|
|
|
if meson.version().version_compare('>= 0.56')
|
|
nvmecli_path = meson.project_build_root()
|
|
else
|
|
nvmecli_path = meson.build_root()
|
|
endif
|
|
|
|
if runtests.found()
|
|
foreach file : infra + tests
|
|
configure_file(
|
|
input: file,
|
|
output: file,
|
|
copy: true)
|
|
endforeach
|
|
|
|
foreach t : tests
|
|
t_name = t.split('.')[0]
|
|
test(t_name, runtests,
|
|
args: ['--verbose', '--start-dir', meson.current_build_dir(), t_name],
|
|
env: ['PATH=' + nvmecli_path + ':/usr/bin:/usr/sbin'],
|
|
timeout: 500)
|
|
endforeach
|
|
endif
|
|
|
|
python_module = import('python')
|
|
|
|
python = python_module.find_installation('python3')
|
|
|
|
mypy = find_program(
|
|
'mypy',
|
|
required : false,
|
|
)
|
|
flake8 = find_program(
|
|
'flake8',
|
|
required : false,
|
|
)
|
|
linter_script = files('run_py_linters.py')
|
|
|
|
if mypy.found() and flake8.found()
|
|
run_target(
|
|
'lint-python',
|
|
command : [python, linter_script, 'lint'],
|
|
)
|
|
else
|
|
message('Mypy or Flake8 not found. Python linting disabled')
|
|
endif
|
|
|
|
|
|
autopep8 = find_program(
|
|
'autopep8',
|
|
required : false,
|
|
)
|
|
isort = find_program(
|
|
'isort',
|
|
required : false,
|
|
)
|
|
|
|
if autopep8.found() and isort.found()
|
|
run_target(
|
|
'format-python',
|
|
command : [python, linter_script, 'format'],
|
|
)
|
|
else
|
|
message('autopep8 or isort not found. Python formatting disabled')
|
|
endif
|