Page MenuHomePhabricator

test_watchlist_show_flags fails on Travis and Appveyor
Closed, ResolvedPublic

Description

There is an issue on Travis CI:

____________ MediaWikiKnownTypesTestCase.test_watchlist_show_flags _____________
self = <tests.paraminfo_tests.MediaWikiKnownTypesTestCase testMethod=test_watchlist_show_flags>
    def test_watchlist_show_flags(self):
        """Test watchlist show flags."""
        types = ['minor', 'bot', 'anon', 'patrolled']
        if MediaWikiVersion(self.site.version()) >= MediaWikiVersion('1.24'):
            types.append('unread')
    
        known = types + ['!%s' % item for item in types]
    
>       self._check_param_values(self.site, 'query+watchlist', 'show', known)
tests/paraminfo_tests.py:86: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
tests/paraminfo_tests.py:45: in _check_param_values
    self.assertCountEqual(expected, values)
tests/aspects.py:96: in assertCountEqual
    return self.assertItemsEqual(*args, **kwargs)
E   AssertionError: Element counts were not equal:
E   First has 0, Second has 1:  u'oresreview'
E   First has 0, Second has 1:  u'!oresreview'

and Appveyor CI:

FAIL: test_watchlist_show_flags (tests.paraminfo_tests.MediaWikiKnownTypesTestCase)
Test watchlist show flags.
----------------------------------------------------------------------
Traceback (most recent call last):
  File "c:\projects\pywikibot-core\tests\paraminfo_tests.py", line 86, in test_watchlist_show_flags
    self._check_param_values(self.site, 'query+watchlist', 'show', known)
  File "c:\projects\pywikibot-core\tests\paraminfo_tests.py", line 45, in _check_param_values
    self.assertCountEqual(expected, values)
  File "c:\projects\pywikibot-core\tests\aspects.py", line 96, in assertCountEqual
    return self.assertItemsEqual(*args, **kwargs)
AssertionError: Sequences differ: [u'!a[24 chars], u'!patrolled', u'!unread', u'anon', u'bot', [29 chars]ead'] != [u'!a[24 chars], u'!oresreview', u'!patrolled', u'!unread', u[60 chars]ead']
First differing element 3:
!patrolled
!oresreview
Second sequence contains 2 additional elements.
First extra element 10:
patrolled
  [u'!anon',
   u'!bot',
   u'!minor',
+  u'!oresreview',
   u'!patrolled',
   u'!unread',
   u'anon',
   u'bot',
   u'minor',
+  u'oresreview',
   u'patrolled',
   u'unread']
----------------------------------------------------------------------

See:

Event Timeline

It looks that on en.wiki is ORES extension installed (see: 1).

I've run

