def test_standard_toolchain_failure_process(self):
make_dummy_dist(self, ((
'entry_points.txt',
'[calmjs.toolchain.advice]\n'
'calmjs.toolchain:Toolchain = calmjs.tests.test_toolchain:bad\n'
'calmjs.toolchain:NullToolchain = '
'calmjs.tests.test_toolchain:dummy\n'
),), 'example.package', '1.0')
working_set = pkg_resources.WorkingSet([self._calmjs_testing_tmpdir])
reg = AdviceRegistry(CALMJS_TOOLCHAIN_ADVICE, _working_set=working_set)
toolchain = NullToolchain()
spec = Spec()
with pretty_logging(stream=StringIO()) as s:
reg.process_toolchain_spec_package(
toolchain, spec, 'example.package')
err = s.getvalue()
# inheritance applies.
self.assertIn(
"found advice setup steps registered for package/requirement "
"'example.package' for toolchain 'calmjs.toolchain:NullToolchain'",
err,
)
self.assertIn("ERROR", err)
self.assertIn(
"failure encountered while setting up advices through entry_point",
err)
# partial execution will be done, so do test stuff.
self.assertEqual(spec, {'dummy': ['dummy', 'bad']})
评论列表
文章目录