Commit d955e83b authored by zhanyong.wan's avatar zhanyong.wan
Browse files

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

parent 84b8e4c6
...@@ -3,7 +3,7 @@ The Google Mock class generator is an application that is part of cppclean. ...@@ -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/
......
...@@ -31,6 +31,7 @@ __author__ = 'nnorwitz@google.com (Neal Norwitz)' ...@@ -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): ...@@ -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): ...@@ -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): ...@@ -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
......
#!/usr/bin/env python
# #
# Copyright 2007 Neal Norwitz # Copyright 2007 Neal Norwitz
# Portions Copyright 2007 Google Inc. # Portions Copyright 2007 Google Inc.
......
#!/usr/bin/python2.4 #!/usr/bin/env python
# #
# Copyright 2008 Google Inc. All Rights Reserved. # Copyright 2008 Google Inc. All Rights Reserved.
# #
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment