#!/usr/bin/env python3
# Copyright (c) 2011, 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.
"""This entry point runs all script tests."""

import logging.config
import unittest

if __name__ == '__main__':
    logging.config.fileConfig('logging.conf')
    suite = unittest.TestLoader().loadTestsFromNames([
        'templateloader_test', 'pegparser_test', 'idlparser_test',
        'idlnode_test', 'idlrenderer_test', 'database_test',
        'databasebuilder_test', 'emitter_test', 'dartgenerator_test',
        'multiemitter_test'
    ])
    unittest.TextTestRunner().run(suite)
