OLD | NEW |
1 # Copyright 2009-2012 Free Software Foundation, Inc. | 1 # Copyright 2009-2012 Free Software Foundation, Inc. |
2 | 2 |
3 # This program is free software; you can redistribute it and/or modify | 3 # This program is free software; you can redistribute it and/or modify |
4 # it under the terms of the GNU General Public License as published by | 4 # it under the terms of the GNU General Public License as published by |
5 # the Free Software Foundation; either version 3 of the License, or | 5 # the Free Software Foundation; either version 3 of the License, or |
6 # (at your option) any later version. | 6 # (at your option) any later version. |
7 # | 7 # |
8 # This program is distributed in the hope that it will be useful, | 8 # This program is distributed in the hope that it will be useful, |
9 # but WITHOUT ANY WARRANTY; without even the implied warranty of | 9 # but WITHOUT ANY WARRANTY; without even the implied warranty of |
10 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | 10 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
(...skipping 31 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
42 } | 42 } |
43 if {[string length $failed] != 0} { | 43 if {[string length $failed] != 0} { |
44 fail "$name ($failed not found)" | 44 fail "$name ($failed not found)" |
45 } else { | 45 } else { |
46 pass $name | 46 pass $name |
47 } | 47 } |
48 } | 48 } |
49 } | 49 } |
50 } | 50 } |
51 | 51 |
52 if $tracelevel then { | |
53 strace $tracelevel | |
54 } | |
55 | |
56 if { [skip_cplus_tests] } { continue } | 52 if { [skip_cplus_tests] } { continue } |
57 | 53 |
58 set testfile pr9594 | 54 standard_testfile pr9594.cc |
59 set binfile ${objdir}/${subdir}/${testfile} | |
60 | 55 |
61 if {[gdb_compile "${srcdir}/${subdir}/${testfile}.cc" "${testfile}.o" object {c+
+ debug}] != ""} { | 56 if {[prepare_for_testing $testfile.exp $testfile $srcfile {debug c++}]} { |
62 untested cpcompletion.exp | |
63 return -1 | 57 return -1 |
64 } | 58 } |
65 | 59 |
66 if {[gdb_compile "${testfile}.o" ${binfile} executable {c++ debug}] != "" } { | |
67 untested cpcompletion.exp | |
68 return -1 | |
69 } | |
70 | |
71 gdb_exit | |
72 | |
73 gdb_start | |
74 gdb_reinitialize_dir $srcdir/$subdir | |
75 gdb_load ${binfile} | |
76 | |
77 # Test that completion is restricted by class name (all methods) | 60 # Test that completion is restricted by class name (all methods) |
78 test_class_complete Foo "" "complete class methods" \ | 61 test_class_complete Foo "" "complete class methods" \ |
79 [list Foo Foofoo get_foo set_foo ~Foo] | 62 [list Foo Foofoo get_foo set_foo ~Foo] |
80 | 63 |
81 test_class_complete Foo F "complete class methods beginning with F" \ | 64 test_class_complete Foo F "complete class methods beginning with F" \ |
82 [list Foo Foofoo] | 65 [list Foo Foofoo] |
83 | 66 |
84 # The tests below depend on the current code scope. | 67 # The tests below depend on the current code scope. |
85 | 68 |
86 set bp_location [gdb_get_line_number "Set breakpoint here" ${testfile}.cc] | 69 set bp_location [gdb_get_line_number "Set breakpoint here" ${srcfile}] |
87 | 70 |
88 if {![runto "${testfile}.cc:$bp_location"]} { | 71 if {![runto "${srcfile}:$bp_location"]} { |
89 perror "test suppressed" | 72 perror "test suppressed" |
90 return | 73 return |
91 } | 74 } |
92 | 75 |
93 # This also tests inheritance -- completion should only see a single | 76 # This also tests inheritance -- completion should only see a single |
94 # "get_foo". | 77 # "get_foo". |
95 gdb_test "complete p foo1.g" "p foo1\\.get_foo" | 78 gdb_test "complete p foo1.g" "p foo1\\.get_foo" |
96 | 79 |
97 # Test inheritance without overriding. | 80 # Test inheritance without overriding. |
98 gdb_test "complete p foo1.base" "p foo1\\.base_function_only" | 81 gdb_test "complete p foo1.base" "p foo1\\.base_function_only" |
99 | 82 |
100 # Test non-completion of constructor names. | 83 # Test non-completion of constructor names. |
101 gdb_test "complete p foo1.Fo" "p foo1\\.Foofoo" | 84 gdb_test "complete p foo1.Fo" "p foo1\\.Foofoo" |
102 | 85 |
103 # Test completion with an anonymous struct. | 86 # Test completion with an anonymous struct. |
104 gdb_test "complete p a.g" "p a\\.get" | 87 gdb_test "complete p a.g" "p a\\.get" |
OLD | NEW |