+
+ * gdbint.texinfo (Testsuite): Describe KFAIL and XFAIL in Writing
+ tests.
+
* gdb.texinfo (Server): Document -/stdio argument to gdbserver.
never manifest themselves if the programs used GNU coding style
uniformly.
+Some testcase results need more detailed explanation:
+
+@table @code
+@item KFAIL
+Known problem of @value{GDBN} itself. You must specify the @value{GDBN} bug
+report number like in these sample tests:
+@smallexample
+kfail "gdb/13392" "continue to marker 2"
+@end smallexample
+or
+@smallexample
+setup_kfail gdb/13392 "*-*-*"
+kfail "continue to marker 2"
+@end smallexample
+
+@item XFAIL
+Known problem of environment. This typically includes @value{NGCC} but it
+includes also many other system components which cannot be fixed in the
+@value{GDBN} project. Sample test with sanity check not knowing the specific
+cause of the problem:
+@smallexample
+# On x86_64 it is commonly about 4MB.
+if @{$stub_size > 25000000@} @{
+ xfail "stub size $stub_size is too large"
+ return
+@}
+@end smallexample
+
+You should provide bug report number for the failing component of the
+environment, if such bug report is available:
+@smallexample
+if @{[test_compiler_info @{gcc-[0-3]-*@}]
+ || [test_compiler_info @{gcc-4-[0-5]-*@}]@} @{
+ setup_xfail "gcc/46955" *-*-*
+@}
+gdb_test "python print ttype.template_argument(2)" "&C::c"
+@end smallexample
+@end table
+
@node Hints
@chapter Hints
+
+ * gdb.cp/ptype-cv-cp.exp (ptype v_volatile_const_my_int): Replace KFAIL
+ by XFAIL.
+ * gdb.cp/static-method.exp (info addr A::func())
+ (list static-method.cc:xxx::(anonymous namespace)::A::func)
+ (list 'static-method.cc:xxx::(anonymous namespace)::A::func')
+ (list 'static-method.cc':'xxx::(anonymous namespace)::A::func')
+ (list static-method.cc:'xxx::(anonymous namespace)::A::func'): Likewise.
+ * gdb.cp/temargs.exp (test value of F in k2_m, test type of F in k3_m)
+ (test value of F in k3_m): Likewise.
+ * gdb.python/py-type.exp (python print ttype.template_argument(2)):
+ Likewise.
+
* gdb.threads/attach-stopped.exp (continue (*: attach2 continue))
gdb_test "ptype v_const_volatile_my_int" "type = const volatile int"
gdb_test "whatis v_volatile_const_my_int" "type = volatile_const_my_int"
-setup_kfail "gcc/45997" *-*-*
+setup_xfail "gcc/45997" "*-*-*"
gdb_test "ptype v_volatile_const_my_int" "type = const volatile int"
pass $test
}
-re "Symbol \"A::func\\(\\)\" is a function at address .*\r\n$gdb_prompt $" {
- kfail gcc/45682 $test
+ setup_xfail gcc/45682 "*-*-*"
+ fail $test
set have_gcc_45682_fixed 0
}
}
# with the filename pre-pended.
if {[string compare $test "xxx::${ans}::A::func"] == 0
&& !$have_gcc_45682_fixed} {
- setup_kfail gcc/45682 "*-*-*"
+ setup_xfail gcc/45682 "*-*-*"
}
gdb_test "list ${srcfile}:$test" $result
if {[string compare $test "xxx::${ans}::A::func"] == 0
&& !$have_gcc_45682_fixed} {
- setup_kfail gcc/45682 "*-*-*"
+ setup_xfail gcc/45682 "*-*-*"
}
gdb_test "list '${srcfile}:$test'" $result
if {[string compare $test "xxx::${ans}::A::func"] == 0
&& !$have_gcc_45682_fixed} {
- setup_kfail gcc/45682 "*-*-*"
+ setup_xfail gcc/45682 "*-*-*"
}
gdb_test "list '${srcfile}':'$test'" $result
if {[string compare $test "xxx::${ans}::A::func"] == 0
&& !$have_gcc_45682_fixed} {
- setup_kfail gcc/45682 "*-*-*"
+ setup_xfail gcc/45682 "*-*-*"
}
gdb_test "list ${srcfile}:'$test'" $result
gdb_test "ptype F" "type = void \\\(S::\\\*\\\)\\\(S \\\* const\\\)" \
"test type of F in k2_m"
-setup_kfail gcc/49366 "*-*-*"
+setup_xfail gcc/49366 "*-*-*"
gdb_test "print F" "&S::somefunc" "test value of F in k2_m"
#
gdb_continue_to_breakpoint "continue to sixth breakpoint for temargs"
if $have_older_template_gcc { setup_xfail "*-*-*"
-} else { setup_kfail gcc/49546 "*-*-*" }
+} else { setup_xfail gcc/49546 "*-*-*" }
gdb_test "ptype F" {type = void \(\*\)\(int\)} "test type of F in k3_m"
if $have_older_template_gcc { setup_xfail "*-*-*"
-} else { setup_kfail gcc/49546 "*-*-*" }
+} else { setup_xfail gcc/49546 "*-*-*" }
gdb_test "print F" { = \(void \(\*\)\(int\)\) 0x[0-9a-f]+ <S3::m\(int\)>} \
"test value of F in k3_m"
gdb_test "python print isinstance(ttype.template_argument(1), gdb.Value)" \
"True"
- setup_kfail "gcc/41736" *-*-*
+ setup_xfail "gcc/41736" *-*-*
gdb_test "python print ttype.template_argument(2)" "&C::c"
}