LLVM Bugzilla is read-only and represents the historical archive of all LLVM issues filled before November 26, 2021. Use github to submit LLVM bugs

Bug 14395 - XFAIL/cleanup failing tests in GDB 7.5 suite/buildbot
Summary: XFAIL/cleanup failing tests in GDB 7.5 suite/buildbot
Status: RESOLVED FIXED
Alias: None
Product: clang
Classification: Unclassified
Component: -New Bugs (show other bugs)
Version: trunk
Hardware: PC Linux
: P enhancement
Assignee: David Blaikie
URL:
Keywords: googler
Depends on: 14553 14563 14605 14569 14767
Blocks: 14330
  Show dependency tree
 
Reported: 2012-11-20 16:32 PST by David Blaikie
Modified: 2014-09-16 11:45 PDT (History)
2 users (show)

See Also:
Fixed By Commit(s):


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description David Blaikie 2012-11-20 16:32:51 PST
Tracking cleanup work to baseline the GDB 7.5 test suite by xfailing & otherwise fixing up the tests.

(during & after this is resolved I'll be going back over the xfails & filing bugs for them)
Comment 1 David Blaikie 2012-11-20 16:34:07 PST
* r168386 - add clang version check support
* r168386 - xfail testsuite/gdb.base/included.exp due to PR14394
Comment 2 David Blaikie 2012-12-05 21:53:25 PST
Add libexpat1-dev to test machines for a little more coverage. +64 passes (on local bots, the public bot already had this which is where I saw the discrepancy)
Comment 3 David Blaikie 2012-12-05 22:10:49 PST
Fix applied in r169304 added about 7k new passes.
Comment 4 David Blaikie 2012-12-06 01:51:48 PST
> Fix applied in r169304 added about 7k new passes.

another 2262 with r169476 containing a few others I failed to re-enable.
Comment 5 David Blaikie 2012-12-06 13:35:27 PST
r169537:

blaikie@blaikie:~/local/Development/clang-tests-external/src/gdb/7.5/gdb/testsuite$ svn commit

Fix gdb.python/py-prettyprint.exp

1) The test relied on an unused static function (Clang does not emit those,
even in debug builds). Mark it as  __attribute__((used))
2) The test relied on the order GDB printed locals in. While GCC compliing as
C seems to produce debug info that allows GDB to print these in declaration
order I couldn't divine any particular logic to this and GCC compiling in C++
mode produced similarly (to clang) differently ordered printing so I'm
assuming this is luck rather than good management.

+66 passing tests for our bots.

