1#!/usr/bin/env python
2# Copyright (c) 2011 The Chromium Authors. All rights reserved.
3# Use of this source code is governed by a BSD-style license that can be
4# found in the LICENSE file.
5
6'''Unit test suite that collects all test cases for GRIT.'''
7
8import os
9import sys
10if __name__ == '__main__':
11  sys.path.append(os.path.join(os.path.dirname(__file__), '..'))
12
13import unittest
14
15
16# TODO(joi) Use unittest.defaultTestLoader to automatically load tests
17# from modules. Iterating over the directory and importing could then
18# automate this all the way, if desired.
19
20
21class TestSuiteAll(unittest.TestSuite):
22  def __init__(self):
23    super(TestSuiteAll, self).__init__()
24    # Imports placed here to prevent circular imports.
25    # pylint: disable-msg=C6204
26    import grit.clique_unittest
27    import grit.grd_reader_unittest
28    import grit.grit_runner_unittest
29    import grit.lazy_re_unittest
30    import grit.shortcuts_unittests
31    import grit.tclib_unittest
32    import grit.util_unittest
33    import grit.xtb_reader_unittest
34    import grit.format.android_xml_unittest
35    import grit.format.c_format_unittest
36    import grit.format.chrome_messages_json_unittest
37    import grit.format.data_pack_unittest
38    import grit.format.html_inline_unittest
39    import grit.format.js_map_format_unittest
40    import grit.format.rc_header_unittest
41    import grit.format.rc_unittest
42    import grit.format.resource_map_unittest
43    import grit.format.policy_templates.policy_template_generator_unittest
44    import grit.format.policy_templates.writers.adm_writer_unittest
45    import grit.format.policy_templates.writers.adml_writer_unittest
46    import grit.format.policy_templates.writers.admx_writer_unittest
47    import grit.format.policy_templates.writers.doc_writer_unittest
48    import grit.format.policy_templates.writers.ios_plist_writer_unittest
49    import grit.format.policy_templates.writers.json_writer_unittest
50    import grit.format.policy_templates.writers.plist_strings_writer_unittest
51    import grit.format.policy_templates.writers.plist_writer_unittest
52    import grit.format.policy_templates.writers.reg_writer_unittest
53    import grit.format.policy_templates.writers.template_writer_unittest
54    import grit.format.policy_templates.writers.xml_writer_base_unittest
55    import grit.gather.admin_template_unittest
56    import grit.gather.chrome_html_unittest
57    import grit.gather.chrome_scaled_image_unittest
58    import grit.gather.igoogle_strings_unittest
59    import grit.gather.muppet_strings_unittest
60    import grit.gather.policy_json_unittest
61    import grit.gather.rc_unittest
62    import grit.gather.tr_html_unittest
63    import grit.gather.txt_unittest
64    import grit.node.base_unittest
65    import grit.node.io_unittest
66    import grit.node.include_unittest
67    import grit.node.message_unittest
68    import grit.node.misc_unittest
69    import grit.node.structure_unittest #
70    import grit.node.custom.filename_unittest
71    import grit.tool.android2grd_unittest
72    import grit.tool.build_unittest
73    import grit.tool.buildinfo_unittest
74    import grit.tool.postprocess_unittest
75    import grit.tool.preprocess_unittest
76    import grit.tool.rc2grd_unittest
77    import grit.tool.transl2tc_unittest
78    import grit.tool.xmb_unittest
79
80    test_classes = [
81        grit.clique_unittest.MessageCliqueUnittest,
82        grit.grd_reader_unittest.GrdReaderUnittest,
83        grit.grit_runner_unittest.OptionArgsUnittest,
84        grit.lazy_re_unittest.LazyReUnittest,
85        grit.shortcuts_unittests.ShortcutsUnittest,
86        grit.tclib_unittest.TclibUnittest,
87        grit.util_unittest.UtilUnittest,
88        grit.xtb_reader_unittest.XtbReaderUnittest,
89        grit.format.android_xml_unittest.AndroidXmlUnittest,
90        grit.format.c_format_unittest.CFormatUnittest,
91        grit.format.chrome_messages_json_unittest.
92            ChromeMessagesJsonFormatUnittest,
93        grit.format.data_pack_unittest.FormatDataPackUnittest,
94        grit.format.html_inline_unittest.HtmlInlineUnittest,
95        grit.format.js_map_format_unittest.JsMapFormatUnittest,
96        grit.format.rc_header_unittest.RcHeaderFormatterUnittest,
97        grit.format.rc_unittest.FormatRcUnittest,
98        grit.format.resource_map_unittest.FormatResourceMapUnittest,
99        grit.format.policy_templates.policy_template_generator_unittest.
100            PolicyTemplateGeneratorUnittest,
101        grit.format.policy_templates.writers.adm_writer_unittest.
102            AdmWriterUnittest,
103        grit.format.policy_templates.writers.adml_writer_unittest.
104            AdmlWriterUnittest,
105        grit.format.policy_templates.writers.admx_writer_unittest.
106            AdmxWriterUnittest,
107        grit.format.policy_templates.writers.doc_writer_unittest.
108            DocWriterUnittest,
109        grit.format.policy_templates.writers.ios_plist_writer_unittest.
110            IOSPListWriterUnittest,
111        grit.format.policy_templates.writers.json_writer_unittest.
112            JsonWriterUnittest,
113        grit.format.policy_templates.writers.plist_strings_writer_unittest.
114            PListStringsWriterUnittest,
115        grit.format.policy_templates.writers.plist_writer_unittest.
116            PListWriterUnittest,
117        grit.format.policy_templates.writers.reg_writer_unittest.
118            RegWriterUnittest,
119        grit.format.policy_templates.writers.template_writer_unittest.
120            TemplateWriterUnittests,
121        grit.format.policy_templates.writers.xml_writer_base_unittest.
122            XmlWriterBaseTest,
123        grit.gather.admin_template_unittest.AdmGathererUnittest,
124        grit.gather.chrome_html_unittest.ChromeHtmlUnittest,
125        grit.gather.chrome_scaled_image_unittest.ChromeScaledImageUnittest,
126        grit.gather.igoogle_strings_unittest.IgoogleStringsUnittest,
127        grit.gather.muppet_strings_unittest.MuppetStringsUnittest,
128        grit.gather.policy_json_unittest.PolicyJsonUnittest,
129        grit.gather.rc_unittest.RcUnittest,
130        grit.gather.tr_html_unittest.ParserUnittest,
131        grit.gather.tr_html_unittest.TrHtmlUnittest,
132        grit.gather.txt_unittest.TxtUnittest,
133        grit.node.base_unittest.NodeUnittest,
134        grit.node.io_unittest.FileNodeUnittest,
135        grit.node.include_unittest.IncludeNodeUnittest,
136        grit.node.message_unittest.MessageUnittest,
137        grit.node.misc_unittest.GritNodeUnittest,
138        grit.node.misc_unittest.IfNodeUnittest,
139        grit.node.misc_unittest.ReleaseNodeUnittest,
140        grit.node.structure_unittest.StructureUnittest,
141        grit.node.custom.filename_unittest.WindowsFilenameUnittest,
142        grit.tool.android2grd_unittest.Android2GrdUnittest,
143        grit.tool.build_unittest.BuildUnittest,
144        grit.tool.buildinfo_unittest.BuildInfoUnittest,
145        grit.tool.postprocess_unittest.PostProcessingUnittest,
146        grit.tool.preprocess_unittest.PreProcessingUnittest,
147        grit.tool.rc2grd_unittest.Rc2GrdUnittest,
148        grit.tool.transl2tc_unittest.TranslationToTcUnittest,
149        grit.tool.xmb_unittest.XmbUnittest,
150        # add test classes here, in alphabetical order...
151    ]
152
153    for test_class in test_classes:
154      self.addTest(unittest.makeSuite(test_class))
155
156
157if __name__ == '__main__':
158  test_result = unittest.TextTestRunner(verbosity=2).run(TestSuiteAll())
159  sys.exit(len(test_result.errors) + len(test_result.failures))
160