Makes the mock generator work with python2.3.5, which comes with Mac OS X Tiger.

This commit is contained in:
zhanyong.wan 2009-05-07 21:20:57 +00:00
parent 84b8e4c65d
commit d955e83bee
4 changed files with 10 additions and 8 deletions

View File

@ -3,7 +3,7 @@ The Google Mock class generator is an application that is part of cppclean.
For more information about cppclean, see the README.cppclean file or For more information about cppclean, see the README.cppclean file or
visit http://code.google.com/p/cppclean/ visit http://code.google.com/p/cppclean/
cppclean requires Python 2.4 or later. If you don't have Python installed cppclean requires Python 2.3.5 or later. If you don't have Python installed
on your system, you will also need to install it. You can download Python on your system, you will also need to install it. You can download Python
from: http://www.python.org/download/releases/ from: http://www.python.org/download/releases/

View File

@ -31,6 +31,7 @@ __author__ = 'nnorwitz@google.com (Neal Norwitz)'
import os import os
import re import re
import sets
import sys import sys
from cpp import ast from cpp import ast
@ -82,7 +83,7 @@ def _GenerateMethods(output_lines, source, class_node):
def _GenerateMocks(filename, source, ast_list, desired_class_names): def _GenerateMocks(filename, source, ast_list, desired_class_names):
processed_class_names = set() processed_class_names = sets.Set()
lines = [] lines = []
for node in ast_list: for node in ast_list:
if (isinstance(node, ast.Class) and node.body and if (isinstance(node, ast.Class) and node.body and
@ -122,11 +123,11 @@ def _GenerateMocks(filename, source, ast_list, desired_class_names):
sys.stdout.write('\n'.join(lines)) sys.stdout.write('\n'.join(lines))
if desired_class_names: if desired_class_names:
missing_class_names = ', '.join( missing_class_name_list = list(desired_class_names - processed_class_names)
sorted(desired_class_names - processed_class_names)) if missing_class_name_list:
if missing_class_names: missing_class_name_list.sort()
sys.stderr.write('Class(es) not found in %s: %s\n' % sys.stderr.write('Class(es) not found in %s: %s\n' %
(filename, missing_class_names)) (filename, ', '.join(missing_class_name_list)))
elif not processed_class_names: elif not processed_class_names:
sys.stderr.write('No class found in %s\n' % filename) sys.stderr.write('No class found in %s\n' % filename)
@ -149,7 +150,7 @@ def main(argv=sys.argv):
filename = argv[1] filename = argv[1]
desired_class_names = None # None means all classes in the source file. desired_class_names = None # None means all classes in the source file.
if len(argv) >= 3: if len(argv) >= 3:
desired_class_names = set(argv[2:]) desired_class_names = sets.Set(argv[2:])
source = utils.ReadFile(filename) source = utils.ReadFile(filename)
if source is None: if source is None:
return 1 return 1

View File

@ -1,3 +1,4 @@
#!/usr/bin/env python
# #
# Copyright 2007 Neal Norwitz # Copyright 2007 Neal Norwitz
# Portions Copyright 2007 Google Inc. # Portions Copyright 2007 Google Inc.

View File

@ -1,4 +1,4 @@
#!/usr/bin/python2.4 #!/usr/bin/env python
# #
# Copyright 2008 Google Inc. All Rights Reserved. # Copyright 2008 Google Inc. All Rights Reserved.
# #