-
-
Notifications
You must be signed in to change notification settings - Fork 62
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
PHP - Introduce Mutation testing #52
base: main
Are you sure you want to change the base?
Conversation
906dac7
to
ca6903f
Compare
ca6903f
to
2ccdcf2
Compare
I've cleaned out a lot of the 'fixes' as they were cluttering the PR - I'll do them after this is merged It looks like the PHP composer install is being rate-limited at GitHub, which I don't think should happen in GHA! Investigating... |
This writes the github auth token to a config file in ~/.composer, which then uses it when downloading packages This will help with github rate limiting, as was happening on cucumber#52 Documentation here: https://github.com/shivammathur/setup-php#github-composer-authentication
ok, #55 might fix the rate limits + I'll rebase on top of that when it's merged |
This writes the github auth token to a config file in ~/.composer, which then uses it when downloading packages This will help with github rate limiting, as was happening on #52 Documentation here: https://github.com/shivammathur/setup-php#github-composer-authentication
2ccdcf2
to
8e97978
Compare
@@ -39,12 +29,13 @@ clean: ## Remove all build artifacts and files generated by the acceptance tests | |||
|
|||
.DELETE_ON_ERROR: | |||
|
|||
acceptance: .built $(TOKENS) $(ASTS) $(PICKLES) $(ERRORS) $(SOURCES) ## Build acceptance test dir and compare results with reference | |||
acceptance: .built ## Test parser against test data |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Not sure if this should be .PHONY
now?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
You can remove the goal entirety.
Do update the php/README.md
with info about the structure.
8e97978
to
09eca5c
Compare
@@ -56,8 +57,23 @@ jobs: | |||
run: | | |||
vendor/bin/php-cs-fixer --dry-run --diff fix | |||
vendor/bin/psalm --no-cache | |||
vendor/bin/phpunit | |||
vendor/bin/phpunit --testsuite unit |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
We can run all the tests in a regular run. The separation between acceptance and unit existed only because we had different methods for testing.
This introduces mutation testing using Infection, just for the non-generated code
In order to be able to use the acceptance tests with the mutation testing tools, the acceptance testing has been transposed into PHPUnit rather than the existing bash/make version
The
gherkin-generate-tokens
binary is removed as that was only for testing, but thebin/gherkin
is left the same