This is the mail archive of the mailing list for the libstdc++ 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: ABI regression tester, version 0.0.0pre2.alpha7

On Tue, Aug 20, 2002 at 12:46:30PM -0700, Benjamin Kosnik wrote:
> There's got to be sane output or else g++ hackers and gcc hackers won't
> use it, and the automated regression checkers will just get confused.


> Diff wasn't doing it for me, especially when there is a lot that can
> change between lines of the script output.

I think there would be less difference than you imagine, as long as we
sort the text before diffing.  I've added some text to the autocrasher,
next time a variation appears it should be more human-readable.

Anyhow... multiple paths to the same solution.  I'll take the low road
and you take the high road, and we'll both get to scotland.

> > The .so swap should be another kind of test, but I haven't automated
> > that one.
> I have no idea how to do this.

Easy to do in my autocrasher, but darn near impossible to generalize enough
for testsuite checkin.

> > The two .sh scripts in your tarball are only different in that one reads
> >, and the other reads .5.0.1.  Since we use symlinks
> > in the build/install directory, you could just read, or
> >, and need to only maintain a single script.
> Right. Sleepy. Lazy. Also, has hard-wired string literals
> for baseline_file and test_file, so that should be passed in argv
> stylee.

The first version of this program you posted, I took and added system()
calls to do the readelf-pipe-etc stuff, so that the name of the .so could be
passed in as argv.  Have to assume GNU readelf, etc, so that wouldn't work.

> Do you have any ideas on how to work through the testsuite/
> issues? Gak!!! I'm hoping to have something in yesterday, or at least
> before a lot of the pending C++ linkage patches go in...

Off the top of my head, we build your program(s) and then do the testing
work in a script:

    noinst_PROGRAMS = abicheck
    abicheck_SOURCES =

        $(SHELL) $(srcdir)/testsuite/run_a_sane_script $(builddir)

Pass in the build directory path, and I think the script can figure out
everything else, e.g., call the $(builddir)/testsuite/abicheck, scan the
$(builddir)/src/.libs/, etc.


I would therefore like to posit that computing's central challenge, viz. "How
not to make a mess of it," has /not/ been met.
                                                 - Edsger Dijkstra, 1930-2002

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