dfec67d12c9535f7ee9bd156b3ac1917d59ff7fa
[external/binutils.git] / gold / testsuite / dwp_test_1.sh
1 #!/bin/sh
2
3 # dwp_test_1.sh -- Test the dwp tool.
4
5 # Copyright (C) 2012-2015 Free Software Foundation, Inc.
6 # Written by Cary Coutant <ccoutant@google.com>.
7
8 # This file is part of gold.
9
10 # This program is free software; you can redistribute it and/or modify
11 # it under the terms of the GNU General Public License as published by
12 # the Free Software Foundation; either version 3 of the License, or
13 # (at your option) any later version.
14
15 # This program is distributed in the hope that it will be useful,
16 # but WITHOUT ANY WARRANTY; without even the implied warranty of
17 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
18 # GNU General Public License for more details.
19
20 # You should have received a copy of the GNU General Public License
21 # along with this program; if not, write to the Free Software
22 # Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston,
23 # MA 02110-1301, USA.
24
25 check()
26 {
27     if ! grep -q "$2" "$1"
28     then
29         echo "Did not find expected output:"
30         echo "   $2"
31         echo ""
32         echo "Actual error output below:"
33         cat "$1"
34         exit 1
35     fi
36 }
37
38 check_num()
39 {
40     n=$(grep -c "$2" "$1")
41     if test "$n" -ne "$3"
42     then
43         echo "Found $n occurrences (should find $3):"
44         echo "   $2"
45         echo ""
46         echo "Actual error output below:"
47         cat "$1"
48         exit 1
49     fi
50 }
51
52 STDOUT="dwp_test_1.stdout"
53
54 check $STDOUT "^Contents of the .debug_info.dwo section"
55 check_num $STDOUT "DW_TAG_compile_unit" 4
56 check_num $STDOUT "DW_TAG_type_unit" 3
57 check_num $STDOUT "DW_AT_name.*: C1" 3
58 check_num $STDOUT "DW_AT_name.*: C2" 2
59 check_num $STDOUT "DW_AT_name.*: C3" 3
60 check_num $STDOUT "DW_AT_name.*: testcase1" 6
61 check_num $STDOUT "DW_AT_name.*: testcase2" 6
62 check_num $STDOUT "DW_AT_name.*: testcase3" 6
63 check_num $STDOUT "DW_AT_name.*: testcase4" 4