aboutsummaryrefslogtreecommitdiff
path: root/tests/meson.build
diff options
context:
space:
mode:
Diffstat (limited to 'tests/meson.build')
-rw-r--r--tests/meson.build137
1 files changed, 137 insertions, 0 deletions
diff --git a/tests/meson.build b/tests/meson.build
new file mode 100644
index 0000000..4ac154a
--- /dev/null
+++ b/tests/meson.build
@@ -0,0 +1,137 @@
+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',
+ '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
+)