On Wed, 5 Jan 2022 at 10:12, José Valim <jose.va...@dashbit.co> wrote:
> > * if true, runs the tests asynchronously with other modules > * if false, runs the tests synchronously with other modules > * if an atom, runs the tests synchronously with modules in the same > group (atom) and asynchronously with the remaining ones > Perfect! This is exactly what I'm proposing :) > The big question is: would we want the opposite? If an atom, runs the > tests asynchronously with modules in the same group and synchronously with > the remaining ones? And I would say that sounds doable too. > I guess if it's easy to do at the same time, but I think the same effect could be achieved using tags: multiple runs of `mix test --only group_<x>` would separate the groups, running tests within each async, but each group synchronously with respect to the next. > > async: true | false | {:async_within, :group} | {:async_outside, :group} > Best ideas I can come up with are *async: {isolate: :group}*, and *async: > {alongside: :group}*, but not sure how much better that is. > I'd suggest matching the naming convention for filtering tags from mix: async: {:exclude, [:group1, :group2]} async: {:only, [:group1, :group2]} # if this feature is wanted I do think we need a list, as there may be multiple groups we need to exclude from running simultaneously. I am also a little concerned about confusion between groups defined here for async groups, and test module tags. Paul -- 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 elixir-lang-core+unsubscr...@googlegroups.com. To view this discussion on the web visit https://groups.google.com/d/msgid/elixir-lang-core/CALZj-Vq%2BuUsqEHtqZvDok0wr5ycs9u%3DLeyh5Oqs-8JouV%3D0W9g%40mail.gmail.com.