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.
138 lines
2.7 KiB
138 lines
2.7 KiB
trees = static_library('trees', files('trees.S'), c_args: '-D__ASSEMBLY__', |
|
include_directories: libfdt_inc) |
|
|
|
dumptrees = executable('dumptrees', files('dumptrees.c'), |
|
link_with: trees, dependencies: libfdt_dep) |
|
|
|
dumptrees_dtb = custom_target( |
|
'dumptrees', |
|
command: [dumptrees, meson.current_build_dir()], |
|
output: [ |
|
'test_tree1.dtb', |
|
'bad_node_char.dtb', |
|
'bad_node_format.dtb', |
|
'bad_prop_char.dtb', |
|
'ovf_size_strings.dtb', |
|
'truncated_property.dtb', |
|
'truncated_string.dtb', |
|
'truncated_memrsv.dtb', |
|
] |
|
) |
|
|
|
testutil_dep = declare_dependency(sources: ['testutils.c'], link_with: trees) |
|
|
|
tests = [ |
|
'add_subnode_with_nops', |
|
'addr_size_cells', |
|
'addr_size_cells2', |
|
'appendprop1', |
|
'appendprop2', |
|
'appendprop_addrrange', |
|
'boot-cpuid', |
|
'char_literal', |
|
'check_full', |
|
'check_header', |
|
'check_path', |
|
'del_node', |
|
'del_property', |
|
'dtb_reverse', |
|
'dtbs_equal_ordered', |
|
'dtbs_equal_unordered', |
|
'extra-terminating-null', |
|
'find_property', |
|
'fs_tree1', |
|
'get_alias', |
|
'get_mem_rsv', |
|
'get_name', |
|
'get_path', |
|
'get_phandle', |
|
'get_prop_offset', |
|
'get_next_tag_invalid_prop_len', |
|
'getprop', |
|
'incbin', |
|
'integer-expressions', |
|
'mangle-layout', |
|
'move_and_save', |
|
'node_check_compatible', |
|
'node_offset_by_compatible', |
|
'node_offset_by_phandle', |
|
'node_offset_by_prop_value', |
|
'nop_node', |
|
'nop_property', |
|
'nopulate', |
|
'notfound', |
|
'open_pack', |
|
'overlay', |
|
'overlay_bad_fixup', |
|
'parent_offset', |
|
'path-references', |
|
'path_offset', |
|
'path_offset_aliases', |
|
'phandle_format', |
|
'property_iterate', |
|
'propname_escapes', |
|
'references', |
|
'relref_merge', |
|
'root_node', |
|
'rw_oom', |
|
'rw_tree1', |
|
'set_name', |
|
'setprop', |
|
'setprop_inplace', |
|
'sized_cells', |
|
'string_escapes', |
|
'stringlist', |
|
'subnode_iterate', |
|
'subnode_offset', |
|
'supernode_atdepth_offset', |
|
'sw_states', |
|
'sw_tree1', |
|
'utilfdt_test', |
|
] |
|
|
|
tests += [ |
|
'truncated_memrsv', |
|
'truncated_property', |
|
'truncated_string', |
|
] |
|
|
|
dl = cc.find_library('dl', required: false) |
|
if dl.found() and not static_build |
|
tests += [ |
|
'asm_tree_dump', |
|
'value-labels', |
|
] |
|
endif |
|
|
|
test_deps = [testutil_dep, util_dep, libfdt_dep] |
|
if not static_build |
|
test_deps += [dl] |
|
endif |
|
|
|
foreach t: tests |
|
executable(t, files(t + '.c'), dependencies: test_deps, link_args: extra_link_args) |
|
endforeach |
|
|
|
run_tests = find_program('run_tests.sh') |
|
|
|
env = [] |
|
if not py.found() |
|
env += 'NO_PYTHON=1' |
|
else |
|
env += [ |
|
'PYTHON=' + py.path(), |
|
'PYTHONPATH=' + meson.source_root() / 'pylibfdt', |
|
] |
|
endif |
|
if not yaml.found() |
|
env += 'NO_YAML=1' |
|
endif |
|
|
|
test( |
|
'run-test', |
|
run_tests, |
|
workdir: meson.current_build_dir(), |
|
depends: dumptrees_dtb, |
|
env: env, |
|
timeout: 1800, # mostly for valgrind |
|
)
|
|
|