// Copyright (c) 2020, 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 'code_generator_tests/code_generator_test.dart' as code_generator_test;
import 'collision_tests/decl_decl_collision_test.dart'
    as collision_tests_decl_decl_collision_test;
import 'collision_tests/reserved_keyword_collision_test.dart'
    as collision_tests_reserved_keyword_collision_test;
import 'example_tests/cjson_example_test.dart'
    as example_tests_cjson_example_test;
import 'example_tests/libclang_example_test.dart'
    as example_tests_libclang_example_test;
import 'example_tests/simple_example_test.dart'
    as example_tests_simple_example_test;
import 'header_parser_tests/dart_handle_test.dart'
    as header_parser_tests_dart_handle_test;
import 'header_parser_tests/function_n_struct_test.dart'
    as header_parser_tests_function_n_struct_test;
import 'header_parser_tests/functions_test.dart'
    as header_parser_tests_functions_test;
import 'header_parser_tests/globals_test.dart'
    as header_parser_tests_globals_test;
import 'header_parser_tests/macros_test.dart'
    as header_parser_tests_macros_test;
import 'header_parser_tests/native_func_typedef_test.dart'
    as header_parser_tests_native_func_typedef_test;
import 'header_parser_tests/nested_parsing_test.dart'
    as header_parser_tests_nested_parsing_test;
import 'header_parser_tests/typedef_test.dart'
    as header_parser_tests_typedef_test;
import 'header_parser_tests/unnamed_enums_test.dart'
    as header_parser_tests_unnamed_enums_test;
import 'large_integration_tests/large_test.dart'
    as large_integration_tests_large_test;
import 'native_test/native_test.dart' as native_test_native_test;
import 'rename_tests/rename_test.dart' as rename_tests_rename_test;

void main() {
  large_integration_tests_large_test.main();
  example_tests_cjson_example_test.main();
  example_tests_simple_example_test.main();
  example_tests_libclang_example_test.main();
  collision_tests_decl_decl_collision_test.main();
  collision_tests_reserved_keyword_collision_test.main();
  header_parser_tests_dart_handle_test.main();
  header_parser_tests_functions_test.main();
  header_parser_tests_globals_test.main();
  header_parser_tests_macros_test.main();
  header_parser_tests_function_n_struct_test.main();
  header_parser_tests_native_func_typedef_test.main();
  header_parser_tests_nested_parsing_test.main();
  header_parser_tests_typedef_test.main();
  header_parser_tests_unnamed_enums_test.main();
  native_test_native_test.main();
  rename_tests_rename_test.main();
  code_generator_test.main();
}
