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