onsi / ginkgo

A Modern Testing Framework for Go
http://onsi.github.io/ginkgo/
MIT License
8.12k stars 644 forks source link

Proposal: Finer-Grained Shared Resources and Parallelism #1292

Open onsi opened 9 months ago

onsi commented 9 months ago

I'd like to propose some new behavior for Ginkgo and am looking for feedback. The intent here is to solve long-standing problems that keep recurring, particularly for users who build large complex integration suites (e.g. k8s e2e suites).

Please take a look at the proposal up on hackmd.io:

https://hackmd.io/@onsi/By32R9AfT

and either comment on the doc at the link or in the comments below.

XenoPhex commented 8 months ago

I did a quick read of the proposal and at face everything outlined seems like a great addition! I'll have more time to pick through it over the weekend to really think through the Subsuites side of things. But the new Exclusive functionality is a fantastic improvement - no notes there!

👏🏽

onsi commented 8 months ago

Thanks for taking a look @XenoPhex !

pohly commented 8 months ago

I went through the proposal. Lot's of useful stuff, thanks for considering this change. I left one comment (just for clarification), the proposal itself looks good to me.

onsi commented 8 months ago

Thanks @pohly !

chombium commented 8 months ago

Hi @onsi! The proposal looks very interesting. For me it would mean no more shuffling and ordering test suites, so that the actual tests are run after a test server is build and available for use and faster test runs because I don't have to serialize everything :) This will also bring more clarity and readability when writing tests.

onsi commented 8 months ago

thanks @chombium - that’s exactly what i’m hoping this enables :) glad to hear you’re seeing it too :)

Dannyb48 commented 8 months ago

Hi @onsi I like this! As a member of team that leverages Ginkgo heavily for integration/system/e2e type tests that rely on the ordered function quite a bit this opens up some new possibilities!

onsi commented 8 months ago

thanks for taking a look @Dannyb48 ! now i just need to implement it all, lol!