def test_root_runtime_bad_names(self):
working_set = mocks.WorkingSet({'calmjs.runtime': [
'bad name = calmjs.npm:npm.runtime',
'bad.name = calmjs.npm:npm.runtime',
'badname:likethis = calmjs.npm:npm.runtime',
]})
stderr = mocks.StringIO()
with pretty_logging(
logger='calmjs.runtime', level=DEBUG, stream=stderr):
rt = runtime.Runtime(working_set=working_set)
rt.argparser
err = stderr.getvalue()
self.assertIn("bad 'calmjs.runtime' entry point", err)
stub_stdouts(self)
with self.assertRaises(SystemExit):
rt(['-h'])
out = sys.stdout.getvalue()
# this results in unnatural argparsing situation
self.assertNotIn('bad name', out)
# reserved for disambiguation
self.assertNotIn('bad.name', out)
self.assertNotIn('badname:likethis', out)
# command listing naturally not available.
self.assertNotIn('npm', out)
评论列表
文章目录