OLD | NEW |
1 # Copyright (c) 2011 The Chromium Authors. All rights reserved. | 1 # Copyright (c) 2011 The Chromium Authors. All rights reserved. |
2 # Use of this source code is governed by a BSD-style license that can be | 2 # Use of this source code is governed by a BSD-style license that can be |
3 # found in the LICENSE file. | 3 # found in the LICENSE file. |
4 | 4 |
5 """Simplify unit tests based on pymox.""" | 5 """Simplify unit tests based on pymox.""" |
6 | 6 |
7 import os | 7 import os |
8 import random | 8 import random |
9 import shutil | 9 import shutil |
10 import string | 10 import string |
(...skipping 37 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
48 return self.Strings(max_arg_count, | 48 return self.Strings(max_arg_count, |
49 self._RANDOM_RANDINT(1, max_arg_length)) | 49 self._RANDOM_RANDINT(1, max_arg_length)) |
50 | 50 |
51 def _DirElts(self, max_elt_count=4, max_elt_length=8): | 51 def _DirElts(self, max_elt_count=4, max_elt_length=8): |
52 return self._OS_SEP.join(self.Strings(max_elt_count, max_elt_length)) | 52 return self._OS_SEP.join(self.Strings(max_elt_count, max_elt_length)) |
53 | 53 |
54 def Dir(self, max_elt_count=4, max_elt_length=8): | 54 def Dir(self, max_elt_count=4, max_elt_length=8): |
55 return (self._RANDOM_CHOICE((self._OS_SEP, '')) + | 55 return (self._RANDOM_CHOICE((self._OS_SEP, '')) + |
56 self._DirElts(max_elt_count, max_elt_length)) | 56 self._DirElts(max_elt_count, max_elt_length)) |
57 | 57 |
58 def SvnUrl(self, max_elt_count=4, max_elt_length=8): | |
59 return ('svn://random_host:port/a' + | |
60 self._DirElts(max_elt_count, max_elt_length | |
61 ).replace(self._OS_SEP, '/')) | |
62 | |
63 def RootDir(self, max_elt_count=4, max_elt_length=8): | 58 def RootDir(self, max_elt_count=4, max_elt_length=8): |
64 return self._OS_SEP + self._DirElts(max_elt_count, max_elt_length) | 59 return self._OS_SEP + self._DirElts(max_elt_count, max_elt_length) |
65 | 60 |
66 def compareMembers(self, obj, members): | 61 def compareMembers(self, obj, members): |
67 """If you add a member, be sure to add the relevant test!""" | 62 """If you add a member, be sure to add the relevant test!""" |
68 # Skip over members starting with '_' since they are usually not meant to | 63 # Skip over members starting with '_' since they are usually not meant to |
69 # be for public use. | 64 # be for public use. |
70 actual_members = [x for x in sorted(dir(obj)) | 65 actual_members = [x for x in sorted(dir(obj)) |
71 if not x.startswith('_')] | 66 if not x.startswith('_')] |
72 expected_members = sorted(members) | 67 expected_members = sorted(members) |
(...skipping 73 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
146 except TypeError, e: | 141 except TypeError, e: |
147 raise TypeError( | 142 raise TypeError( |
148 'Couldn\'t mock %s in %s: %s' % (item, parent.__name__, e)) | 143 'Couldn\'t mock %s in %s: %s' % (item, parent.__name__, e)) |
149 | 144 |
150 def UnMock(self, obj, name): | 145 def UnMock(self, obj, name): |
151 """Restore an object inside a test.""" | 146 """Restore an object inside a test.""" |
152 for (parent, old_child, child_name) in self.mox.stubs.cache: | 147 for (parent, old_child, child_name) in self.mox.stubs.cache: |
153 if parent == obj and child_name == name: | 148 if parent == obj and child_name == name: |
154 setattr(parent, child_name, old_child) | 149 setattr(parent, child_name, old_child) |
155 break | 150 break |
OLD | NEW |