xref: /aosp_15_r20/external/dtc/tests/meson.build (revision cd60bc56d4bea3af4ec04523e4d71c2b272c8aff)
1*cd60bc56SAndroid Build Coastguard Workertrees = static_library('trees', files('trees.S'), c_args: '-D__ASSEMBLY__',
2*cd60bc56SAndroid Build Coastguard Worker                       include_directories: libfdt_inc)
3*cd60bc56SAndroid Build Coastguard Worker
4*cd60bc56SAndroid Build Coastguard Workerdumptrees = executable('dumptrees', files('dumptrees.c'),
5*cd60bc56SAndroid Build Coastguard Worker                       link_with: trees, dependencies: libfdt_dep)
6*cd60bc56SAndroid Build Coastguard Worker
7*cd60bc56SAndroid Build Coastguard Workerdumptrees_dtb = custom_target(
8*cd60bc56SAndroid Build Coastguard Worker  'dumptrees',
9*cd60bc56SAndroid Build Coastguard Worker  command: [dumptrees, meson.current_build_dir()],
10*cd60bc56SAndroid Build Coastguard Worker  output: [
11*cd60bc56SAndroid Build Coastguard Worker    'test_tree1.dtb',
12*cd60bc56SAndroid Build Coastguard Worker    'bad_node_char.dtb',
13*cd60bc56SAndroid Build Coastguard Worker    'bad_node_format.dtb',
14*cd60bc56SAndroid Build Coastguard Worker    'bad_prop_char.dtb',
15*cd60bc56SAndroid Build Coastguard Worker    'ovf_size_strings.dtb',
16*cd60bc56SAndroid Build Coastguard Worker    'truncated_property.dtb',
17*cd60bc56SAndroid Build Coastguard Worker    'truncated_string.dtb',
18*cd60bc56SAndroid Build Coastguard Worker    'truncated_memrsv.dtb',
19*cd60bc56SAndroid Build Coastguard Worker  ]
20*cd60bc56SAndroid Build Coastguard Worker)
21*cd60bc56SAndroid Build Coastguard Worker
22*cd60bc56SAndroid Build Coastguard Workertestutil_dep = declare_dependency(sources: ['testutils.c'], link_with: trees)
23*cd60bc56SAndroid Build Coastguard Worker
24*cd60bc56SAndroid Build Coastguard Workertests = [
25*cd60bc56SAndroid Build Coastguard Worker  'add_subnode_with_nops',
26*cd60bc56SAndroid Build Coastguard Worker  'addr_size_cells',
27*cd60bc56SAndroid Build Coastguard Worker  'addr_size_cells2',
28*cd60bc56SAndroid Build Coastguard Worker  'appendprop1',
29*cd60bc56SAndroid Build Coastguard Worker  'appendprop2',
30*cd60bc56SAndroid Build Coastguard Worker  'appendprop_addrrange',
31*cd60bc56SAndroid Build Coastguard Worker  'boot-cpuid',
32*cd60bc56SAndroid Build Coastguard Worker  'char_literal',
33*cd60bc56SAndroid Build Coastguard Worker  'check_full',
34*cd60bc56SAndroid Build Coastguard Worker  'check_header',
35*cd60bc56SAndroid Build Coastguard Worker  'check_path',
36*cd60bc56SAndroid Build Coastguard Worker  'del_node',
37*cd60bc56SAndroid Build Coastguard Worker  'del_property',
38*cd60bc56SAndroid Build Coastguard Worker  'dtb_reverse',
39*cd60bc56SAndroid Build Coastguard Worker  'dtbs_equal_ordered',
40*cd60bc56SAndroid Build Coastguard Worker  'dtbs_equal_unordered',
41*cd60bc56SAndroid Build Coastguard Worker  'extra-terminating-null',
42*cd60bc56SAndroid Build Coastguard Worker  'find_property',
43*cd60bc56SAndroid Build Coastguard Worker  'fs_tree1',
44*cd60bc56SAndroid Build Coastguard Worker  'get_alias',
45*cd60bc56SAndroid Build Coastguard Worker  'get_mem_rsv',
46*cd60bc56SAndroid Build Coastguard Worker  'get_name',
47*cd60bc56SAndroid Build Coastguard Worker  'get_path',
48*cd60bc56SAndroid Build Coastguard Worker  'get_phandle',
49*cd60bc56SAndroid Build Coastguard Worker  'get_prop_offset',
50*cd60bc56SAndroid Build Coastguard Worker  'get_next_tag_invalid_prop_len',
51*cd60bc56SAndroid Build Coastguard Worker  'getprop',
52*cd60bc56SAndroid Build Coastguard Worker  'incbin',
53*cd60bc56SAndroid Build Coastguard Worker  'integer-expressions',
54*cd60bc56SAndroid Build Coastguard Worker  'mangle-layout',
55*cd60bc56SAndroid Build Coastguard Worker  'move_and_save',
56*cd60bc56SAndroid Build Coastguard Worker  'node_check_compatible',
57*cd60bc56SAndroid Build Coastguard Worker  'node_offset_by_compatible',
58*cd60bc56SAndroid Build Coastguard Worker  'node_offset_by_phandle',
59*cd60bc56SAndroid Build Coastguard Worker  'node_offset_by_prop_value',
60*cd60bc56SAndroid Build Coastguard Worker  'nop_node',
61*cd60bc56SAndroid Build Coastguard Worker  'nop_property',
62*cd60bc56SAndroid Build Coastguard Worker  'nopulate',
63*cd60bc56SAndroid Build Coastguard Worker  'notfound',
64*cd60bc56SAndroid Build Coastguard Worker  'open_pack',
65*cd60bc56SAndroid Build Coastguard Worker  'overlay',
66*cd60bc56SAndroid Build Coastguard Worker  'overlay_bad_fixup',
67*cd60bc56SAndroid Build Coastguard Worker  'parent_offset',
68*cd60bc56SAndroid Build Coastguard Worker  'path-references',
69*cd60bc56SAndroid Build Coastguard Worker  'path_offset',
70*cd60bc56SAndroid Build Coastguard Worker  'path_offset_aliases',
71*cd60bc56SAndroid Build Coastguard Worker  'phandle_format',
72*cd60bc56SAndroid Build Coastguard Worker  'property_iterate',
73*cd60bc56SAndroid Build Coastguard Worker  'propname_escapes',
74*cd60bc56SAndroid Build Coastguard Worker  'references',
75*cd60bc56SAndroid Build Coastguard Worker  'relref_merge',
76*cd60bc56SAndroid Build Coastguard Worker  'root_node',
77*cd60bc56SAndroid Build Coastguard Worker  'rw_oom',
78*cd60bc56SAndroid Build Coastguard Worker  'rw_tree1',
79*cd60bc56SAndroid Build Coastguard Worker  'set_name',
80*cd60bc56SAndroid Build Coastguard Worker  'setprop',
81*cd60bc56SAndroid Build Coastguard Worker  'setprop_inplace',
82*cd60bc56SAndroid Build Coastguard Worker  'sized_cells',
83*cd60bc56SAndroid Build Coastguard Worker  'string_escapes',
84*cd60bc56SAndroid Build Coastguard Worker  'stringlist',
85*cd60bc56SAndroid Build Coastguard Worker  'subnode_iterate',
86*cd60bc56SAndroid Build Coastguard Worker  'subnode_offset',
87*cd60bc56SAndroid Build Coastguard Worker  'supernode_atdepth_offset',
88*cd60bc56SAndroid Build Coastguard Worker  'sw_states',
89*cd60bc56SAndroid Build Coastguard Worker  'sw_tree1',
90*cd60bc56SAndroid Build Coastguard Worker  'utilfdt_test',
91*cd60bc56SAndroid Build Coastguard Worker]
92*cd60bc56SAndroid Build Coastguard Worker
93*cd60bc56SAndroid Build Coastguard Workertests += [
94*cd60bc56SAndroid Build Coastguard Worker  'truncated_memrsv',
95*cd60bc56SAndroid Build Coastguard Worker  'truncated_property',
96*cd60bc56SAndroid Build Coastguard Worker  'truncated_string',
97*cd60bc56SAndroid Build Coastguard Worker]
98*cd60bc56SAndroid Build Coastguard Worker
99*cd60bc56SAndroid Build Coastguard Workerdl = cc.find_library('dl', required: false)
100*cd60bc56SAndroid Build Coastguard Workerif dl.found() and not static_build
101*cd60bc56SAndroid Build Coastguard Worker  tests += [
102*cd60bc56SAndroid Build Coastguard Worker    'asm_tree_dump',
103*cd60bc56SAndroid Build Coastguard Worker    'value-labels',
104*cd60bc56SAndroid Build Coastguard Worker  ]
105*cd60bc56SAndroid Build Coastguard Workerendif
106*cd60bc56SAndroid Build Coastguard Worker
107*cd60bc56SAndroid Build Coastguard Workertest_deps = [testutil_dep, util_dep, libfdt_dep]
108*cd60bc56SAndroid Build Coastguard Workerif not static_build
109*cd60bc56SAndroid Build Coastguard Worker  test_deps += [dl]
110*cd60bc56SAndroid Build Coastguard Workerendif
111*cd60bc56SAndroid Build Coastguard Worker
112*cd60bc56SAndroid Build Coastguard Workerforeach t: tests
113*cd60bc56SAndroid Build Coastguard Worker  executable(t, files(t + '.c'), dependencies: test_deps, link_args: extra_link_args)
114*cd60bc56SAndroid Build Coastguard Workerendforeach
115*cd60bc56SAndroid Build Coastguard Worker
116*cd60bc56SAndroid Build Coastguard Workerrun_tests = find_program('run_tests.sh')
117*cd60bc56SAndroid Build Coastguard Worker
118*cd60bc56SAndroid Build Coastguard Workerenv = []
119*cd60bc56SAndroid Build Coastguard Workerif not py.found()
120*cd60bc56SAndroid Build Coastguard Worker  env += 'NO_PYTHON=1'
121*cd60bc56SAndroid Build Coastguard Workerelse
122*cd60bc56SAndroid Build Coastguard Worker  env += [
123*cd60bc56SAndroid Build Coastguard Worker    'PYTHON=' + py.path(),
124*cd60bc56SAndroid Build Coastguard Worker    'PYTHONPATH=' + meson.source_root() / 'pylibfdt',
125*cd60bc56SAndroid Build Coastguard Worker  ]
126*cd60bc56SAndroid Build Coastguard Workerendif
127*cd60bc56SAndroid Build Coastguard Workerif not yaml.found()
128*cd60bc56SAndroid Build Coastguard Worker  env += 'NO_YAML=1'
129*cd60bc56SAndroid Build Coastguard Workerendif
130*cd60bc56SAndroid Build Coastguard Worker
131*cd60bc56SAndroid Build Coastguard Workertest(
132*cd60bc56SAndroid Build Coastguard Worker  'run-test',
133*cd60bc56SAndroid Build Coastguard Worker  run_tests,
134*cd60bc56SAndroid Build Coastguard Worker  workdir: meson.current_build_dir(),
135*cd60bc56SAndroid Build Coastguard Worker  depends: dumptrees_dtb,
136*cd60bc56SAndroid Build Coastguard Worker  env: env,
137*cd60bc56SAndroid Build Coastguard Worker  timeout: 1800, # mostly for valgrind
138*cd60bc56SAndroid Build Coastguard Worker)
139