This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: [testsuite, build] Convert boehm-gc testsuite to DejaGnu (PR boehm-gc/11412)
- From: Mike Stump <mikestump at comcast dot net>
- To: Rainer Orth <ro at CeBiTec dot Uni-Bielefeld dot DE>
- Cc: GCC Patches <gcc-patches at gcc dot gnu dot org>, Hans Boehm <hans_boehm at hp dot com>, Paolo Bonzini <bonzini at gnu dot org>, Ben Elliston <bje at gnu dot org>, Ralf Wildenhues <Ralf dot Wildenhues at gmx dot de>
- Date: Tue, 22 Feb 2011 13:22:49 -0800
- Subject: Re: [testsuite, build] Convert boehm-gc testsuite to DejaGnu (PR boehm-gc/11412)
- References: <ydd62u3p6m7.fsf@manam.CeBiTec.Uni-Bielefeld.DE> <2F36C312-AD33-470E-8169-EFE733661C01@comcast.net> <yddd3mkgfmi.fsf@manam.CeBiTec.Uni-Bielefeld.DE>
On Feb 22, 2011, at 9:09 AM, Rainer Orth wrote:
> My primary issue isn't so much with the design of DejaGnu (rather its
> lack of documentation), but with the current uses in GCC: duplicating
> the whole per-tool code for every tool with just a few often diverging
> changes isn't my idea of a maintainable code base.
Yeah, happens when someone wants to fix one testsuite, but isn't given free reign to modify others. The benefit, one change on one side can't hurt the other side. The downside, large scale replication. I'd support refactoring things... it would be a thankless job. One area in particular that I'd love to see improved are the loops like:
foreach src [lsort [find $srcdir/$subdir *_main.c]] {
# If we're only testing specific files and this isn't one of them, skip it.
if ![runtest_file_p $runtests $src] then {
continue
}
compat-execute $src $sid $compat_use_alt
}
in the .exp testcase files. Longer term, I'd like to modify our framework driver .exp file (those in lib) to do tests in parallel directly. I almost had it all wired up last weekend, but ran into two problems that made me sad, tcl sucks and the threads people that did the proc replacement function for quirting code into new threads, can't handle the full generality (proc ${tool}_init ...) of tcl. The other thing that made me sad was the shear replication of this loop in all the .exp files.