[go: up one dir, main page]

Page MenuHomePhabricator

Quibble runs core:unit tests twice!
Open, Stalled, HighPublic

Description

During a full run of Quibble, I noticed PHPUnit alerts twice about the slow test Argon2PasswordTest:testPartialConfig. Turns out it run twice, once as part of the core:unit suite and another time as part of the default phpunit.php suite. The commands Quibble runs are:

core:unit
phpunit --colors=always --testsuite=core:unit,extensions:unit,skins:unit '--exclude-group' 'Broken,ParserFuzz,Stub'

The suite is defined as:

/phpunit.xml.dist
<phpunit>
    <testsuites>
        <testsuite name="core:unit">
            <directory>tests/phpunit/unit</directory>
        </testsuite>
</phpunit>

The second command is:

1
php tests/phpunit/phpunit.php --exclude-group Broken,ParserFuzz,Stub,Database,Standalone --log-junit /workspace/log/junit-dbless.xml

Which I guess crawls everything and thus also discover tests under tests/phpunit/unit. I guess we should exclude them?

Related Objects

StatusSubtypeAssignedTask
StalledNone
OpenNone
OpenNone
StalledKrinkle
Resolvedtstarling
ResolvedJdforrester-WMF
ResolvedJdforrester-WMF
Resolvedtstarling
ResolvedReedy
ResolvedBUG REPORTtstarling
Resolvedtstarling
ResolvedDaimona
ResolvedDaimona
ResolvedNone
ResolvedJdforrester-WMF
ResolvedBUG REPORTNone
Resolvedtstarling
ResolvedJdforrester-WMF
Resolvedssastry
Resolvedkostajh
Resolvedkostajh
Resolvedthiemowmde
Resolvedtstarling
Resolvedtstarling
ResolvedBUG REPORTLucas_Werkmeister_WMDE
Resolvedhoo
Resolvedhoo
ResolvedJdforrester-WMF
Resolvedthiemowmde
Resolvedkostajh
ResolvedUmherirrender
ResolvedPRODUCTION ERROR brooke
ResolvedTheresNoTime
Resolvedtstarling
OpenJdforrester-WMF
Resolvedlarissagaulia
ResolvedJMeybohm
ResolvedMoritzMuehlenhoff
Opendduvall
OpenNone
ResolvedJdforrester-WMF
OpenNone
ResolvedLucas_Werkmeister_WMDE
ResolvedDaimona
ResolvedDaimona
ResolvedDaimona
OpenNone
OpenNone
OpenNone
OpenNone
OpenNone
OpenNone
Resolvedtstarling
OpenNone
ResolvedDreamy_Jazz
ResolvedDreamy_Jazz
ResolvedPhysikerwelt
ResolvedTgr
OpenNone
OpenNone
ResolvedNone
OpenNone
OpenNone
OpenNone
OpenNone
ResolvedLucas_Werkmeister_WMDE
OpenNone
OpenNone
Resolvedthiemowmde
OpenNone
OpenNone
OpenNone
OpenDannyS712
OpenNone
Resolvedlarissagaulia
OpenNone

Event Timeline

It is not the end of the world though core:unit takes just a few seconds to execute ;-]

Is this still a problem, or a problem worth doing something about?

Is this still a problem, or a problem worth doing something about?

This is still a problem. As for the second question: I don't think it's worth doing anything about this now, because PHPUnit 9 does not provide a CLI options to exclude a certain testsuite, and any other way we could come up with to exclude unit tests would be either a huge hack or a huge change to be implemented in all tests. OTOH, PHPUnit 10 does provide that option! It's --exclude-testsuite, see https://github.com/sebastianbergmann/phpunit/pull/4657. Once we upgrade, it should be really simple to add this option to the integration suite invocation. The only thing that makes this non-trivial is, I think, the fact that we'll probably have to write some BC logic so that the option is only passed if the repo uses PHPUnit >= 10.

BC logic

BC = beta cluster?

I beileve it's backwards-compatibility, in this context.

BC logic

BC = beta cluster?

I beileve it's backwards-compatibility, in this context.

Yes, sorry, it is backwards compatibility indeed.

Daimona changed the task status from Open to Stalled.Sep 7 2023, 4:48 PM