-
Notifications
You must be signed in to change notification settings - Fork 2
Fix several issues in CI/tests #5
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
Conversation
Check if all tests have rlGetTestState command to prevent false-positives
Centos 6 - unsupported Centos 7 - there is a bug, which was fixed in RHEL/Centos 7.3 => re-enable this test when 7.3 docker image is available
The Travis' fail is caused by the Beakerlib bug mentioned in #7 ( |
# $2 - glob pattern | ||
function test_name_relevancy() { | ||
# See: http://wiki.bash-hackers.org/syntax/pattern#extended_pattern_language | ||
shopt -s extglob |
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.
if we want to preserve the environment, it should first query the state of the setting and then set it, and then restore it, otherwise it will disable it if it is run on a system with it enabled
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.
That definitely makes sense, thanks.
In a few recent runs I noticed a strange fail on Fedora:
As its occurrence is completely random, it's slightly annoying, because it breaks test results. Re-running the offending job usually helps. |
for that failure, it would be best to tweak the openssl-server.expect script. Which test case was this in? |
Unfortunately, this does happen (or happened at least once) in all test cases which use expect scripts. I spent almost entire weekend trying to find the root cause without any success. For some strange reason it gets stuck after the end of a *-client.expect script. You can find a log with expect debug mode enabled here. Even though it successfully matches the "Server: Generic Web Server" expect section, which should be followed by |
EOF doesn't generally kill the process. It will kill openssl process only if it is actually waiting for input at that very moment. I wonder if making it waif for text that shows up later wouldn't help... |
After another few hours of experimenting and discussing this issue with @ep69 I fixed the problematic client expect scripts. In some cases your idea was enough, in other cases I had to use a sleep - waiting for a following text is kind of hard as |
looking at the travis failures, looks like we're missing SIGTERM trap in the |
It still tries to run SHA384 PRF tests with RHEL 6 NSS... |
Yes, this is fixed by #8. |
It's a part of the Beakerlib fix, as it adds an alias |
then lets combine it |
Fixed conflicts and merged all changes into #8. |
During the review of test results I found out that several test are missing
rlGetTestState
command at their ends, which results in false-positives (as the default script return code is zero). This should be fixed in commit 75e6128. I also added a simple sanity check, which ensures that all non-library test scripts (runtest.sh
) contain the mentionedrlGetTestState
. If a script with missingrlGetTestState
is encountered, the job is immediately aborted (31dcda2).After extending the nss test suite, we managed to hit both Travis' limits - job length, which is 50 minutes, and log size, which is 4 MB. Commit ce96c52 implements a simple solution, which allows specifying an environment by an extended bash file glob expression (extglob). I already tested it on the aforementioned nss test suite and it works pretty well.
Last issue concerns the gnutls/softhsm-integration test, which has wrong metadata in its Makefile. This test is unsupported on RHEL/CentOS 6 and has an already fixed bug on RHEL/CentOS 7.2 - in this case we have to simply wait for a docker image for CentOS 7.3. I disabled this test on both RHEL/CentOS 6 and RHEL/CentOS 7 and will create an issue to re-enable it on CentOS 7 once the appropriate docker image is released.