Paramaterised Suites?

It really depends what you mean by "parameterized suites." The topic has come up before, and I don't think we can universally agree on a definition of the term, let alone figure out how to implement it.

Based on your post here, I don't think "parameterized suites" is necessarily the right solution so much as something that sounds like it might be shoehornable. So I'm going to try to address this problem instead:

Hypothetically, if the following compiled, would it solve your problem?

@Suite protocol CommonTests {
  @Test func f()
  @Test func g()
}

extension CommonTests {
  func f() { ... }
  func g() { ... }
}

@Suite struct Tests1: CommonTests {
  // inherits f() and g() automatically
}

As of right now, we can't build anything like the above because our current mechanism for emitting metadata into a binary doesn't let us specialize generic types such as any/some CommonTests at runtime. I'm working on replacing that mechanism with a new one that is more flexible and ought to let us perform that sort of protocol specialization.