[wp-trac] [WordPress Trac] #52610: Consider removing many of the default test group exclusions

WordPress Trac noreply at wordpress.org
Mon Feb 22 20:24:01 UTC 2021


#52610: Consider removing many of the default test group exclusions
--------------------------------------+------------------------------
 Reporter:  johnbillion               |       Owner:  (none)
     Type:  task (blessed)            |      Status:  new
 Priority:  normal                    |   Milestone:  Awaiting Review
Component:  Build/Test Tools          |     Version:
 Severity:  normal                    |  Resolution:
 Keywords:  needs-patch dev-feedback  |     Focuses:  multisite
--------------------------------------+------------------------------
Description changed by johnjamesjacoby:

Old description:

> When the tests are run with `composer test`, the following groups are
> excluded:
>
> * `ajax`
> * `ms-files`
> * `ms-required`
> * `external-http`
>
> When the tests are run with Multisite enabled with `composer test -- -c
> tests/phpunit/multisite.xml`, the following groups are excluded:
>
> * `ajax`
> * `ms-files`
> * `ms-excluded`
> * `external-http`
> * `oembed-headers`
>
> The `ms-required` and `ms-excluded` group exclusions are needed so that
> the Multisite-specific tests and single-site-specific tests don't run
> when they don't need to.
>
> It's less clear why the other groups in these lists are excluded by
> default.
>
> The `ajax` and `ms-files groups are not slow, so excluding them for
> performance reasons doesn't make sense. I think the `ajax` exclusion
> should be removed from both the single site and Multisite configuration.
> The `ms-files` exclusion should be removed too because the tests in the
> `ms-files` group don't get registered on a non-Multisite test run so the
> exclusion is redundant.
>
> The `external-http` tests are excluded because they are somewhat slow,
> taking around 10-15 seconds on GitHub Actions and around 40 seconds on my
> local, highly dependent on network connection speed. Let's keep these
> excluded by default.
>
> The `oembed-headers` group is excluded by default because it requires
> Xdebug, however this is already covered by the `@requires function
> xdebug_get_headers` tag on the only test in this group, along with being
> in the `debug` group which runs separately on GitHub Actions. The
> `oembed-headers` group exclusion can be removed as it's redundant.
>
> Here's my proposed new config for `phpunit.xml.dist`:
>
> {{{
> <exclude>
>     <group>ms-required</group>
>     <group>external-http</group>
> </exclude>
> }}}
>
> and for `multisite.xml`:
>
> {{{
> <exclude>
>     <group>ms-excluded</group>
>     <group>external-http</group>
> </exclude>
> }}}

New description:

 When the tests are run with `composer test`, the following groups are
 excluded:

 * `ajax`
 * `ms-files`
 * `ms-required`
 * `external-http`

 When the tests are run with Multisite enabled with `composer test -- -c
 tests/phpunit/multisite.xml`, the following groups are excluded:

 * `ajax`
 * `ms-files`
 * `ms-excluded`
 * `external-http`
 * `oembed-headers`

 The `ms-required` and `ms-excluded` group exclusions are needed so that
 the Multisite-specific tests and single-site-specific tests don't run when
 they don't need to.

 It's less clear why the other groups in these lists are excluded by
 default.

 The `ajax` and `ms-files` groups are not slow, so excluding them for
 performance reasons doesn't make sense. I think the `ajax` exclusion
 should be removed from both the single site and Multisite configuration.
 The `ms-files` exclusion should be removed too because the tests in the
 `ms-files` group don't get registered on a non-Multisite test run so the
 exclusion is redundant.

 The `external-http` tests are excluded because they are somewhat slow,
 taking around 10-15 seconds on GitHub Actions and around 40 seconds on my
 local, highly dependent on network connection speed. Let's keep these
 excluded by default.

 The `oembed-headers` group is excluded by default because it requires
 Xdebug, however this is already covered by the `@requires function
 xdebug_get_headers` tag on the only test in this group, along with being
 in the `debug` group which runs separately on GitHub Actions. The `oembed-
 headers` group exclusion can be removed as it's redundant.

 Here's my proposed new config for `phpunit.xml.dist`:

 {{{
 <exclude>
     <group>ms-required</group>
     <group>external-http</group>
 </exclude>
 }}}

 and for `multisite.xml`:

 {{{
 <exclude>
     <group>ms-excluded</group>
     <group>external-http</group>
 </exclude>
 }}}

--

-- 
Ticket URL: <https://core.trac.wordpress.org/ticket/52610#comment:1>
WordPress Trac <https://core.trac.wordpress.org/>
WordPress publishing platform


More information about the wp-trac mailing list