class SessionTestBase (MockingTestCase): def setUp(self): self.s = Session() p = patch('onslaught.io.provider') self.addCleanup(p.stop) self.m_iop = p.start() # Patch-over mocks of these "functional, non-IO" path # manipulations with fakes that track their transformations: self.m_iop.abspath = lambda p: ('abs', p) self.m_iop.dirname = lambda p: ('dirname', p) self.m_iop.isabs = lambda _: True self.m_iop.join = lambda *a: ('join', a) self.s.initialize('targetfoo', 'resultsbar') def assert_iop_calls(self, *calls): self.assert_calls_equal(self.m_iop, calls)
def run_onslaught(target, results): s = Session().initialize(target, results) with s.pushd_workdir(): s.run_phase_flake8() s.prepare_virtualenv() s.install_test_utility_packages() s.run_sdist_phases() s.run_phase_unittest() s.generate_coverage_reports()