This is the mail archive of the gdb-patches@sourceware.org mailing list for the GDB project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [PATCH 2/2] Remove pass in skip_unwinder_tests


On Mon, 27 Aug 2012 17:14:43 +0200, Yao Qi wrote:
> XFAIL can be used for "unsupported system
> feature" in gdb test, but XFAIL (nor PASS) can not be used in
> checking the feature of system, because checking itself is not a
> test.  I'd like to call them (proc skip_XXX and proc support_XXX in
> lib/gdb.exp) 'test configuration checking' which determines the set
> of tests to run according to the configuration of GDB and other
> factors.  They should not contribute PASS/XFAIL/FAIL/... to test
> result, because they are not tests.

OK, this is a different opinion on what is a test and what is not a test.

If the gdb.sum should contain only the output of the goals of the testfile
then there should be only IIUC for example for gdb.trace/trace-mt.exp:

PASS: gdb.trace/trace-mt.exp: trace on: tfind frame 0
PASS: gdb.trace/trace-mt.exp: trace on: tfind frame 1
PASS: gdb.trace/trace-mt.exp: trace on: tfind
PASS: gdb.trace/trace-mt.exp: trace off: tfind frame 0
PASS: gdb.trace/trace-mt.exp: trace off: tfind frame 1
PASS: gdb.trace/trace-mt.exp: trace off: tfind
PASS: gdb.trace/trace-mt.exp: step over trace: tstop
PASS: gdb.trace/trace-mt.exp: ftrace on: tfind frame 0
PASS: gdb.trace/trace-mt.exp: ftrace on: tfind frame 1
PASS: gdb.trace/trace-mt.exp: ftrace on: tfind
PASS: gdb.trace/trace-mt.exp: ftrace off: tfind frame 0
PASS: gdb.trace/trace-mt.exp: ftrace off: tfind frame 1
PASS: gdb.trace/trace-mt.exp: ftrace off: tfind
PASS: gdb.trace/trace-mt.exp: step over ftrace: tstop

as all the other testcases (43-14==29; see below the full testfile run) are
only supporting there the goals above and they are no real tests on their own.
Like the testing of system features are only supporting the goal testcases of
the testfile.

I see the testcases as a separation of the unstructured GDB output.  As the
matching is done only by regexes the responses are commonly out-of-sync
leading to various racy bugs (like PR testsuite/12649).  Some common markers
(testcases) make the matching easier separating out racy results from real
regressions.

Dropping results of all the supportive testcases I find both a lot of work on
the testsuite, IMO it is not the style of the current testsuite, and
separating out the daily racy results out of it will be even more difficult
than it is.

TBH I do not mind at all, any decision will be always wrong as the primary
problem is that the testsuite does not use structured GDB output with common
parser of the structured output (with current GDB it means GDB does not use MI
for very every command and there is no MI protocol parser in the testsuite).


Thanks,
Jan


PASS: gdb.trace/trace-mt.exp: successfully compiled posix threads test case
PASS: gdb.trace/trace-mt.exp: trace on: set breakpoint always-inserted on
PASS: gdb.trace/trace-mt.exp: trace on: break end
PASS: gdb.trace/trace-mt.exp: trace on: break set_point1
PASS: gdb.trace/trace-mt.exp: trace on: trace set_point1
PASS: gdb.trace/trace-mt.exp: trace on: tstart
PASS: gdb.trace/trace-mt.exp: trace on: continue to set_point1 1
PASS: gdb.trace/trace-mt.exp: trace on: continue to set_point1 2
PASS: gdb.trace/trace-mt.exp: trace on: continue to end
PASS: gdb.trace/trace-mt.exp: trace on: tstop
PASS: gdb.trace/trace-mt.exp: trace on: tfind frame 0
PASS: gdb.trace/trace-mt.exp: trace on: tfind frame 1
PASS: gdb.trace/trace-mt.exp: trace on: tfind
PASS: gdb.trace/trace-mt.exp: trace off: set breakpoint always-inserted off
PASS: gdb.trace/trace-mt.exp: trace off: break end
PASS: gdb.trace/trace-mt.exp: trace off: break set_point1
PASS: gdb.trace/trace-mt.exp: trace off: trace set_point1
PASS: gdb.trace/trace-mt.exp: trace off: tstart
PASS: gdb.trace/trace-mt.exp: trace off: continue to set_point1 1
PASS: gdb.trace/trace-mt.exp: trace off: continue to set_point1 2
PASS: gdb.trace/trace-mt.exp: trace off: continue to end
PASS: gdb.trace/trace-mt.exp: trace off: tstop
PASS: gdb.trace/trace-mt.exp: trace off: tfind frame 0
PASS: gdb.trace/trace-mt.exp: trace off: tfind frame 1
PASS: gdb.trace/trace-mt.exp: trace off: tfind
PASS: gdb.trace/trace-mt.exp: step over trace: set non-stop 0
PASS: gdb.trace/trace-mt.exp: step over trace: break set_point1
PASS: gdb.trace/trace-mt.exp: step over trace: continue to set_point1
PASS: gdb.trace/trace-mt.exp: step over trace: trace *$pc
PASS: gdb.trace/trace-mt.exp: step over trace: tstart
PASS: gdb.trace/trace-mt.exp: step over trace: stepi
PASS: gdb.trace/trace-mt.exp: step over trace: tstop
PASS: gdb.trace/trace-mt.exp: successfully compiled posix threads test case
PASS: gdb.trace/trace-mt.exp: IPA loaded
PASS: gdb.trace/trace-mt.exp: ftrace on: set breakpoint always-inserted on
PASS: gdb.trace/trace-mt.exp: ftrace on: break end
PASS: gdb.trace/trace-mt.exp: ftrace on: break set_point1
PASS: gdb.trace/trace-mt.exp: ftrace on: ftrace set_point1
PASS: gdb.trace/trace-mt.exp: ftrace on: tstart
PASS: gdb.trace/trace-mt.exp: ftrace on: continue to set_point1 1
PASS: gdb.trace/trace-mt.exp: ftrace on: continue to set_point1 2
PASS: gdb.trace/trace-mt.exp: ftrace on: continue to end
PASS: gdb.trace/trace-mt.exp: ftrace on: tstop


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]