Index: tests/super_mox.py |
=================================================================== |
--- tests/super_mox.py (revision 31755) |
+++ tests/super_mox.py (working copy) |
@@ -87,50 +87,22 @@ |
"""Patch a few functions with know side-effects.""" |
SuperMoxBaseTestBase.setUp(self) |
#self.mox.StubOutWithMock(__builtin__, 'open') |
- self.mox.StubOutWithMock(os, 'chdir') |
- self.mox.StubOutWithMock(os, 'chown') |
- self.mox.StubOutWithMock(os, 'close') |
- #self.mox.StubOutWithMock(os, 'closerange') |
- self.mox.StubOutWithMock(os, 'dup') |
- self.mox.StubOutWithMock(os, 'dup2') |
- self.mox.StubOutWithMock(os, 'fchdir') |
- #self.mox.StubOutWithMock(os, 'fchmod') |
- #self.mox.StubOutWithMock(os, 'fchown') |
- self.mox.StubOutWithMock(os, 'fdopen') |
- self.mox.StubOutWithMock(os, 'getcwd') |
- self.mox.StubOutWithMock(os, 'getpid') |
- self.mox.StubOutWithMock(os, 'lseek') |
- self.mox.StubOutWithMock(os, 'makedirs') |
- self.mox.StubOutWithMock(os, 'mkdir') |
- self.mox.StubOutWithMock(os, 'open') |
- self.mox.StubOutWithMock(os, 'popen') |
- self.mox.StubOutWithMock(os, 'popen2') |
- self.mox.StubOutWithMock(os, 'popen3') |
- self.mox.StubOutWithMock(os, 'popen4') |
- self.mox.StubOutWithMock(os, 'read') |
- self.mox.StubOutWithMock(os, 'remove') |
- self.mox.StubOutWithMock(os, 'removedirs') |
- self.mox.StubOutWithMock(os, 'rename') |
- self.mox.StubOutWithMock(os, 'renames') |
- self.mox.StubOutWithMock(os, 'rmdir') |
- self.mox.StubOutWithMock(os, 'symlink') |
- self.mox.StubOutWithMock(os, 'system') |
- self.mox.StubOutWithMock(os, 'tmpfile') |
- self.mox.StubOutWithMock(os, 'walk') |
- self.mox.StubOutWithMock(os, 'write') |
- self.mox.StubOutWithMock(os.path, 'abspath') |
- self.mox.StubOutWithMock(os.path, 'exists') |
- self.mox.StubOutWithMock(os.path, 'getsize') |
- self.mox.StubOutWithMock(os.path, 'isdir') |
- self.mox.StubOutWithMock(os.path, 'isfile') |
- self.mox.StubOutWithMock(os.path, 'islink') |
- self.mox.StubOutWithMock(os.path, 'ismount') |
- self.mox.StubOutWithMock(os.path, 'lexists') |
- self.mox.StubOutWithMock(os.path, 'realpath') |
- self.mox.StubOutWithMock(os.path, 'samefile') |
- self.mox.StubOutWithMock(os.path, 'walk') |
- self.mox.StubOutWithMock(subprocess, 'call') |
- self.mox.StubOutWithMock(subprocess, 'Popen') |
- #self.mox.StubOutWithMock(sys, 'stderr') |
- self.mox.StubOutWithMock(sys, 'stdin') |
- self.mox.StubOutWithMock(sys, 'stdout') |
+ os_to_mock = ('chdir', 'chown', 'close', 'closerange', 'dup', 'dup2', |
+ 'fchdir', 'fchmod', 'fchown', 'fdopen', 'getcwd', 'getpid', 'lseek', |
+ 'makedirs', 'mkdir', 'open', 'popen', 'popen2', 'popen3', 'popen4', |
+ 'read', 'remove', 'removedirs', 'rename', 'renames', 'rmdir', 'symlink', |
+ 'system', 'tmpfile', 'walk', 'write') |
+ self.MockList(os, os_to_mock) |
+ os_path_to_mock = ('abspath', 'exists', 'getsize', 'isdir', 'isfile', |
+ 'islink', 'ismount', 'lexists', 'realpath', 'samefile', 'walk') |
+ self.MockList(os.path, os_path_to_mock) |
+ self.MockList(subprocess, ('call', 'Popen')) |
+ # Don't mock stderr since it confuses unittests. |
+ self.MockList(sys, ('stdin', 'stdout')) |
+ |
+ def MockList(self, parent, items_to_mock): |
+ for item in items_to_mock: |
+ # Skip over items not present because of OS-specific implementation, |
+ # implemented only in later python version, etc. |
+ if hasattr(parent, item): |
+ self.mox.StubOutWithMock(parent, item) |