- Issue created by @mondrake
- @mondrake opened merge request.
- 🇺🇸United States smustgrave
Seems pretty straight forward, didn't seem to break gitlab :). Not sure if this kind of change needs a CR but addition of --phpunit-configuration seems fine to me.
- 🇬🇧United Kingdom jonathan1055
@mondrake and @smustgrave, Would you like me to use this patch in a Contrib pipeline to try it and see if I can use an alternative phpunit.xml when runing phpunif with run-tests.sh?
- 🇬🇧United Kingdom jonathan1055
I have the mechanics of this working now in Scheduler MR194. The
patch
has to be allowed to fail because the two.gitlab
files are not present, but that does not matter, the other two files are patched OK. I have added a custom phpunit config, calledcustom.xml
just to make sure we can tell it is distinct. I have defined a testsuite in it, but using--testsuite
givesERROR: Unknown argument '--testsuite'
as that is not a recognised parameter inrun-tests.sh
https://git.drupalcode.org/project/scheduler/-/jobs/5637581I then tried just using the name of the testsuite, which is 'only-token-test' and that gives
ERROR: Test group not found: only-token-test
because of course the default type of filter is on test group, not test suite.
https://git.drupalcode.org/project/scheduler/-/jobs/5637673Do you have other suggestions on how I can verify that this config is active? If I pass in --module, --class or --file then those arguments will take precedence.
- 🇮🇹Italy mondrake 🇮🇹
@jonathan1055 the way core executes individual PHPUnit testsuites is via run-tests.sh
--types "$TESTSUITE" --all
arguments.But there is a BUT: there's a difference between the way testsuites are indicated in the .gitlab-ci.yml file and how they're defined in the phpunit.xml.dist testsuites section. run-tests.sh manages on the fly the conversion between e.g.
PHPUnit-Unit
(in GitLab CI) andunit
(in phpunit.xml) and viceversa.I do not remember what would happen if the
--types "$TESTSUITE" --all
has a $TESTSUITE value which is not one of the core phpunit's testsuites. Worth checking it, and if it fails, fix here to let fallback the conversion to the input value.I think it would be worth deprecating
--types
and--all
arguments and introduce sth along the lines of--phpunit-testsuite
and--phpunit-group
to match PHPUnit's--testsuite
and--group
arguments, but IMHO should be part of a follow-up issue. The Needs Review Queue Bot → tested this issue. It no longer applies to Drupal core. Therefore, this issue status is now "Needs work".
This does not mean that the patch necessarily needs to be re-rolled or the MR rebased. Read the Issue Summary, the issue tags and the latest discussion here to determine what needs to be done.
Consult the Drupal Contributor Guide → to find step-by-step guides for working with issues.
- 🇬🇧United Kingdom jonathan1055
Thanks for the hint @mondrake re #9 - #10. I have now sucessfully used this MR in a contrib pipeline. In my
custom.xml
I defined<testsuite name="only-default-time"></coce> then added <code>--types only-default-time --all --phpunit-configuration $PHPUNIT_CONFIGURATION_FILE_PATH
in .gitlab-ci.yml and the specified subset of tests was run. This demonstrates that my specifiedcustom.xml
config must be active and that therefore we can use this mechanism in Gitlab Templates for Contib pipelines too. - 🇬🇧United Kingdom catch
This looks good to me but I agree with #5 that it could use a CR (could have been moved to needs work for that instead of RTBC).
- 🇬🇧United Kingdom catch
This looks good to me, should make it easier long term for phpunit 12 etc.
Committed/pushed to 11.x, thanks!