1#! /bin/sh 2# Copyright (C) 2018 Red Hat, Inc. 3# This file is part of elfutils. 4# 5# This file is free software; you can redistribute it and/or modify 6# it under the terms of the GNU General Public License as published by 7# the Free Software Foundation; either version 3 of the License, or 8# (at your option) any later version. 9# 10# elfutils is distributed in the hope that it will be useful, but 11# WITHOUT ANY WARRANTY; without even the implied warranty of 12# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13# GNU General Public License for more details. 14# 15# You should have received a copy of the GNU General Public License 16# along with this program. If not, see <http://www.gnu.org/licenses/>. 17 18. $srcdir/test-subr.sh 19 20# See run-typeiter.sh 21testfiles testfile-debug-types 22 23testrun ${abs_builddir}/get-units-split testfile-debug-types 24 25# see run-readelf-dwz-multi.sh 26testfiles testfile_multi_main testfile_multi.dwz 27 28testrun ${abs_builddir}/get-units-split testfile_multi_main 29 30# see tests/run-dwflsyms.sh 31testfiles testfilebazdbgppc64.debug 32 33testrun ${abs_builddir}/get-units-split testfilebazdbgppc64.debug 34 35# see tests/testfile-dwarf-45.source 36testfiles testfile-dwarf-4 testfile-dwarf-5 37testfiles testfile-splitdwarf-4 testfile-hello4.dwo testfile-world4.dwo 38testfiles testfile-splitdwarf-5 testfile-hello5.dwo testfile-world5.dwo 39 40testrun ${abs_builddir}/get-units-split testfile-dwarf-4 41testrun ${abs_builddir}/get-units-split testfile-dwarf-5 42 43# These two files are the only ones that actually have skeleton units. 44testrun_compare ${abs_builddir}/get-units-split testfile-splitdwarf-4 << \EOF 45file: testfile-splitdwarf-4 46Got cudie unit_type: 4 47Found a skeleton unit, with split die: hello.c 48Got cudie unit_type: 4 49Found a skeleton unit, with split die: world.c 50 51EOF 52 53testrun_compare ${abs_builddir}/get-units-split testfile-splitdwarf-5 << \EOF 54file: testfile-splitdwarf-5 55Got cudie unit_type: 4 56Found a skeleton unit, with split die: hello.c 57Got cudie unit_type: 4 58Found a skeleton unit, with split die: world.c 59 60EOF 61 62# Self test (Not on obj files since those need relocation first). 63testrun_on_self_exe ${abs_builddir}/get-units-split 64testrun_on_self_lib ${abs_builddir}/get-units-split 65 66# See testfile-dwp.source. 67testfiles testfile-dwp-5 testfile-dwp-5.dwp 68testfiles testfile-dwp-4 testfile-dwp-4.dwp 69testfiles testfile-dwp-4-strict testfile-dwp-4-strict.dwp 70 71for file in testfile-dwp-5 testfile-dwp-4 testfile-dwp-4-strict; do 72 testrun_compare ${abs_builddir}/get-units-split "$file" << EOF 73file: $file 74Got cudie unit_type: 4 75Found a skeleton unit, with split die: foo.cc 76Got cudie unit_type: 4 77Found a skeleton unit, with split die: bar.cc 78Got cudie unit_type: 4 79Found a skeleton unit, with split die: main.cc 80 81EOF 82done 83 84exit 0 85