List view
This milestone represents a set of work that results in being able to run the Gomega tests in parallel, consistently without spurious failures.
No due date•1/1 issues closed- No due date•6/6 issues closed
Like [Ginkgo](https://github.com/onsi/ginkgo/issues/milestones), Gomega is close to the big 1.0 The main goals of 1.0 involve: - Supporting lazy evaluation of the failure messages by modifying the matcher interface. This is a backwards incompatible change. There is currently a deprecation warning that will be removed when Gomega hits 1.0 - The `Receive` matcher (which handles asserting against channels) currently knows how to store the received object into a passed in pointer. In 1.0 it will *also* be able to take a matcher as an argument. When passed a matcher `Receive` only passes if the object received on the channel matches the passed-in matcher. - Improving the interfaces of `Eventually` and `Consistently` to allow different formats for custom intervals (`time.Duration` in particular). - Make it possible to specify the default timeouts for `Eventually` and `Consistently` globally. - Building out some comprehensive and generic test helpers to complement Gomega's matchers: - `ghttp` provides an expressive modular system for testing http clients. It spins up an `httptesting` server and allows the tester to build up handlers out of smaller mini-handler components that perform simple assertions. - `gbytes` provides a `Buffer` object that implements `io.Writer` and a `Say` matcher. You can stream data to the `Buffer` object and then make assertions on that data using `Say`. Instead of operating on the entire contents of the buffer, `Say` fast-forwards to a match so that subsequent calls to `Say` only check *new* content that's arrived since the match. This is very useful for making ordered assertions against (for example) the output of an external process. - `gexec` provides a `Session` object that starts and wraps an `exec.Cmd`. You can make assertions on the exited state of the session with the `Exit` matcher. `Session` also provides `Stdout` and `Stderr` buffers as `gbytes.Buffer` objects that can be used with the `gbytes.Say` matcher.
No due date•13/13 issues closed