// Copyright (c) 2019, 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 'already_migrated_code_decorator_test.dart'
    as already_migrated_code_decorator_test;
import 'api_test.dart' as api_test;
import 'decorated_class_hierarchy_test.dart' as decorated_class_hierarchy_test;
import 'decorated_type_test.dart' as decorated_type_test;
import 'edge_builder_flow_analysis_test.dart'
    as edge_builder_flow_analysis_test;
import 'edge_builder_test.dart' as edge_builder_test;
import 'edit_plan_test.dart' as edit_plan_test;
import 'edit_planner_pass_through_merging_test.dart'
    as edit_planner_pass_through_merging_test;
import 'fantasyland/test_all.dart' as fantasyland;
import 'fix_aggregator_test.dart' as fix_aggregator_test;
import 'fix_builder_test.dart' as fix_builder_test;
import 'fix_reason_target_test.dart' as fix_reason_target_test;
import 'instrumentation_test.dart' as instrumentation_test;
import 'isolate_server_test.dart' as isolate_server_test;
import 'node_builder_test.dart' as node_builder_test;
import 'nullability_node_test.dart' as nullability_node_test;
import 'utilities/test_all.dart' as utilities;
import 'variables_test.dart' as variables;

main() {
  defineReflectiveSuite(() {
    already_migrated_code_decorator_test.main();
    api_test.main();
    decorated_class_hierarchy_test.main();
    decorated_type_test.main();
    edge_builder_flow_analysis_test.main();
    edge_builder_test.main();
    edit_plan_test.main();
    edit_planner_pass_through_merging_test.main();
    fantasyland.main();
    fix_aggregator_test.main();
    fix_builder_test.main();
    fix_reason_target_test.main();
    instrumentation_test.main();
    isolate_server_test.main();
    node_builder_test.main();
    nullability_node_test.main();
    utilities.main();
    variables.main();
  });
}
