def test_shared_main(self):
saved_stderr = sys.stderr
saved_argv = sys.argv
try:
sys.stderr = StringIO()
sys.argv = ['macho_tool']
self.assertEqual(_cmdline.main(lambda *args: None), 1)
self.assertEqual(sys.stderr.getvalue(), 'Usage: macho_tool filename...\n')
names = []
def record_names(fp, name):
self.assertEqual(fp, sys.stdout)
names.append(name)
sys.stderr = StringIO()
sys.argv = ['macho_tool', '/bin/sh']
self.assertEqual(_cmdline.main(record_names), 0)
self.assertEqual(sys.stderr.getvalue(), '')
self.assertEqual(names, ['/bin/sh'])
names = []
sys.stderr = StringIO()
sys.argv = ['macho_tool', '/bin/sh', '/bin/ls']
self.assertEqual(_cmdline.main(record_names), 0)
self.assertEqual(sys.stderr.getvalue(), '')
self.assertEqual(names, ['/bin/sh', '/bin/ls'])
names = []
sys.stderr = StringIO()
sys.argv = ['macho_tool', '/bin']
self.assertEqual(_cmdline.main(record_names), 0)
self.assertEqual(sys.stderr.getvalue(), '')
names.sort()
dn = '/bin'
real_names = [
os.path.join(dn, fn) for fn in os.listdir(dn)
if util.is_platform_file(os.path.join(dn, fn)) ]
real_names.sort()
self.assertEqual(names, real_names)
finally:
sys.stderr = saved_stderr
sys.argv = saved_argv
评论列表
文章目录