[LLVMdev] NewNightlyTester.pl: split into phases?
tonic at nondot.org
Sat Mar 8 15:11:54 PST 2008
On Mar 8, 2008, at 2:45 PM, Joachim Durchholz wrote:
> Am Samstag, den 08.03.2008, 14:02 -0800 schrieb Tanya Lattner:
>> - ability to check out llvm-gcc or update llvm-gcc and build it
>> running tests. In addition to using a prebuilt binary.
> Does it need a prebuilt binary?
> I have been suspecting so since it has been failing with BUILD ERROR
> me. I just haven't found the time to verify that yet.
> I have yet to try building llvm-gcc from sources though. The
> instructions seem to be clear enough, but it's still possible that
> hit a hidden snag.
> Well, I'll try that anyway. I like my software well-done after all :-)
You need to have an llvm-gcc, so you either build it yourself or use
one of the prebuilt binaries. The nightly tester just needs to know
where its located, but it doesn't know anything about llvm-gcc
otherwise. Since most people are testing TOT and llvm/llvm-gcc are
tied together it makes sense to update llvm-gcc before running the
nightly tester. However, it takes quite a bit of time to checkout and
build llvm-gcc, so having the option to just update existing sources
would be nice.
>> If you fix the two things above then you should be able to just rerun
>> the script multiple times for different targets like you want. It
>> also solve problems many others have experienced.
> Ensuring that the tree is pristine could be a bit of a challenge. It's
> always possible that the user inadvertently changed or deleted a file,
> giving a false alarm for all future checks.
> Options to avoid that seem to be:
> 1. Do a 'make dist-clean' before running the tests. Of course, if
> dist-clean has bugs, this may create trouble. On the other hand, it
> would exercise dist-clean on a regular basis, which might be a Good
> 2. Recreate $BUILDDIR as a copy of a pristine check-out directory each
> time the tester is run. This would be much faster than a download, but
> still a lot of unnecessary load.
> 3. For each test, first run svn revert, then ask svn about any
> unversioned files and delete them, finally svn update.
> (2) would be easiest. (3) would be most failsafe. (1) might be more
> useful for the project because it could uncover bugs in the dist-clean
> target though. (OTOH one could argue that this should be a separate
> regression test.)
I'd rather not use the nightly tester to test make dist-clean. I'm not
sure how many people actually use make dist anything right now so it
probably has bugs too. This should probably be investigated separately.
I think the only way to ensure the tree is pristine is to do a clean
checkout like it does now. So I think that should be the preferred
way. However, I think its worthwhile to be able to update your tree
and build using the nightly tester. Checking out and building llvm can
be a time consuming process for people with slow network connections
and slow machines. This is worthwhile in my opinion, but its not
necessarily the solution to your problem if you want to make sure your
tree is perfect.
However, I think #2 is the better solution for your particular problem
and I don't think you need to do any changes to the nightly tester,
just tell it to use a new build directory.
>> A -noreport option is probably a good idea too.
> OK, that should be easy to add.
>> Just be sure not to change what it sends to the website. That needs
>> stay the same.
> Sure. I think wrapping an if statement around the HTTP send should be
> easy; the code of NewNightlyTester.pl isn't very complicated.
> On a tangent:
> What's the best way to submit patches: Bugzilla? Something else?
Send to llvm-commits or llvm-dev (as long as its not too big).
P.S. I'm not sure if someone has gotten a chance to look at your
dejagnu bugs you filed, but if not.. I'll try to take a look this
weekend. Unfortunately, I've been preoccupied this week with family
> LLVM Developers mailing list
> LLVMdev at cs.uiuc.edu http://llvm.cs.uiuc.edu
More information about the llvm-dev