action #41201
closed[qam][desktop] test fails in pidgin_IRC
Added by bfilho about 6 years ago. Updated about 6 years ago.
0%
Description
Observation¶
openQA test in scenario sle-15-Desktop-DVD-Updates-x86_64-qam-regression-message@64bit fails in
pidgin_IRC
Reproducible¶
Fails since (at least) Build 20180915-1
Expected result¶
Last good: 20180913-3 (or more recent)
Further details¶
Always latest result in this scenario: latest
Updated by bfilho about 6 years ago
pidgin_IRC failing from 20180915-1 multiple times, seems to be missing the a keypress events:
[2018-09-17T03:22:30.0365 CEST] [debug] /var/lib/openqa/cache/tests/sle/tests/x11/pidgin/pidgin_IRC.pm:46 called testapi::send_key
[2018-09-17T03:22:30.0365 CEST] [debug] <<< testapi::send_key(key='alt-`', do_wait=0)
...
[2018-09-17T03:22:30.0579 CEST] [debug] /var/lib/openqa/cache/tests/sle/tests/x11/pidgin/pidgin_IRC.pm:49 called testapi::send_key
[2018-09-17T03:22:30.0580 CEST] [debug] <<< testapi::send_key(key='ctrl-w', do_wait=0)
...
/var/lib/openqa/cache/tests/sle/tests/x11/pidgin/pidgin_IRC.pm:54 called testapi::assert_screen
...
https://openqa.suse.de/tests/2059231#downloads
Updated by GraceWang about 6 years ago
SLED12SP4 also met the same issue.
See https://openqa.suse.de/tests/2069539#step/pidgin_IRC/21 for details.
From the below log:
[2018-09-18T05:36:40.0247 CEST] [debug] >>> testapi::_check_backend_response: match=pidgin-ctcp-version,pidgin-irc-sledtesting timed out after 30 (assert_screen)
[2018-09-18T05:36:40.0541 CEST] [debug] no candidate needle with tag(s) 'pidgin-ctcp-version, pidgin-irc-sledtesting' matched
It seems that it failed when executing the below code:
assert_screen([qw(pidgin-ctcp-version pidgin-irc-sledtesting)]);
Updated by msmeissn about 6 years ago
could it be possible it cannot connect to freenode anymore?
due to the recent spambot attack there?
I tried to look at the video but its not easily visible if the connect fails and how
Updated by okurz about 6 years ago
- Subject changed from test fails in pidgin_IRC to [desktop] test fails in pidgin_IRC
msmeissn wrote:
I tried to look at the video but its not easily visible if the connect fails and how
did you try to download the video locally and step through it frame by frame, e.g. with "mpv"? The video player within the browser skips over some frames and you will most likely not be able to see every single step which might be important for investigation.
Updated by msmeissn about 6 years ago
hmm, it seems to turn the bubble green, so it seems connected.
but the ctcp check seems not to come in for some reason.
also not when i try it on tumbleweed pidgin.
Updated by msmeissn about 6 years ago
the control flow is weird in the test.
the ctcp handling has assert_screen([qw(pidgin-ctcp-version pidgin-irc-sledtesting)]);
but at this time we have not yet joined the #sledtesting channel it matches on.
should this block move a bit lower?
Updated by msmeissn about 6 years ago
proposal for a patch https://github.com/os-autoinst/os-autoinst-distri-opensuse/pull/5805
(untested)
Updated by jbaier_cz about 6 years ago
This one would be hard to debug as it works locally: http://panigale.suse.cz/tests/277
Updated by pcervinka about 6 years ago
I re-checked logic sequence of the test and I think it is not correct in assert_screen([qw(pidgin-spoofing-ip pidgin-irc-sledtesting)]). There is a chance of pidgin-spoofing-ip, which may occur (but don't have to). But why is there match for pidgin-irc-sledtesting? This shouldn't be there, because this match is supposed to be done little bit later. I think @msmeissn had good idea to remove it and there should be if (check_screen('pidgin-spoofing-ip')) { instead of assert_screen with match_has_tag. SImilar incorrect logic is also for CTCP check.
I did a test run with check_screen and it looks fine http://10.100.12.105/tests/226#.
Updated by pcervinka about 6 years ago
I also tried to reproduced it manually in virtual machine and ip spoofing check or CTCP didn't occur. So those steps are really optional.
Updated by pcervinka about 6 years ago
Suggested code change:
# Warning of spoofing ip may appear
if (check_screen('pidgin-spoofing-ip')) {
wait_screen_change {
send_key is_sle('<15') ? "alt-tab" : "alt-`";
};
wait_screen_change {
send_key "ctrl-w"; # close it
};
}
# CTCP Version and warning about scan may appear
if (check_screen('pidgin-ctcp-version')) {
wait_screen_change { send_key "ctrl-w"; } # close it
}
Updated by okurz about 6 years ago
Personally I always prefer multi-tag assert_screen
with match_has_tag
because I think this is the most efficient way for tests without any unnecessary sleep time. So what is wrong with an assert_screen with multiple tags? E.g. instead of check_screen('pidgin-ctcp-version')
why not check for both, this screen and the alternative, and only act upon the warning if it shows up.
Updated by pcervinka about 6 years ago
- Project changed from openQA Tests (public) to 119
- Subject changed from [desktop] test fails in pidgin_IRC to [qam][desktop] test fails in pidgin_IRC
- Category deleted (
Bugs in existing tests)
Updated by pcervinka about 6 years ago
- Project changed from 119 to openQA Tests (public)
- Category set to Bugs in existing tests
- Status changed from New to In Progress
- Assignee set to pcervinka
Updated by pcervinka about 6 years ago
@msmeissn I will further continue with this one. Could you please close your PR? Okurz had good point and I would
like to explore the other way to fix.
Updated by pcervinka about 6 years ago
New PR to properly detect pidgin status(and don't waste time by check_screen) was created:
https://github.com/os-autoinst/os-autoinst-distri-opensuse/pull/5853
Updated by pcervinka about 6 years ago
- Status changed from In Progress to Feedback
PR merged, let's see few more runs on o.s.d.
Updated by pcervinka about 6 years ago
- Status changed from Feedback to Resolved