run method

Ejecuta todos los benchmarks de la suite

Implementation

Future<BenchmarkSuiteResult> run() async {
  final results = <BenchmarkResult>[];

  ObslyLogger.log('🎯 Running benchmark suite: $name');

  for (final test in tests) {
    try {
      ObslyLogger.debug('  Running: ${test.name}...');
      await test.setup();

      final result = await test.run().timeout(test.timeout);
      results.add(result);

      ObslyLogger.debug('  ✅ ${test.name}: ${result.average.inMilliseconds}ms avg');

      await test.teardown();
    } catch (e) {
      ObslyLogger.error('  ❌ ${test.name} failed: $e');
      // Continuar con el siguiente test
    }
  }

  return BenchmarkSuiteResult(
    suiteName: name,
    results: results,
  );
}