Граф коммитов

56 коммитов

Автор SHA1 Сообщение Дата
Viacheslav Poturaev
e55eab64f7
Add details to "step is undefined" error (#669)
* Add details to "step is undefined" error

* Update changelog
2024-12-10 16:54:49 +01:00
GrindStone
da4633a421
Localisation support (#665)
* Add dialect options to support localisation

* Add test for ParseFeatures support for localisation
2024-11-14 10:42:18 +01:00
Tighearnán Carroll
c5a88f62c2
fix(formatter): On concurrent execution, execute formatter at end of Scenario (#645)
* fix(formatter): add onflush logger only print output at end of scenario when running concurrently

* add to changelog

* fix tests

* fix scenario outline output for the Pretty formatter

* fix casing for linter

* add coverage for new storage function

* relate suite back to where it was originally

* better type assertion on flush log

* var name for asserted formatter that doesn't clash with stdlib's fmt

* add coverage to summary

* only defer flush func when running concurrently

* much more concise way of deferring the flush

---------

Co-authored-by: Viacheslav Poturaev <vearutop@gmail.com>
2024-11-08 17:05:40 +01:00
John Lonergan
ecd2dfebbd
Ambiguous step detection - add support to all formatters (#648)
* added the missing impl of json/events/junit/pretty - still need 'progress' and 'junit,pretty'

* added tests for "progress formatter"

* switched from tabs to spaces in the ambiguous steps error message

* rename some_scenarions_including_failing
to     some_scenarios_including_failing

* changelog
2024-10-16 15:41:47 +01:00
John Lonergan
223efc3b14
Fix some type checks on the signatures of nested step handlers (#647)
* at some point someone changed the return type for nested steps from []string to godog.Steps but they forgot to adjust the type checks. The existing type checks were lax and unable to distinguish  []string from godog.Steps but in a couple of places in the code the value is coerced to godog.Steps and so if someone returned []string then the code would blow up. Additionally there were some tests aroudn these types but they also had not been updated but the test was passing for the wrong reason - the particular test expected an error but the cause of the error wasn't the one the code expected.

* CHANGELOG.md

* use chatgpt to regen the top of the code based on the new tests

* use chatgpt to regen the top of the code based on the new tests

* corrected the error messages of the param checks to indicate that the problem is the function signature and not the args being passed to the function, also added numerous extra assertions on the precise error messages returned. Now that the precise error is being verified in the test I have improved certain error messages to that more accurate detail is included in the errors

* added further constraints to the step arg mapping tests

* removed redundant test

* include a step error result in the reported error even when the ctx is nil
2024-10-15 13:25:13 +01:00
John Lonergan
8edde7f30c
Bugfix afterscenario attachments (#646)
* Minor doc and comment corrections

* Fixed bug where it was impossible to make attachments from 'after scenario' hook, also removed some dud comments.

* typo
2024-10-06 02:12:56 +01:00
John Lonergan
901da7fa3d
fixed a bug where the attachments are extracted from the context too early, this prevented AfterStep from making attachments (#637)
* fixed a bug where the attachments are extracted from the context too early, this prevented AfterStep from making attachments
2024-07-23 17:22:51 +01:00
John Lonergan
bcf6bce793
ambiguous step def detection akin to cucumber jvm (#636)
* added basic detection for ambiguous steps, but causes an error and not yet recorded in the reports as 'Ambiguous', and no test cases figured out yet

* added initial support for detection of ambiguous steps - further work take a look at how cuke jvm report ambiguous steps and sets the step status to 'ambiguous' rather than my current solution which just blows the test up as a regular step error

* added suite_context_test and also introduced missing 'ambiguous' status to make cucumber jvm'

* update CHANGELOG for ambiguous step defs

* missed file from commit

* added internal/formatters/fmt_multi_test.go

* add tests for other peoples code

* added "ambigous" to the help text

* tests

* added some more tests for attachments

* Update internal/flags/flags.go

Co-authored-by: Viacheslav Poturaev <nanopeni@gmail.com>

---------

Co-authored-by: Viacheslav Poturaev <nanopeni@gmail.com>
2024-07-01 10:28:39 +01:00
John Lonergan
3abb346b28
provisional: Attachments now uses base64 padding not raw mode (#629)
* corrected base64 encoding of attachments to use padding as that's what cuke JVM does
2024-05-31 21:33:57 +01:00
John Lonergan
9558224cce
Additional code review observations on Attach() functionality from https://github.com/cucumber/godog/pull/623 (#628)
* support multiple calls to the Attach() function from a single step

* run_progress_test.go changed so it's not sensitive to the name of the clone target directory

* applied code review comments also added _example/attachments

* applied code review comments also added _example/attachments

* applied code review comments also added _example/attachments
2024-05-30 02:29:14 +00:00
John Lonergan
201e526078
added support for Attachments (aka Embedddings) (#623)
* added support for attachments in the cucumber json and events output formats - done by sneaking the attachment into the context.Context object.
2024-05-29 00:02:08 +01:00
Iaroslav Ciupin
da57dd0766
Fix step duration calculation (#616) 2024-04-08 14:08:21 +02:00
Glib Briia
250d69ab63
Fixes #604 - remove line overwriting for scenario outlines in cucumber formatter (#605) 2024-01-31 07:04:29 +00:00
Viacheslav Poturaev
888fe3f294
Improve ErrSkip handling, add test for Summary and operations order (#584) 2023-10-29 22:59:14 +01:00
Kirubel Adamu
25274b0291
updated base formatter to set a scenario as passed unless there exist… (#582) 2023-10-27 19:28:41 +02:00
Viacheslav Poturaev
ea50e4bdfc
Use staticcheck GitHub Action (#563) 2023-06-06 16:52:06 +02:00
Viacheslav Poturaev
35820ff9fe Reduce deps, fix CI for go1.16, format imports 2023-05-26 16:38:51 +02:00
Viacheslav Poturaev
aba6a689a4
Update CI for go1.20 (#552) 2023-04-04 00:11:09 +02:00
Tighearnán Carroll
6ce2b8696b
Use fs.FS abstraction for filesystem (#550)
* compiles

* mock fs in tests

* fix parser tests

* fix run.go

* rename FeatureFS to FS

* fix docs typos

* remove debug log

* add os.DirFS("./") to default options

* reword docstring

* add fs wrapper

* updated readme and changelog

* added note

* fix changelog

* remove ./ gating from defaults

* add new storage.FS tests

* increase coverage of parser.parsePath

* increase coverage of TestSuite.RetrieveFeatures

* remove another os.Stat

---------

Co-authored-by: Tighearnán Carroll <tighearnan.carroll@gamil.com>
2023-03-27 21:52:51 +02:00
Alexandru Chitu
2264a0037b
chore(*): BREAKING CHANGE, use new repos for cucumber and messages (#515)
* chore(*): use new repos for cucumber and messages

* chore(*): go mod tidy _examples

Co-authored-by: otrava7 <alexandru.chit@gmail.com>
2023-01-05 12:41:56 +01:00
Viacheslav Poturaev
c35ea0b236
Remove deprecation from flags, update example to use CLI flags (#498)
* Remove deprecation from flags, update example to use CLI flags

* Add comment to ShowHelp option

* Fix test

* Update CHANGELOG.md
2022-08-31 10:17:00 +02:00
Aaron Kaswen-Wilk
d45a9aaaa3
add new option for created features with parsing from byte slices (#476) 2022-07-26 15:36:23 +02:00
Brian Hnat
5d705e5b8e
Pretty Print when using rules (#440) (#480)
* Pretty Print when using rules (#440)

* Pretty Print when using rules (#440)

* fix a few formatting mistakes (#440)

* added test with rule and scenario outline (#440)
2022-06-17 07:32:07 -07:00
Arianna Cooper
1a795f1dde
Fix issue#383 (#468)
* Add example about incorrect project structure

This is to help reproduce #383

* Added some debugging statements

* Update go.sum for example project

* Made a cmd_run_test.go file in order to test and run the builderAndRunGodog function in order to see it fail

* added new assertion test

* Matt and I added debugging

Co-authored-by: Matt Wynne <matt@mattwynne.net>

* Matt and I tried to logging through the cobra command

by using cmd.OutOrStdout( )

* Improved some debugging

* Add a failing test for Builder that reproduces #383

* added new test for IncorrectProjectStructure #383

* Revert "Add a failing test for Builder that reproduces #383"

This reverts commit e5b26933b5d4e979009f8f4341448fa8322720d2.

* ignored vscode files

Co-authored-by: Matt Wynne <matt@cucumber.io>

* undid debugging changes

* undid debugging changes

* removed redundant test

* added check for incorrect project structure

we examined the output from running `go test` which tells us if we didn't
find any test files.
we tweaked the error message to follow the capitalization rules

Co-authored-by: Matt Wynne <matt@cucumber.io>

* Update internal/builder/builder_test.go

Co-authored-by: Matt Wynne <matt@mattwynne.net>
Co-authored-by: Matt Wynne <matt@cucumber.io>
Co-authored-by: Viacheslav Poturaev <nanopeni@gmail.com>
2022-04-28 14:33:24 +02:00
Viacheslav Poturaev
6f877d6b03
Fix support for go1.18 (#466) 2022-03-26 10:16:17 +01:00
Viacheslav Poturaev
86a56351ef
Fix compilation for non-modules (#436) 2021-10-14 19:25:30 +02:00
Viacheslav Poturaev
afaebf26c1
Add go1.17 to CI tests (#423) 2021-08-17 11:29:12 +02:00
Viacheslav Poturaev
61730298a5
Add option to run scenarios as *testing.T subtests (#419) 2021-08-11 17:19:05 +02:00
Levi Noecker
c6c2a0885b
Export internal formatters (#372) 2021-08-10 11:27:17 +02:00
Viacheslav Poturaev
09d7d85abf
Fix execution of scenarios provided as a list of path:line (#414) 2021-08-07 22:37:31 +02:00
Viacheslav Poturaev
b1728ff551
Add new contextualized API for hooks and steps (#409)
* Add new contextualized API for hooks and steps

* Make default context configurable

* Run AfterStep hooks even after failed steps, fixes #370

* Update CHANGELOG and README

* Add step result status to After hook, fixes #378

* Elaborate hooks documentation

* Add test to pass state between contextualized steps

* Update README with example of passing state between steps
2021-08-03 17:48:05 +02:00
Karsten Franke
7d343d4e35
Fix step definition output for Data Tables (#411)
* Fix step definition output for Data Tables

This fixes incorrect step definition output for Data Tables. The
PickleStepArgument_PickleTable type does not exist in the current
messages-go version.

* updated CHANGELOG.md
2021-07-29 10:27:00 +02:00
tfreville
63fd657a22 test: Add test for stepdef model 2021-07-13 10:35:45 +02:00
tfreville
fca39e4e89 test(convey): Add goconvey for test to ease test writting.
Add tests for panic in test_context initialization.

Made as independ commit so it can be rollbacked.
2021-07-13 10:34:25 +02:00
tfreville
fbed999ad8 feat(step_definition): Allows to define step function without return.
Issue: It is not possible to use function without return when
       matching steps, resulting in a lot of Nil only error
       returns.

Fix: Allows to provide empty result function by correctly matching
     reflect Calls on step Handler.
     When nothing is returned by the Handler, it will return
     nil as if errors was nil.
2021-07-13 10:31:39 +02:00
Viacheslav Poturaev
885805bfd3 Remove parallel testing to avoid "go: updating go.mod: existing contents have changed since last read" 2021-07-07 21:06:13 +02:00
Viacheslav Poturaev
15ab3cd84f Remove parallel testing to avoid "go: updating go.mod: existing contents have changed since last read" 2021-07-07 21:01:26 +02:00
Viacheslav Poturaev
bd397253a4 Run "go mod tidy" during build to comply with https://blog.golang.org/go116-module-changes#TOC_3. 2021-07-07 20:45:51 +02:00
Viacheslav Poturaev
c6e9cd0e19 Revert return logic to restore previous behavior and pass the original test 2021-07-07 20:12:56 +02:00
Viacheslav Poturaev
f34f37dfd2 Upgrade MultiFormatter to use messages-go/v16 2021-07-07 19:47:46 +02:00
Aslak Hellesøy
7cadaeffdb
Merge pull request #392 from vearutop/multi
Use multiple formatters in the same test run
2021-07-07 16:32:58 +01:00
MBow
5414f3c5da update gherkin-go to v19.0.3
update messages-go to v16.0.1
bump gomod version
comment on log line in std os.Stderr
examples to non rc version
go mod tidy
update circle (tbd)
2021-06-28 17:19:43 +01:00
Viacheslav Poturaev
707025de28 Add test for multi formatter 2021-05-30 22:32:34 +02:00
Viacheslav Poturaev
9d4b221f7a Use multiple formatters in the same test run 2021-05-30 22:11:44 +02:00
Hiram Chirino
5ac22c454c feat: generate simpler snippets that use *godog.DocString and *godog.Table 2021-03-16 09:42:22 +01:00
Hiram Chirino
2b6c9dc82e feat: support auto converting doc strings to plain strings 2021-03-16 09:40:37 +01:00
Rickard Englund
2fc2995149
make pickleStepIDs unique accross multiple paths (#366)
* make pickleStepIDs unique accross multiple paths

* add test case for duplicate pickle ids

* go fmt

Co-authored-by: Rickard Englund <rickard.englund@skf.com>
2020-12-16 13:22:11 +01:00
Fredrik Lönnblad
7014a10e2f
Fixed the undefined step definitions help (#350) 2020-10-14 08:39:14 +02:00
Fredrik Lönnblad
5e994943b3
Improved the help text of the formatter flag in the run command (#347)
* Improved the help text of the formatter flag in the run command

* Made some more changes to the help text for the run command

* made some small changes to the help text of the run and build cmd
2020-10-12 09:13:45 +02:00
Fredrik Lönnblad
66793de350
Merge pull request #321 from cucumber/new-flag-pkg
Added Cobra for the Command Line Interface
2020-10-08 18:35:06 +02:00