This is the mail archive of the
mailing list for the GCC project.
Re: Understand GCC test process
- From: Jonathan Wakely <jwakely dot gcc at gmail dot com>
- To: Sabrina Souto <sabrinadfs at gmail dot com>
- Cc: "gcc at gcc dot gnu dot org" <gcc at gcc dot gnu dot org>
- Date: Wed, 7 Oct 2015 16:25:52 +0100
- Subject: Re: Understand GCC test process
- Authentication-results: sourceware.org; auth=none
- References: <CAA1wpi1MCPPBqmr2iCKmpdiG5gu5zL=MOAx+y1cEtfzxkMajLg at mail dot gmail dot com> <CAH6eHdSaqsn8xDSG46GwMvgVjGOoRoPtkXC5t+AbAvg=_jkkkA at mail dot gmail dot com> <CAA1wpi3y_SO8s_pjaZS-fC6GgfkuDCOnnaQNurDJkZi1kqJY7w at mail dot gmail dot com> <CAH6eHdTwhgLHWQhsdrB9ZUX3=LD3m-m=hBGXswmyT0c2+c5DHQ at mail dot gmail dot com> <CAA1wpi22TZ=awDNWRBtechjamK+T+Z3LiB7GnsnXO1sdMUxp2w at mail dot gmail dot com>
On 7 October 2015 at 14:57, Sabrina Souto wrote:
> I was seeing these files but I could not put the puzzle pieces
> together in my mind, and after you explained, all pieces make sense
> now. Thanks for the explanation, Jonathan.
You're doing better than I am then, noting about DejaGnu makes
complete sense to me ;-)
> The testing process is clear now, but I still not understanding what
> can explain that amount of common functions (over 60%) across all
> traces of the tests (that I analyzed) from gcc.dg test suite, could
> you help me with this? I have some hypotheses:
> (1) All tests run the compiler and there is a large "core" code that
> is executed regardless of the compiler option?
> (2) Since all tests run the same driver - dg.exp, I could say that
> this great amount of common functions is due to what is specified in
> the driver, and the remaining few different functions are related with
> the particularity of each test?
> (3) None of those. Do you have another explanation?
What exactly are you tracing, and how?
Typically to run the testsuite you run 'make', which runs DejaGnu's
'runtest' shell script, which runs the 'expect' program (written in
Tcl), which invokes the 'gcc' driver, which invokes the actual
compiler, 'cc1', to compile a testcase. So a lot of that is common to
Are you only tracing the 'gcc' driver? Or every process and child
process that gets spawned by 'make'?