// Copyright (c) 2014, 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.

library analyzer.test.generated.test_all;

import 'package:test_reflective_loader/test_reflective_loader.dart';

import 'all_the_rest_test.dart' as all_the_rest;
import 'bazel_test.dart' as bazel_test;
import 'checked_mode_compile_time_error_code_driver_test.dart'
    as checked_mode_compile_time_error_code_driver_test;
import 'checked_mode_compile_time_error_code_test.dart'
    as checked_mode_compile_time_error_code_test;
import 'compile_time_error_code_driver_test.dart'
    as compile_time_error_code_driver_test;
import 'compile_time_error_code_test.dart' as compile_time_error_code_test;
import 'constant_test.dart' as constant_test;
import 'declaration_resolver_test.dart' as declaration_resolver_test;
import 'element_resolver_test.dart' as element_resolver_test;
import 'engine_test.dart' as engine_test;
import 'error_suppression_driver_test.dart' as error_suppression_driver_test;
import 'error_suppression_test.dart' as error_suppression_test;
import 'hint_code_driver_test.dart' as hint_code_driver_test;
import 'hint_code_test.dart' as hint_code_test;
import 'incremental_resolver_test.dart' as incremental_resolver_test;
import 'inheritance_manager_test.dart' as inheritance_manager_test;
import 'java_core_test.dart' as java_core_test;
import 'java_io_test.dart' as java_io_test;
import 'non_error_resolver_driver_test.dart' as non_error_resolver_driver_test;
import 'non_error_resolver_test.dart' as non_error_resolver_test;
import 'non_hint_code_driver_test.dart' as non_hint_code_driver_test;
import 'non_hint_code_test.dart' as non_hint_code_test;
import 'parser_test.dart' as parser_test;
import 'resolver_driver_test.dart' as resolver_driver_test;
import 'resolver_test.dart' as resolver_test;
import 'scanner_test.dart' as scanner_test;
import 'sdk_test.dart' as sdk_test;
import 'simple_resolver_test.dart' as simple_resolver_test;
import 'source_factory_test.dart' as source_factory_test;
import 'static_type_analyzer_driver_test.dart'
    as static_type_analyzer_driver_test;
import 'static_type_analyzer_test.dart' as static_type_analyzer_test;
import 'static_type_warning_code_driver_test.dart'
    as static_type_warning_code_driver_test;
import 'static_type_warning_code_test.dart' as static_type_warning_code_test;
import 'static_warning_code_driver_test.dart'
    as static_warning_code_driver_test;
import 'static_warning_code_test.dart' as static_warning_code_test;
import 'strong_mode_driver_test.dart' as strong_mode_driver_test;
import 'strong_mode_test.dart' as strong_mode_test;
import 'type_system_test.dart' as type_system_test;
import 'utilities_dart_test.dart' as utilities_dart_test;
import 'utilities_test.dart' as utilities_test;

/// Utility for manually running all tests.
main() {
  defineReflectiveSuite(() {
    all_the_rest.main();
    bazel_test.main();
    checked_mode_compile_time_error_code_driver_test.main();
    checked_mode_compile_time_error_code_test.main();
    compile_time_error_code_driver_test.main();
    compile_time_error_code_test.main();
    constant_test.main();
    declaration_resolver_test.main();
    element_resolver_test.main();
    engine_test.main();
    error_suppression_driver_test.main();
    error_suppression_test.main();
    hint_code_driver_test.main();
    hint_code_test.main();
    incremental_resolver_test.main();
    inheritance_manager_test.main();
    java_core_test.main();
    java_io_test.main();
    non_error_resolver_driver_test.main();
    non_error_resolver_test.main();
    non_hint_code_driver_test.main();
    non_hint_code_test.main();
    parser_test.main();
    resolver_driver_test.main();
    resolver_test.main();
    scanner_test.main();
    sdk_test.main();
    simple_resolver_test.main();
    source_factory_test.main();
    static_type_analyzer_driver_test.main();
    static_type_analyzer_test.main();
    static_type_warning_code_driver_test.main();
    static_type_warning_code_test.main();
    static_warning_code_driver_test.main();
    static_warning_code_test.main();
    strong_mode_driver_test.main();
    strong_mode_test.main();
    type_system_test.main();
    utilities_dart_test.main();
    utilities_test.main();
  }, name: 'generated');
}
