Yes, I think that’s the way to go. :) I willl be happy to answer questions!
On Fri, Feb 19, 2021 at 23:57 João Ferreira <[email protected]> wrote: > @José I thought about that at first but I *think* it means pulling the > `after_suite` callback execution out from `ExUnit.Runner` into the main > `ExUnit` module, and possibly calling the callbacks with no args, or empty > stats, since when the mix task finds no files it exits with non-0 status > and we end up here > <https://github.com/elixir-lang/elixir/blob/v1.11.3/lib/ex_unit/lib/ex_unit.ex#L213>? > I could be wrong, wasn't able to figure my way around the tests yet. > > If the above is true this might be a more meaningful change, but happy to > pursue it with guidance. > > On Friday, February 19, 2021 at 1:07:45 PM UTC José Valim wrote: > >> Thanks for the proposal. >> >> Perhaps it makes sense to run after_run in said cases as well. This way >> we can skip adding before_suite and make after_suite more consistent. WDYT? >> >> On Fri, Feb 19, 2021 at 12:57 PM João Ferreira <[email protected]> >> wrote: >> >>> Hey all, >>> >>> I'd like to propose the complement to ExUnit.after_suite/1 which runs a >>> set of callbacks immediately before the test suite starts. >>> >>> We can set up code that's run before the test suite in test_helper.exs >>> but, unlike ExUnit.after_suite/1, this code runs regardless of there being >>> any actual tests to run as part of the suite. So if we *need* to tear >>> down some code that was set up in test_helper.exs but no tests are run, >>> we're out of luck. >>> >>> Here's a particular example: >>> >>> 1. Running an umbrella project with 2 apps >>> 2. mix test specific/file/in/app/1.ex >>> 3. Setup & tear-down happen correctly in app 1 suite >>> 4. Setup happens in app 2, but tear-down does not, because no files >>> match the given path, and after_suite callbacks don't run. >>> >>> Adding before_suite callbacks with the same semantics as after_suite >>> would be helpful here, since setup would only happen if there were any >>> tests to run. >>> >>> Cheers, >>> João >>> >> >>> -- >>> You received this message because you are subscribed to the Google >>> Groups "elixir-lang-core" group. >>> To unsubscribe from this group and stop receiving emails from it, send >>> an email to [email protected]. >>> To view this discussion on the web visit >>> https://groups.google.com/d/msgid/elixir-lang-core/884211ef-56dc-4a4b-b493-e8b67445e094n%40googlegroups.com >>> <https://groups.google.com/d/msgid/elixir-lang-core/884211ef-56dc-4a4b-b493-e8b67445e094n%40googlegroups.com?utm_medium=email&utm_source=footer> >>> . >>> >> -- > You received this message because you are subscribed to the Google Groups > "elixir-lang-core" group. > To unsubscribe from this group and stop receiving emails from it, send an > email to [email protected]. > To view this discussion on the web visit > https://groups.google.com/d/msgid/elixir-lang-core/b073fc21-ac5c-4ceb-bb20-275f3c823e0bn%40googlegroups.com > <https://groups.google.com/d/msgid/elixir-lang-core/b073fc21-ac5c-4ceb-bb20-275f3c823e0bn%40googlegroups.com?utm_medium=email&utm_source=footer> > . > -- You received this message because you are subscribed to the Google Groups "elixir-lang-core" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. To view this discussion on the web visit https://groups.google.com/d/msgid/elixir-lang-core/CAGnRm4LH4N88_sUUMWxJeWb4DcAYLiDjEE2J6X4boa4z1a8paA%40mail.gmail.com.
