-
Notifications
You must be signed in to change notification settings - Fork 41
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Skip unsupported regression tests #615
Conversation
When you run a test suite with skipped tests, can you infer from the test suite result alone which tests where skipped? For example by looking into the |
BitwiseOperations02.c KojakC-Reach-32Bit-Default.epf KojakC.xml UNKNOWN | ||
|
||
// Timeout | ||
BitwiseOperations01.c BlockEncodingV2AutomizerC-FP-MaxSaneBE.epf BlockEncodingV2AutomizerC.xml TIMEOUT |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
these worked with MaxSaneBE at some point. Does increasing the timeout help here?
@@ -183,7 +184,12 @@ public void test() { | |||
} | |||
if (th != null) { | |||
message += " (Ultimate threw an Exception: " + th.getMessage() + ")"; | |||
if (result == TestResult.IGNORE) { | |||
skipTest(message, th); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
are you sure its a good idea to throw a new exception and dont keep the old one? at least as wrapped exception?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@maul-esel wrote this 🙂
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Ok, so this was a long time ago, but: From my reading of the code, it seems like we (now) do keep the old exception th
as a wrapped exception, right?
...c/de/uni_freiburg/informatik/ultimate/test/junitextension/testfactory/FactoryTestRunner.java
Show resolved
Hide resolved
@schuessf Is there a reason why this isnt merged? |
46204d4
to
d43de7f
Compare
Okay, I revisited this PR after a long time 🙃 and updated a few files. These are the downsides and open questions:
If we can agree on these questions, this should be ready to be merged -- and finally all our tests might pass 😉 |
I would say:
|
I updated the code to use regular expressions that also match on the message and not only the result (7b67a7e), without changing the .skip files yet. |
Yeah, using them in the .skip files would be needed. Category-based would also be nice. Perhaps use YAML or something for which we already have a parser? |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks for reviving this! 🎉
See below for a few comments and questions.
...eTest/src/de/uni_freiburg/informatik/ultimate/test/decider/SafetyCheckTestResultDecider.java
Outdated
Show resolved
Hide resolved
...Test/src/de/uni_freiburg/informatik/ultimate/regressiontest/AbstractRegressionTestSuite.java
Outdated
Show resolved
Hide resolved
...Test/src/de/uni_freiburg/informatik/ultimate/regressiontest/AbstractRegressionTestSuite.java
Outdated
Show resolved
Hide resolved
...Test/src/de/uni_freiburg/informatik/ultimate/regressiontest/AbstractRegressionTestSuite.java
Outdated
Show resolved
Hide resolved
...Test/src/de/uni_freiburg/informatik/ultimate/regressiontest/AbstractRegressionTestSuite.java
Outdated
Show resolved
Hide resolved
Just to bump, not that it lays dormant for too long :) |
There are some conflicts now. I will try to resolve them next week and finalize this PR 😉 |
62e5a22
to
362adb7
Compare
I just discovered some bugs and restarted the nightly. I think, this PR should be ready now. Just one thing I recently discovered: All tests that are marked as skipped, occur also as "success" in Jenkins (and maybe even in JUnit?), e.g. see here and here. @maul-esel do you know why this is happening? |
I do not know. When running tests in Eclipse, it looks fine. But I get the same phenomenon when running tests via the maven command line:
(the third line should not be there) |
Currently many regression tests still fail (see #611). Therefore the Jenkins status ("unstable") is not a good indicator. However, some of the tests are expected to fail (and always have), because they only pass for some settings/toolchains (e.g. due to overapproximation).
This PR provides the possibility to mark those tests as skipped after running them. Therefore we store all tests (consisting of file, settings, toolchain) along with a verdict in a separate file. If a tests fails with this verdict, it is marked as skipped, otherwise as failed.
There are still some open points to discuss:
Unable to prove ... Reason: overapproximation of ...
) as verdict in this skipped-file.