Project

General

Profile

action #41201

[qam][desktop] test fails in pidgin_IRC

Added by bfilho about 3 years ago. Updated about 3 years ago.

Status:
Resolved
Priority:
Normal
Assignee:
Category:
Bugs in existing tests
Target version:
-
Start date:
2018-09-18
Due date:
% Done:

0%

Estimated time:
Difficulty:

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

History

#1 Updated by bfilho about 3 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

#2 Updated by GraceWang about 3 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)]);

#3 Updated by msmeissn about 3 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

#4 Updated by okurz about 3 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.

#5 Updated by msmeissn about 3 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.

#6 Updated by msmeissn about 3 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?

#8 Updated by jbaier_cz about 3 years ago

This one would be hard to debug as it works locally: http://panigale.suse.cz/tests/277

#9 Updated by pcervinka about 3 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#.

#10 Updated by pcervinka about 3 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.

#11 Updated by pcervinka about 3 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
     }

#12 Updated by okurz about 3 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.

#13 Updated by pcervinka about 3 years ago

  • Project changed from openQA Tests to QAM
  • Subject changed from [desktop] test fails in pidgin_IRC to [qam][desktop] test fails in pidgin_IRC
  • Category deleted (Bugs in existing tests)

#14 Updated by pcervinka about 3 years ago

  • Project changed from QAM to openQA Tests
  • Category set to Bugs in existing tests
  • Status changed from New to In Progress
  • Assignee set to pcervinka

#15 Updated by pcervinka about 3 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.

#16 Updated by pcervinka about 3 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

#17 Updated by pcervinka about 3 years ago

  • Status changed from In Progress to Feedback

PR merged, let's see few more runs on o.s.d.

#18 Updated by pcervinka about 3 years ago

  • Status changed from Feedback to Resolved

Also available in: Atom PDF