On 14.09.2017 15:29, Paul Hammant wrote: > > Yes, that one's pretty nice, but as a rule we try not to burden our > users with dependencies outside the standard library. The script uses > os.system, what, twice? Hardly worth replacing. > > On the other hand, we have wrappers around subprocess.Popen in > subversion/tests/cmdline/svntest/main.py; you should be able to > recycle > those. > > > I wasn't suggesting any change to os.system for this script. I'm just > adding tests. I couldn't find decent examples of os.system mocking > (and stderr/out) so I did it old-school style. Mocking in Python is a > mess. No cohesive 'winning' approach/framework, and how-to information > not consolidated anywhere.
Well, well, well. foo.py: import os def my_mocked_os_system(*args, **kwargs): print('a mockery') os.system = my_mocked_os_system bar.py: import os os.system("echo bar") import foo os.system("echo foo") Then: $ PYTHONPATH=. python bar.py bar a mockery :) -- Brane