(Eric - if you think either of these are bug-worthy, feel free to file or let me know)
Comment 6 David Blaikie 2012-12-08 12:37:28 PST
+61 passes in gdb.arch/amd64-byte.exp with r169680
Comment 7 David Blaikie 2012-12-08 12:41:05 PST
(In reply to comment #6)
> +61 passes in gdb.arch/amd64-byte.exp with r169680

& another 98 from gdb.arch/amd64-word.exp and gdb.arch/amd64-dword.exp in r169681
Comment 8 David Blaikie 2012-12-09 12:04:19 PST
Enable gdb.base/whatis.exp after marking a variable as __attribute__((used)) to ensure debug info for its type is emitted. +98 passes
Comment 9 David Blaikie 2012-12-09 12:53:25 PST
Enable gdb.python/lib-types.exp in r169708, +42 passes.

The test case boils down to:
  typedef int& foo;
  foo f;
GCC debug info causes GDB to respond to "whatis f" with "const foo" which seems strange/bogus (if you drop the typedef, GDB responds with "int&" which makes sense). So I've made the text flexible (allow the const to be omitted) to allow for Clang's debug info which gives the type "foo" which seems more reasonable.
Comment 10 David Blaikie 2012-12-10 16:44:06 PST
Enable gdb.base/watchpoint.exp in r169782, +261 passes.

(filed PR14566 for a suppression there)
Comment 11 David Blaikie 2012-12-10 16:48:45 PST
Enable gdb.base/list.exp in r169784, +60 passes.

(another case of unused things being elided by Clang but the GDB test suite testing for some feature of these unused things)
Comment 12 David Blaikie 2012-12-11 01:53:33 PST
Enable gdb.cp/virtfunc.exp in r169832, +52 passes.

2 xfails due to PR14569
Comment 13 David Blaikie 2012-12-11 02:04:49 PST
Enable gdb.base/corefile.exp in r169833, +24 passes.

1 xfails due to PR14566
Comment 14 David Blaikie 2012-12-11 02:19:01 PST
Enabled gdb.python/py-block.exp in r169834, +22 passes.

1 xfail due to PR14566.
Comment 15 David Blaikie 2012-12-11 02:26:03 PST
Enabled gdb.cp/smartp.exp in r169835, +19 passes.
Comment 16 David Blaikie 2012-12-11 10:45:11 PST
Enabled gdb.cp/overload.exp in r169882, +70 passes.

4 xfail due to PR14573.
Comment 17 David Blaikie 2012-12-11 10:52:40 PST
Enable gdb.linespec/linespec.exp in r169883, +17 passes.

1 xfail due to PR14500.
Comment 18 David Blaikie 2012-12-11 11:58:00 PST
Enable gdb.base/funcargs.exp in r169899, +133 passes.

8 xfail due to PR14575.
Comment 19 David Blaikie 2012-12-11 13:03:57 PST
Enable gdb.linespec/ls-errs.exp in r169905, +144 passes.

9 xfail due to PR14500.
Comment 20 David Blaikie 2012-12-11 18:16:12 PST
Enable gdb.mi/mi-var-cp.exp in r169936, +118 passes.

Including a workaround to PR14580.
Comment 21 David Blaikie 2012-12-12 14:03:51 PST
Enable gdb.mi/mi-reverse.exp in r169998, +16 passes.

Including a workaround to PR14501.
Comment 22 David Blaikie 2012-12-12 14:05:13 PST
Enable gdb.base/attach-pie-misread.exp in r170009, +26 passes.

Including a fix for lib/prelink-support.exp to generalize it a bit over variations in the prelink output format.
Comment 23 David Blaikie 2012-12-12 15:23:30 PST
Enable gdb.attach/attachcmd.exp in r170028, +21 passes.

Marked a function with __attribute__((used)) to ensure it gets emitted by Clang.
Comment 24 David Blaikie 2012-12-13 16:43:50 PST
Fix 12 failures in gdb.mi/mi-var-rtti.exp with r170154 and r170156.
Comment 25 David Blaikie 2012-12-14 01:41:50 PST
Enable gdb.mi/mi-var-rtti.exp in r170181, +217 passes.

Filed PR14605 to track examining some tests that were failing with both GCC and Clang that have been disabled for now.
Comment 26 David Blaikie 2012-12-14 01:56:11 PST
Enable gdb.cp/shadow.exp in r170182, +9 passes.

1 xfail due to PR14606.
Comment 27 David Blaikie 2012-12-14 11:56:13 PST
Enable gdb.cp/mb-ctor.exp in r170215, +8 passes.

1 xfail due to PR14610.
Comment 28 David Blaikie 2012-12-14 16:29:46 PST
Enable gdb.base/dprintf.exp in r170252, +12 passes.

2 xfail due to PR14611. (just one problem: the program segfaults due to missing debug info for "stderr")
Comment 29 David Blaikie 2012-12-17 13:45:08 PST
Enable gdb.base/skip.exp in r170358, +42 passes.

4 xfails and 2 tests 'if'd out due to PR14580. (this test was particularly sensitive to the existence of that extra step after evaluating a return expression)

Two checks generalized to allow for Clang's differing (opposite) order of operand evaluation.
Comment 30 David Blaikie 2012-12-17 16:33:03 PST
Enabled gdb.base/longjmp.exp in r170378, +12 passes.

2 kfails due to GDB bug 14971.
Comment 31 David Blaikie 2012-12-17 16:47:33 PST
Enabled gdb.python/py-symbol.exp in r170380, +48 passes.

1 xfail & some workaround logic for PR14566.
Comment 32 David Blaikie 2012-12-17 17:05:47 PST
Enable gdb.cp/expand-sals.exp in r170382, +6 passes.

1 xfail due to PR14610.
Comment 33 David Blaikie 2012-12-19 02:18:41 PST
Enable gdb.cp/cpexprs.exp in r170508, +381 passes.

2 xfails due to PR14645
2 test cases made resilient to differences in const of the hidden second parameter to virtual base class ctors
many test cases made resilient to the function start location by moving the opening curly brace to the same line as the function name & parameter list. GCC seems to vary this quite often (simple functions seem to start at '{', but function template implicit specializations and inline class member definitions appear to start at the name of the function instead) without any particular reason/motivation that I can discern so I've not filed a Clang bug for this. A GCC bug may be appropriate.
Comment 34 David Blaikie 2012-12-19 02:38:41 PST
Enable gdb.reverse/solib-reverse.exp in r170512, +23 passes.

2 xfail due to PR14580 (& some logic to make these cases recover well).
Comment 35 David Blaikie 2012-12-19 10:51:31 PST
Enable gdb.cp/ptype-cv-cp.exp in r170554, +10 passes.

Marked one global variable as 'used' since it was being elided due to some quirk of linkage I don't fully understand yet.
Comment 36 David Blaikie 2012-12-19 11:07:32 PST
Enabled gdb.base/skip-solib.exp in r170556, +8 passes.

2 xfails due to PR14580.
Comment 37 David Blaikie 2012-12-19 11:10:07 PST
Enabled gdb.base/recpar.exp in r170557, +4 passes.

1 xfail due to PR14566.
Comment 38 David Blaikie 2012-12-19 13:53:51 PST
Enabled gdb.base/foll-exec.exp in r170577, +23 passes.

6 xfails due to PR14501
Comment 39 David Blaikie 2012-12-19 13:59:19 PST
Enabled gdb.arch/system-gcore.exp in r170579, +15 passes.

2 xfails due to PR14566
One static global marked as 'used'.
Comment 40 David Blaikie 2012-12-19 15:13:53 PST
Enabled gdb.base/gcore.exp in r170587, +14 passes.

2 xfails due to PR14566
One static global marked as 'used'.
Comment 41 David Blaikie 2012-12-19 16:25:25 PST
Enabled gdb.base/fullname.exp in r170597, +7 passes.

2 xfails due to PR14658
Comment 42 David Blaikie 2012-12-19 17:26:10 PST
Enabled gdb.threads/schedlock.exp in r170604, +53 passes.

20 xfails due to PR14660
Comment 43 David Blaikie 2012-12-19 17:52:44 PST
Enabled gdb.cp/m-static.exp in r170614, +17 passes.

5 xfails due to PR14471
Comment 44 David Blaikie 2012-12-19 17:59:27 PST
Enabled gdb.trace/actions.exp in r170617, +25 passes.

This was fixed when I cleaned up gdb.trace/tracecmd.exp (2012-12-12) in r170028 (though I forgot to update this bug with that particular update) by marking a function as 'used'. That change introduced 21 new passes, no xfails.
Comment 45 David Blaikie 2012-12-20 12:32:09 PST
Mark gdb.dwarf2/dw2-skip-prologue as untested. (one xfail -> one untested result)

This test was relying on relative ordering of inline asm to functions which Clang has no intent of ever supporting.
Comment 46 David Blaikie 2012-12-20 12:53:13 PST
Enabled gdb.stabs/gdb11479.exp in r170717, +7 passes.

Added a usage of one unused type to ensure its debug info would be emitted.
Comment 47 David Blaikie 2012-12-20 17:35:46 PST
Enable gdb.reverse/step-precsave.exp in r170802, +28 passes.

2 xfail due to PR14580.
Comment 48 David Blaikie 2012-12-20 17:41:10 PST
Mark gdb.dwarf2/dw2-noloc.exp as untested in r170805. (one xfail -> one untested
result)

This test was relying on relative ordering of inline asm to functions which
Clang has no intent of ever supporting. (similar to r170715 (gdb.dwarf2/dw2-skip-prologue))
Comment 49 David Blaikie 2012-12-20 17:51:14 PST
Mark gdb.mi/dw2-ref-missing-frame.exp as untested in r170807. (one xfail -> one
untested result)

This test was relying on relative ordering of inline asm to functions which
Clang has no intent of ever supporting. (similar to r170715
(gdb.dwarf2/dw2-skip-prologue))
Comment 50 David Blaikie 2012-12-20 18:20:26 PST
Mark gdb.mi/dw2-cp-infcall-ref-static.exp as untested in r170808.
Mark gdb.mi/dw2-ref-missing-frame.exp as untested in r170809.
Mark gdb.mi/dw2-inline-param.exp as untested in r170810.

These tests were relying on relative ordering of inline asm to functions which
Clang has no intent of ever supporting. (similar to r170715
(gdb.dwarf2/dw2-skip-prologue))
Comment 51 David Blaikie 2012-12-20 18:30:49 PST
Enable gdb.cp/oranking.exp in r170820, +16 passes.

8 xfail due to PR14573.
Comment 52 David Blaikie 2012-12-20 18:35:03 PST
Enable gdb.cp/nsnested.exp in r170821, +4 passes.

2 xfail due to PR14606.
Comment 53 David Blaikie 2012-12-21 01:51:27 PST
Enable gdb.reverse/step-reverse.exp in r170858, +23 passes.

2 xfail due to PR14580.

I'm not entirely sure what's going on with this - as I basically lifted the fix/xfail logic for this from r170802 but it didn't work reliably as-is. Removing one of the comments /appears/ to make this much more consistently pass, but that seems ridiculous so I'm not sure if the test is just flakey in some way I've yet to discover.
Comment 54 David Blaikie 2012-12-21 01:55:28 PST
Enabled gdb.trace/actions.exp in r170861, +18 passes.

This was fixed when I cleaned up gdb.trace/tracecmd.exp (2012-12-12) in r170028
Comment 55 David Blaikie 2012-12-21 01:58:33 PST
Enable gdb.base/step-break.exp in r170862, +5 passes.

3 xfail due to PR14660.
Comment 56 David Blaikie 2012-12-27 21:50:20 PST
Enable gdb.threads/tls.exp in r171176, +40 passes.

7 tests marked xfail (for a total of 25 xfails at runtime) due to PR14728.
Comment 57 David Blaikie 2012-12-27 21:52:47 PST
Enabled gdb.trace/infotrace.exp in r171177, +6 passes.

Original issue addressed in r170028.
Comment 58 David Blaikie 2012-12-28 14:59:20 PST
Enable gdb.cp/koenig.exp in r171203, +24 passes.

20 xfail due to PR14573.
Comment 59 David Blaikie 2012-12-28 15:03:06 PST
Enable gdb.cp/converts.exp in r171204, +13 passes.

11 xfail due to PR14573.
Comment 60 David Blaikie 2012-12-28 15:12:37 PST
Enable gdb.cp/converts.exp in r171205, +1 pass.

1 xfail due to PR14471.
Comment 61 David Blaikie 2012-12-28 15:26:22 PST
Enable gdb.cp/pr-574.exp in r171206, +1 pass.

1 xfail due to PR14471.

(oh, and the previous change was for gdb.cp/pr9167.exp, not convert.exp (which was enabled in the commit prior to that))

This test might be another bug, though - as the output from GCC's debug info includes "static b = <optimized out>" - which may be trickier to reproduce with Clang, persisting debug info when the entity itself has been optimized away.
Comment 62 David Blaikie 2012-12-28 15:29:26 PST
Enable gdb.cp/pr10728.exp in r171207, +2 pass.

No new failures - this test may be flakey (we'll see) or I had some other problem that caused me to baseline this previously.
Comment 63 David Blaikie 2012-12-28 16:08:35 PST
Enable gdb.cp/pr10687.exp in r171208, +1 pass.

1 xfail due to PR14734.
Comment 64 David Blaikie 2012-12-28 16:59:06 PST
Enable gdb.cp/nsusing.exp in r171209, +9 pass.

9 xfail due to PR14606.
Comment 65 David Blaikie 2012-12-28 19:19:58 PST
Enable gdb.base/so-impl-ld.exp in r171211, +2 pass.

1 xfail due to PR14580.
Comment 66 David Blaikie 2012-12-28 19:22:26 PST
Enable gdb.arch/i386-signal.exp in r171212, +2 pass.

Just needed an extra space in a regex.
Comment 67 David Blaikie 2012-12-28 19:50:09 PST
Enable gdb.arch/i386-signal.exp in r171213, +15 pass.

16 xfails due to PR14492.

This is a slightly more significant manifestation of PR14492 - apparently when the template argument data is mismatched (perhaps compared to the mangled name?) for class template specializations, GCC gives up on printing/recognizing any of the template parameter names, not just the pointer-to-member cases.
Comment 68 David Blaikie 2012-12-28 19:54:38 PST
Enable gdb.cp/breakpoint.exp in r171215, +7 pass.

Fixed one case of UB where the test program was falling off the end of a non-void returning function. Changed the return type to void to match the implementation/usage.
Comment 69 David Blaikie 2012-12-29 11:38:56 PST
Enabled gdb.trace/passcount.exp in r171230, +21 passes.

Original issue addressed in r170028.
Comment 70 David Blaikie 2012-12-29 11:53:04 PST
Enable gdb.reverse/break-reverse.exp.exp in r171233, +15 pass.

1 xfail due to PR14580.
Comment 71 David Blaikie 2012-12-29 11:56:36 PST
Enable gdb.cp/nsrecurs.exp in r171234, +1 pass.

2 xfail due to PR14606.
Comment 72 David Blaikie 2012-12-29 11:58:53 PST
Enable gdb.cp/nsimport.exp in r171235, +1 pass.

2 xfail due to PR14606.
Comment 73 David Blaikie 2012-12-29 12:10:51 PST
Enable gdb.cp/nsimport.exp in r171236, +3 pass.

7 xfail due to PR14743.
Comment 74 David Blaikie 2012-12-31 02:39:12 PST
Enable gdb.mi/mi-stepi.exp in r171280, +6 pass.

Skipping a 'step' MI operation due to PR14501.
Comment 75 David Blaikie 2012-12-31 02:52:51 PST
Enable gdb.mi/mi2-stepi.exp in r171282, +6 pass.

Skipping a 'step' MI operation due to PR14501.
Comment 76 David Blaikie 2012-12-31 03:06:00 PST
Enable gdb.reverse/finish-precsave.exp in r171284, +37 pass.

1 xfail/workaround due to PR14580.
Comment 77 David Blaikie 2012-12-31 03:46:15 PST
Enable gdb.reverse/finish-precsave.exp in r171287, +19 pass.

1 xfail/workaround due to PR14580.
Comment 78 David Blaikie 2012-12-31 03:48:57 PST
Enable gdb.reverse/watch-precsave.exp in r171288, +36 pass.

1 xfail/workaround due to PR14580.
Comment 79 David Blaikie 2012-12-31 12:55:19 PST
Enable gdb.cp/member-ptr.exp in r171311, +8 pass.

41 xfail/workaround due to PR14759.
Comment 80 David Blaikie 2012-12-31 13:04:08 PST
Enable gdb.base/memattr.exp in r171312, +30 passes.

Marked some static globals as used so they would be emitted.
Comment 81 David Blaikie 2012-12-31 13:27:11 PST
Enable gdb.python/py-explore.exp and gdb.python/py-explore-cc.exp in r171314, +70 pass.

Removed a workaround I'd put in place to try to get these tests to pass when run against the system GDB. Since, for other reasons, I'm now running against the just-built GDB that goes with the test suite, this workaround is neither necessary nor correct. Removing it cleans up these tests.
Comment 82 David Blaikie 2012-12-31 13:34:25 PST
Enable gdb.cp/namespace-nested-import.exp in r171315.

1 xfail due to PR14606
Comment 83 David Blaikie 2012-12-31 13:37:31 PST
Enable gdb.cp/cplabel.exp in r171317.

4 xfail due to PR14566/PR14500. (marked as the former, but without fixing both issues these tests still won't pass)
Comment 84 David Blaikie 2012-12-31 14:06:12 PST
Enable gdb.cp/anon-struct.exp in r171320.

4 xfail due to PR14762
Comment 85 David Blaikie 2012-12-31 14:22:57 PST
Enable gdb.cp/arg-reference.exp in r171322.

1 xfail due to PR14763
Comment 86 David Blaikie 2012-12-31 14:29:01 PST
Mark gdb.dwarf2/dw2-entry-value.exp and gdb.dwarf2/dw2-param-error.exp as untested in r171323.

These tests were relying on relative ordering of inline asm to functions which Clang has no intent of ever supporting. (similar to r170715 (gdb.dwarf2/dw2-skip-prologue))
Comment 87 David Blaikie 2012-12-31 14:34:14 PST
Enable gdb.opt/clobbered-registers-O2.exp in r171324.

1 xfail due to PR14743
Comment 88 David Blaikie 2012-12-31 17:44:41 PST
Enable but xfail gdb.trace/save-trace.exp due to PR14767.
Comment 89 David Blaikie 2014-09-16 11:45:36 PDT
This was finished years ago - everything found was filed as bugs, all the failures are now explicit/specific XFAILs that should fail-to-fail whenever bugs are addressed (and this has been working well since the work was finished).