// Copyright (c) 2015, the Dart project authors. Please see the AUTHORS file
// for details. All rights reserved. Use of this source code is governed by a
// BSD-style license that can be found in the LICENSE file.

import 'package:test_reflective_loader/test_reflective_loader.dart';

import 'command_line/test_all.dart' as command_line;
import 'context/test_all.dart' as context;
import 'dart/test_all.dart' as dart;
import 'diagnostics/test_all.dart' as diagnostics;
import 'fasta/test_all.dart' as fasta;
import 'hint/test_all.dart' as hint;
import 'lint/test_all.dart' as lint;
import 'options/test_all.dart' as options;
import 'pubspec/test_all.dart' as pubspec;
import 'services/test_all.dart' as services;
import 'source/test_all.dart' as source;
import 'summary/test_all.dart' as summary;
import 'summary2/test_all.dart' as summary2;
import 'task/test_all.dart' as task;
import 'util/test_all.dart' as util;
import 'workspace/test_all.dart' as workspace;

main() {
  defineReflectiveSuite(() {
    command_line.main();
    context.main();
    dart.main();
    diagnostics.main();
    fasta.main();
    hint.main();
    lint.main();
    options.main();
    pubspec.main();
    services.main();
    source.main();
    summary.main();
    summary2.main();
    task.main();
    util.main();
    workspace.main();
  }, name: 'src');
}
