Page MenuHomePhabricator

test_content_model is failing on Travis and Appveyor
Closed, ResolvedPublic

Description

There is an issue on Travis CI:

________________ MediaWikiKnownTypesTestCase.test_content_model ________________
self = <tests.paraminfo_tests.MediaWikiKnownTypesTestCase testMethod=test_content_model>
    def test_content_model(self):
        """Test content model."""
        base = [
            'wikitext',
            'javascript',
            'css',
            'text',
        ]
        wmf = [
            'MassMessageListContent',
            'SecurePoll',
            'flow-board',
            'Scribunto',
            'JsonSchema',
        ]
        if MediaWikiVersion(self.site.version()) >= MediaWikiVersion('1.24'):
            base.append('json')
    
        self._check_param_subset(self.site, 'edit', 'contentmodel', base)
        self._check_param_subset(self.site, 'parse', 'contentmodel', base)
    
        if isinstance(self.site.family, WikimediaFamily):
>           self._check_param_subset(self.site, 'parse', 'contentmodel', wmf)
tests/paraminfo_tests.py:152: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
tests/paraminfo_tests.py:50: in _check_param_subset
    self.assertLessEqual(set(expected), set(values))
E   AssertionError: set([u'Scribunto', u'JsonSchema', u'SecurePoll', u'MassMessageListContent', u'flow-board']) not less than or equal to set([u'wikitext', u'SecurePoll', u'text', u'Scribunto', u'javascript', u'json', u'JsonSchema', u'css', u'MassMessageListContent', u'GadgetDefinition'])

and Appveyor CI:

FAIL: test_content_model (tests.paraminfo_tests.MediaWikiKnownTypesTestCase)
Test content model.
----------------------------------------------------------------------
Traceback (most recent call last):
  File "c:\projects\pywikibot-core\tests\paraminfo_tests.py", line 152, in test_content_model
    self._check_param_subset(self.site, 'parse', 'contentmodel', wmf)
  File "c:\projects\pywikibot-core\tests\paraminfo_tests.py", line 50, in _check_param_subset
    self.assertLessEqual(set(expected), set(values))
AssertionError: set([u'Scribunto', u'JsonSchema', u'SecurePoll', u'MassMessageListContent', u'flow-board']) not less than or equal to set([u'wikitext', u'SecurePoll', u'text', u'Scribunto', u'javascript', u'json', u'JsonSchema', u'css', u'MassMessageListContent', u'GadgetDefinition'])

See:

Event Timeline

(Pdb++) w
[0]   /usr/lib/python2.7/runpy.py(174)_run_module_as_main()
-> "__main__", fname, loader, pkg_name)
[1]   /usr/lib/python2.7/runpy.py(72)_run_code()
-> exec code in run_globals
[2]   /home/magul/Dokumenty/magullab/pywikibot-core/tests/paraminfo_tests.py(237)<module>()
-> unittest.main()
[3]   /home/magul/Dokumenty/magullab/pywikibot-core/tests/paraminfo_tests.py(153)test_content_model()
-> self._check_param_subset(self.site, 'parse', 'contentmodel', wmf)
[4] > /home/magul/Dokumenty/magullab/pywikibot-core/tests/paraminfo_tests.py(51)_check_param_subset()
-> self.assertLessEqual(set(expected), set(values))
(Pdb++) ll
  47         def _check_param_subset(self, site, module, parameter, expected):
  48             """Perform check that a parameter matches the expected list."""
  49             values = self._get_param_values(site, module, parameter)
  50             import pdb; pdb.set_trace()
  51  ->         self.assertLessEqual(set(expected), set(values))
(Pdb++) set(expected) - set(values)
set([u'flow-board'])

When and why flow-board was removed from site params?

I've just 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:
    print('{} => {}'.format(s.lang, 'flow-board' in s._paraminfo.parameter('parse', 'contentmodel')['type']))

and I've got:

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

And here it go - en.wiki resign from using Flow (see: 1, 2).

Change 322504 had a related patch set uploaded (by Magul):
Fix of content model test for en.wiki

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

Magul triaged this task as High priority.Nov 20 2016, 7:57 PM

@Xqt could You recheck this patch again, please?

@Dalba I looks that there is something wrong with gerrit patch. It need some more verification.

Change 322504 merged by Dalba:
Fix content model test for en.wiki

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

That's strange. It seems that jenkins-bot was confused with my earlier +2 somehow. Anyway, I submitted the change again myself.