All Versions
49
Latest Version
Avg Release Cycle
51 days
Latest Release
-

Changelog History
Page 1

  • v2.5.1 Changes

    ๐Ÿ›  Fixes

    • โœ… skipped tests only show as 'S' when running with -v [3ab38ae]
    • ๐Ÿ›  Fix typo in docs/index.md (#1082) [55fc58d]
    • ๐Ÿ›  Fix typo in docs/index.md (#1081) [8a14f1f]
    • ๐Ÿ›  Fix link notation in docs/index.md (#1080) [2669612]
    • ๐Ÿ›  Fix typo in --progress deprecation message (#1076) [b4b7edc]

    ๐Ÿšง Maintenance

    • chore: Included githubactions in the dependabot config (#976) [baea341]
    • โฌ†๏ธ Bump golang.org/x/sys from 0.1.0 to 0.2.0 (#1075) [9646297]
  • v2.5.0 Changes

    Ginkgo output now includes a timeline-view of the spec

    0๏ธโƒฃ This commit changes Ginkgo's default output. Spec details are now presented as a timeline that includes events that occur during the spec lifecycle interleaved with any GinkgoWriter content. This makes is much easier to understand the flow of a spec and where a given failure occurs.

    The --progress, --slow-spec-threshold, --always-emit-ginkgo-writer flags ๐Ÿ—„ and the SuppressProgressReporting decorator have all been deprecated. Instead ๐Ÿ‘ the existing -v and -vv flags better capture the level of verbosity to display. However, a new --show-node-events flag is added to include node > Enter and < Exit events in the spec timeline.

    In addition, JUnit reports now include the timeline (rendered with -vv) and custom JUnit ๐Ÿ”ง reports can be configured and generated using GenerateJUnitReportWithConfig(report types.Report, dst string, config JunitReportConfig)

    Code should continue to work unchanged with this version of Ginkgo - however if you have tooling that was relying on the specific output format of Ginkgo you may run into issues. Ginkgo's console output is not guaranteed to be stable for tooling and automation purposes. You should, instead, use Ginkgo's JSON format ๐Ÿ— to build tooling on top of as it has stronger guarantees to be stable from version to version.

    ๐Ÿ”‹ Features

    • โฑ Provide details about which timeout expired [0f2fa27]

    ๐Ÿ›  Fixes

    • โž• Add Support Policy to docs [c70867a]

    ๐Ÿšง Maintenance

    • โฌ†๏ธ Bump github.com/onsi/gomega from 1.22.1 to 1.23.0 (#1070) [bb3b4e2]
  • v2.4.0 Changes

    ๐Ÿ”‹ Features

    • ๐Ÿ‘ DeferCleanup supports functions with multiple-return values [5e33c75]
    • โž• Add GinkgoLogr (#1067) [bf78c28]
    • Introduction of 'MustPassRepeatedly' decorator (#1051) [047c02f]

    ๐Ÿ›  Fixes

    • โœ๏ธ correcting some typos (#1064) [1403d3c]
    • ๐Ÿ›  fix flaky internal_integration interupt specs [2105ba3]
    • Correct busted link in README [be6b5b9]

    ๐Ÿšง Maintenance

    • โฌ†๏ธ Bump actions/checkout from 2 to 3 (#1062) [8a2f483]
    • โฌ†๏ธ Bump golang.org/x/tools from 0.1.12 to 0.2.0 (#1065) [529c4e8]
    • โฌ†๏ธ Bump github/codeql-action from 1 to 2 (#1061) [da09146]
    • โฌ†๏ธ Bump actions/setup-go from 2 to 3 (#1060) [918040d]
    • โฌ†๏ธ Bump github.com/onsi/gomega from 1.22.0 to 1.22.1 (#1053) [2098e4d]
    • โฌ†๏ธ Bump nokogiri from 1.13.8 to 1.13.9 in /docs (#1066) [1d74122]
    • โž• Add GHA to dependabot config [4442772]
  • v2.3.1

  • v2.3.0 Changes

    Interruptible Nodes and Timeouts

    ๐Ÿ“š Ginkgo now supports per-node and per-spec timeouts on interruptible nodes. Check out the documentation for all the details but the gist is you can now write specs like this:

    It("is interruptible", func(ctx SpecContext) { // or context.Context instead of SpecContext, both are valid.
        // do things until `ctx.Done()` is closed, for example:
        req, err := http.NewRequestWithContext(ctx, "POST", "/build-widgets", nil)
        Expect(err).NotTo(HaveOccured())
        _, err := http.DefaultClient.Do(req)
        Expect(err).NotTo(HaveOccured())
    
        Eventually(client.WidgetCount).WithContext(ctx).Should(Equal(17))
    }, NodeTimeout(time.Second*20), GracePeriod(5*time.Second))
    

    โฑ and have Ginkgo ensure that the node completes before the timeout elapses. If it does elapse, or if an external interrupt is received (e.g. ^C) then Ginkgo will cancel the context and wait for the Grace Period for the node to exit before proceeding with any cleanup nodes associated with the spec. The ctx provided by Ginkgo can also be passed down to Gomega's Eventually to have all assertions within the node governed by a single deadline.

    ๐Ÿ”‹ Features

    • ๐Ÿ‘ Ginkgo now records any additional failures that occur during the cleanup of a failed spec. In prior versions this information was quietly discarded, but the introduction of a more rigorous approach to timeouts and interruptions allows Ginkgo to better track subsequent failures.
    • SpecContext also provides a mechanism for third-party libraries to provide additional information when a Progress Report is generated. Gomega uses this to provide the current state of an Eventually().WithContext() assertion when a Progress Report is requested.
    • DescribeTable now exits with an error if it is not passed any Entries [a4c9865]
  • v2.2.0 Changes

    Generate real-time Progress Reports [f91377c]

    Ginkgo can now generate Progress Reports to point users at the current running line of code (including a preview of the actual source code) and a best guess at the most relevant subroutines.

    ๐ŸŽ These Progress Reports allow users to debug stuck or slow tests without exiting the Ginkgo process. A Progress Report can be generated at any time by sending Ginkgo a SIGINFO (^T on MacOS/BSD) or SIGUSR1.

    ๐Ÿ“Š In addition, the user can specify --poll-progress-after and --poll-progress-interval to have Ginkgo start periodically emitting progress reports if a given node takes too long. These can be overriden/set on a per-node basis with the PollProgressAfter and PollProgressInterval decorators.

    ๐Ÿ‘ Progress Reports are emitted to stdout, and also stored in the machine-redable report formats that Ginkgo supports.

    Ginkgo also uses this progress reporting infrastructure under the hood when handling timeouts and interrupts. This yields much more focused, useful, and informative stack traces than previously.

    ๐Ÿ”‹ Features

    • BeforeSuite, AfterSuite, SynchronizedBeforeSuite, SynchronizedAfterSuite, and ReportAfterSuite now support (the relevant subset of) decorators. These can be passed in after the callback functions that are usually passed into these nodes.

    As a result the signature of these methods has changed and now includes a trailing args ...interface{}. For most users simply using the DSL, this change is transparent. However if you were assigning one of these functions to a custom variable (or passing it around) then your code may need to change to reflect the new signature.

    ๐Ÿšง Maintenance

    • Modernize the invocation of Ginkgo in github actions [0ffde58]
    • โšก๏ธ Update reocmmended CI settings in docs [896bbb9]
    • โœ… Speed up unnecessarily slow integration test [6d3a90e]
  • v2.1.6 Changes

    ๐Ÿ›  Fixes

    • โž• Add SuppressProgressReporting decorator to turn off --progress announcements for a given node [dfef62a]
    • ๐Ÿšš chore: remove duplicate word in comments [7373214]
  • v2.1.5 Changes

    ๐Ÿ›  Fixes

    • โฌ‡๏ธ drop -mod=mod instructions; fixes #1026 [6ad7138]
    • Ensure CurrentSpecReport and AddReportEntry are thread-safe [817c09b]
    • โœ‚ remove stale importmap gcflags flag test [3cd8b93]
    • Always emit spec summary [5cf23e2] - even when only one spec has failed
    • ๐Ÿ›  Fix ReportAfterSuite usage in docs [b1864ad]
    • ๐Ÿ›  fixed typo (#997) [219cc00]
    • TrimRight is not designed to trim Suffix [71ebb74]
    • ๐Ÿ”จ refactor: replace strings.Replace with strings.ReplaceAll (#978) [143d208]
    • ๐Ÿ›  fix syntax in examples (#975) [b69554f]

    ๐Ÿšง Maintenance

    • โฌ†๏ธ Bump github.com/onsi/gomega from 1.20.0 to 1.20.1 (#1027) [e5dfce4]
    • โฌ†๏ธ Bump tzinfo from 1.2.9 to 1.2.10 in /docs (#1006) [7ae91c4]
    • โฌ†๏ธ Bump github.com/onsi/gomega from 1.19.0 to 1.20.0 (#1005) [e87a85a]
    • โœ… test: add new Go 1.19 to test matrix (#1014) [bbefe12]
    • โฌ†๏ธ Bump golang.org/x/tools from 0.1.11 to 0.1.12 (#1012) [9327906]
    • โฌ†๏ธ Bump golang.org/x/tools from 0.1.10 to 0.1.11 (#993) [f44af96]
    • โฌ†๏ธ Bump nokogiri from 1.13.3 to 1.13.6 in /docs (#981) [ef336aa]
  • v2.1.4 Changes

    ๐Ÿ›  Fixes

    • ๐Ÿ“š Numerous documentation typos
    • Prepend when when using When (this behavior was in 1.x but unintentionally lost during the 2.0 rewrite) [efce903]
    • ๐Ÿ‘Œ improve error message when a parallel process fails to report back [a7bd1fe]
    • ๐Ÿ—„ guard against concurrent map writes in DeprecationTracker [0976569]
    • ๐Ÿ›  Invoke reporting nodes during dry-run (fixes #956 and #935) [aae4480]
    • ๐Ÿ›  Fix ginkgo import circle [f779385]
  • v2.1.3 Changes

    See https://onsi.github.io/ginkgo/MIGRATING_TO_V2 for details on V2.

    ๐Ÿ›  Fixes

    • Calling By in a container node now emits a useful error. [ff12cee]