This is an archive of the discontinued LLVM Phabricator instance.

[test-suite] Fix exception caused by r256471.
ClosedPublic

Authored by mcrosier on Jan 12 2016, 11:52 AM.

Details

Reviewers
MatzeB
delcypher
Summary

In r256471, support for per-test timeouts was added, which changed executeScript and executeScriptInternal to return four parameters instead of three. This change is causing scripting in the test-suite to raise an exception when it didn't accept the correct returns. This patch modifies lit.cfg to unpack the four values, though nothing is done with the timeout info, to fix the exception.

Chad

Diff Detail

Event Timeline

mcrosier updated this revision to Diff 44656.Jan 12 2016, 11:52 AM
mcrosier retitled this revision from to [test-suite] Fix exception caused by r256471..
mcrosier updated this object.
mcrosier added reviewers: delcypher, MatzeB.
mcrosier added a subscriber: llvm-commits.
mcrosier added subscribers: jmolloy, kristof.beyls.
delcypher edited edge metadata.Jan 12 2016, 12:25 PM

@mcrosier

It doesn't look like the lit.cfg in LLVM trunk and you have not uploaded much context in your diff so it took me a while to realise that this was lit.cfg in the test-suite repo.

I didn't realise my change would effect the test-suite repo, sorry about that. I'm not familiar with this repo but is there a good reason that is using lit's internals instead of using it the normal way?

As for the change itself, it seems reasonable but if you don't intend to use the timeoutInfo parameter you should probably just use _ instead.

MatzeB edited edge metadata.Jan 12 2016, 12:59 PM

@mcrosier

It doesn't look like the lit.cfg in LLVM trunk and you have not uploaded much context in your diff so it took me a while to realise that this was lit.cfg in the test-suite repo.

I didn't realise my change would effect the test-suite repo, sorry about that. I'm not familiar with this repo but is there a good reason that is using lit's internals instead of using it the normal way?

The test-suite has a few requirements that are different from a pure regression tests as in llvm core. The main difference today is that we have a split RUN: and VERIFY: lines so for example when cross compiling we know which part needs to be executed on the remote host, we can leave out the time spent in VERIFY: and only measure the RUN: part etc.

Nonetheless to actually implement these things we can reuse a bunch of the code in llvms lit, at the price that we sometimes have to adjust to llvm core changes.

MatzeB accepted this revision.Jan 12 2016, 1:00 PM
MatzeB edited edge metadata.

The patch LGTM

This revision is now accepted and ready to land.Jan 12 2016, 1:00 PM
mcrosier closed this revision.Jan 12 2016, 1:31 PM

Committed r257524.