   let afterRunSleep: Int?
 
   /// The list of tests to run.
-  var tests = [(index: String, info: BenchmarkInfo)]()
+  let tests: [(index: String, info: BenchmarkInfo)]
 
   let action: TestAction
 
-  init() throws {
+  init(_ registeredBenchmarks: [BenchmarkInfo]) throws {
 
     struct PartialTestConfig {
       var delim: String?
-      var filters: [String]?
       var tags, skipTags: Set<BenchmarkCategory>?
       var iterationScale, numSamples, afterRunSleep: Int?
       var fixedNumIters: UInt?
       var verbose: Bool?
       var action: TestAction?
+      var filters: [String]?
     }
     var c = PartialTestConfig()
 

    guard let benchArgs = parseArgs(validOptions) else {
      throw ArgumentError.general("Failed to parse arguments")
    }

    filters = benchArgs.positionalArgs

    func checked<T>(
      _ parse: (String) throws -> T?,

                      maxRSS: UInt64(sampler.measureMemoryUsage()))
}

/// Execute benchmarks and continuously report the measurement results.
func runBenchmarks(_ c: TestConfig) {
  let withUnit = {$0 + "(us)"}
