~ubuntu-branches/ubuntu/oneiric/mozc/oneiric

« back to all changes in this revision

Viewing changes to protobuf/files/gtest/test/gtest_list_tests_unittest.py

  • Committer: Bazaar Package Importer
  • Author(s): Nobuhiro Iwamatsu
  • Date: 2010-07-14 03:26:47 UTC
  • mfrom: (1.1.1 upstream)
  • Revision ID: james.westby@ubuntu.com-20100714032647-13qjisj6m8cm8jdx
Tags: 0.12.410.102-1
* New upstream release (Closes: #588971).
  - Add mozc-server, mozc-utils-gui and scim-mozc packages.
* Update debian/rules.
  Add --gypdir option to build_mozc.py.
* Update debian/control.
  - Bumped standards-version to 3.9.0.
  - Update description.
* Add mozc icon (Closes: #588972).
* Add patch which revises issue 18.
  ibus_mozc_issue18.patch
* kFreeBSD build support.
  support_kfreebsd.patch

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
 
#!/usr/bin/env python
2
 
#
3
 
# Copyright 2006, Google Inc.
4
 
# All rights reserved.
5
 
#
6
 
# Redistribution and use in source and binary forms, with or without
7
 
# modification, are permitted provided that the following conditions are
8
 
# met:
9
 
#
10
 
#     * Redistributions of source code must retain the above copyright
11
 
# notice, this list of conditions and the following disclaimer.
12
 
#     * Redistributions in binary form must reproduce the above
13
 
# copyright notice, this list of conditions and the following disclaimer
14
 
# in the documentation and/or other materials provided with the
15
 
# distribution.
16
 
#     * Neither the name of Google Inc. nor the names of its
17
 
# contributors may be used to endorse or promote products derived from
18
 
# this software without specific prior written permission.
19
 
#
20
 
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
21
 
# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
22
 
# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
23
 
# A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
24
 
# OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
25
 
# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
26
 
# LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
27
 
# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
28
 
# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
29
 
# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
30
 
# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
31
 
 
32
 
"""Unit test for Google Test's --gtest_list_tests flag.
33
 
 
34
 
A user can ask Google Test to list all tests by specifying the
35
 
--gtest_list_tests flag.  This script tests such functionality
36
 
by invoking gtest_list_tests_unittest_ (a program written with
37
 
Google Test) the command line flags.
38
 
"""
39
 
 
40
 
__author__ = 'phanna@google.com (Patrick Hanna)'
41
 
 
42
 
import gtest_test_utils
43
 
 
44
 
 
45
 
# Constants.
46
 
 
47
 
# The command line flag for enabling/disabling listing all tests.
48
 
LIST_TESTS_FLAG = 'gtest_list_tests'
49
 
 
50
 
# Path to the gtest_list_tests_unittest_ program.
51
 
EXE_PATH = gtest_test_utils.GetTestExecutablePath('gtest_list_tests_unittest_')
52
 
 
53
 
# The expected output when running gtest_list_tests_unittest_ with
54
 
# --gtest_list_tests
55
 
EXPECTED_OUTPUT_NO_FILTER = """FooDeathTest.
56
 
  Test1
57
 
Foo.
58
 
  Bar1
59
 
  Bar2
60
 
  DISABLED_Bar3
61
 
Abc.
62
 
  Xyz
63
 
  Def
64
 
FooBar.
65
 
  Baz
66
 
FooTest.
67
 
  Test1
68
 
  DISABLED_Test2
69
 
  Test3
70
 
"""
71
 
 
72
 
# The expected output when running gtest_list_tests_unittest_ with
73
 
# --gtest_list_tests and --gtest_filter=Foo*.
74
 
EXPECTED_OUTPUT_FILTER_FOO = """FooDeathTest.
75
 
  Test1
76
 
Foo.
77
 
  Bar1
78
 
  Bar2
79
 
  DISABLED_Bar3
80
 
FooBar.
81
 
  Baz
82
 
FooTest.
83
 
  Test1
84
 
  DISABLED_Test2
85
 
  Test3
86
 
"""
87
 
 
88
 
# Utilities.
89
 
 
90
 
 
91
 
def Run(args):
92
 
  """Runs gtest_list_tests_unittest_ and returns the list of tests printed."""
93
 
 
94
 
  return gtest_test_utils.Subprocess([EXE_PATH] + args,
95
 
                                     capture_stderr=False).output
96
 
 
97
 
 
98
 
# The unit test.
99
 
 
100
 
class GTestListTestsUnitTest(gtest_test_utils.TestCase):
101
 
  """Tests using the --gtest_list_tests flag to list all tests."""
102
 
 
103
 
  def RunAndVerify(self, flag_value, expected_output, other_flag):
104
 
    """Runs gtest_list_tests_unittest_ and verifies that it prints
105
 
    the correct tests.
106
 
 
107
 
    Args:
108
 
      flag_value:       value of the --gtest_list_tests flag;
109
 
                        None if the flag should not be present.
110
 
 
111
 
      expected_output:  the expected output after running command;
112
 
 
113
 
      other_flag:       a different flag to be passed to command
114
 
                        along with gtest_list_tests;
115
 
                        None if the flag should not be present.
116
 
    """
117
 
 
118
 
    if flag_value is None:
119
 
      flag = ''
120
 
      flag_expression = 'not set'
121
 
    elif flag_value == '0':
122
 
      flag = '--%s=0' % LIST_TESTS_FLAG
123
 
      flag_expression = '0'
124
 
    else:
125
 
      flag = '--%s' % LIST_TESTS_FLAG
126
 
      flag_expression = '1'
127
 
 
128
 
    args = [flag]
129
 
 
130
 
    if other_flag is not None:
131
 
      args += [other_flag]
132
 
 
133
 
    output = Run(args)
134
 
 
135
 
    msg = ('when %s is %s, the output of "%s" is "%s".' %
136
 
           (LIST_TESTS_FLAG, flag_expression, ' '.join(args), output))
137
 
 
138
 
    if expected_output is not None:
139
 
      self.assert_(output == expected_output, msg)
140
 
    else:
141
 
      self.assert_(output != EXPECTED_OUTPUT_NO_FILTER, msg)
142
 
 
143
 
  def testDefaultBehavior(self):
144
 
    """Tests the behavior of the default mode."""
145
 
 
146
 
    self.RunAndVerify(flag_value=None,
147
 
                      expected_output=None,
148
 
                      other_flag=None)
149
 
 
150
 
  def testFlag(self):
151
 
    """Tests using the --gtest_list_tests flag."""
152
 
 
153
 
    self.RunAndVerify(flag_value='0',
154
 
                      expected_output=None,
155
 
                      other_flag=None)
156
 
    self.RunAndVerify(flag_value='1',
157
 
                      expected_output=EXPECTED_OUTPUT_NO_FILTER,
158
 
                      other_flag=None)
159
 
 
160
 
  def testOverrideNonFilterFlags(self):
161
 
    """Tests that --gtest_list_tests overrides the non-filter flags."""
162
 
 
163
 
    self.RunAndVerify(flag_value='1',
164
 
                      expected_output=EXPECTED_OUTPUT_NO_FILTER,
165
 
                      other_flag='--gtest_break_on_failure')
166
 
 
167
 
  def testWithFilterFlags(self):
168
 
    """Tests that --gtest_list_tests takes into account the
169
 
    --gtest_filter flag."""
170
 
 
171
 
    self.RunAndVerify(flag_value='1',
172
 
                      expected_output=EXPECTED_OUTPUT_FILTER_FOO,
173
 
                      other_flag='--gtest_filter=Foo*')
174
 
 
175
 
 
176
 
if __name__ == '__main__':
177
 
  gtest_test_utils.Main()