import pywikibot
site = pywikibot.Site()
all_wikipedias = [pywikibot.Site(l, 'wikipedia') for l in site.family.languages_by_size]
for s in all_wikipedias:
    params = s._paraminfo.parameter('query+watchlist', 'show')['type']
    print('{} => {}'.format(s.lang, 'oresreview' in params and '!oresreview' in params)

and have got:

en => True
sv => False
ceb => False
de => False
nl => True
fr => False
ru => True
it => False
es => False
war => False
pl => True
vi => False
ja => False
pt => True
zh => False
uk => False
ca => False
fa => True
nb => False
ar => False
sh => False
fi => False
hu => False
id => False
ro => False
cs => False
ko => False
sr => False
ms => False
tr => True
eu => False
eo => False
bg => False
min => False
da => False
kk => False
sk => False
hy => False
nan => False
he => False
lt => False
hr => False
ce => False
sl => False
et => False
gl => False
nn => False
uz => False
la => False
el => False
be => False
en => False
vo => False
hi => False
th => False
az => False
ur => False
ka => False
ta => False
mk => False
oc => False
mg => False
cy => False
lv => False
new => False
bs => False
tt => False
tg => False
te => False
tl => False
pms => False
sq => False
br => False
be-tarask => False
ky => False
ht => False
jv => False
yue => False
ast => False
lb => False
ml => False
bn => False
mr => False
af => False
pnb => False
sco => False
is => False
ga => False
ba => False
fy => False
cv => False
sw => False
lmo => False
my => False
an => False
yo => False
ne => False
io => False
gu => False
nds => False
scn => False
bpy => False
pa => False
ku => False
gsw => False
bar => False
kn => False
ia => False
qu => False
su => False
ckb => False
mn => False
sgs => False
arz => False
nap => False
wa => False
gd => False
bug => False
yi => False
am => False
map-bms => False
si => False
mzn => False
fo => False
li => False
or => False
nah => False
sah => False
azb => False
vec => False
hsb => False
os => False
sa => False
mrj => False
hif => False
mhr => False
ilo => False
roa-tara => False
pam => False
xmf => False
eml => False
sd => False
ps => False
nso => False
bho => False
se => False
hak => False
mi => False
bcl => False
diq => False
nds-nl => False
gan => False
glk => False
vls => False
rue => False
bo => False
wuu => False
mai => False
vro => False
co => False
tk => False
szl => False
sc => False
csb => False
vep => False
lrc => False
km => False
crh-latn => False
gv => False
kv => False
frr => False
lzh => False
as => False
so => False
zea => False
cdo => False
lad => False
ay => False
stq => False
udm => False
kw => False
nrm => False
ie => False
koi => False
ace => False
rm => False
pcd => False
myv => False
lij => False
mt => False
fur => False
gn => False
dsb => False
dv => False
cbk-zam => False
ext => False
lez => False
ug => False
kab => False
ang => False
ksh => False
mwl => False
ln => False
gag => False
sn => False
frp => False
gom => False
pag => False
pi => False
nv => False
av => False
pfl => False
xal => False
krc => False
haw => False
kaa => False
bxr => False
rw => False
pdc => False
to => False
nov => False
kl => False
pap => False
lo => False
arc => False
bjn => False
olo => False
kbd => False
jam => False
ha => False
tet => False
tyv => False
ki => False
tpi => False
ig => False
na => False
lbe => False
rup => False
jbo => False
ty => False
kg => False
za => False
mdf => False
lg => False
wo => False
srn => False
ab => False
ltg => False
chr => False
zu => False
sm => False
om => False
bi => False
tcy => False
tn => False
chy => False
cu => False
rmy => False
tw => False
xh => False
tum => False
pih => False
rn => False
got => False
pnt => False
ss => False
ch => False
bm => False
ady => False
ts => False
ny => False
iu => False
st => False
fj => False
ee => False
ak => False
ks => False
ik => False
sg => False
ve => False
dz => False
ff => False
ti => False
cr => False

Change 322507 had a related patch set uploaded (by Magul):
Fix test for Wikipedia entities that have ORES installed

https://gerrit.wikimedia.org/r/322507

Change 322507 merged by jenkins-bot:
Fix test for Wikipedia entities that have ORES installed

https://gerrit.wikimedia.org/r/322507

It occurs that there are more issues with ORES extension. Patch is coming.

Change 322953 had a related patch set uploaded (by Magul):
Change to code from lang in ORES installation matrix.

https://gerrit.wikimedia.org/r/322953

@Dalba could You recheck this patch again, please? Do I need to add something here?

I'm not convinced that we need to check for existence of "oresreview" parameter.

So maybe we should remove this parameter at all? @Xqt what do You think here?

Change 324242 had a related patch set uploaded (by Magul):
Check only standard watchlist flags

https://gerrit.wikimedia.org/r/324242

Change 324242 merged by jenkins-bot:
Check only standard watchlist flags

https://gerrit.wikimedia.org/r/324242

Change 322953 abandoned by Dalba:
Change to code from lang in ORES installation matrix.

Reason:
Change 324242 got merged.

https://gerrit.wikimedia.org/r/322953