test_star_destroyer.py 文件源码

python
阅读 26 收藏 0 点赞 0 评论 0

项目:star-destroyer 作者: zestyping 项目源码 文件源码
def test_scanner(path):
    print('running: %s' % path)
    with tempfile.NamedTemporaryFile('rb') as imports_file:
        with tempfile.NamedTemporaryFile('rb') as usage_file:
            os.spawnl(os.P_WAIT, sys.executable, sys.executable, PROGRAM_PATH,
                      '-t', path, imports_file.name, usage_file.name)
            actual_imports = pickle.load(imports_file)
            actual_usage = pickle.load(usage_file)

    with open(os.path.join(path, 'expected_imports')) as imports_file:
        expected_imports = json.load(imports_file)
    with open(os.path.join(path, 'expected_usage')) as usage_file:
        expected_usage = json.load(usage_file)

    for modpath in expected_imports:
        module_imports = actual_imports.setdefault(modpath, {})
        for name, value in module_imports.items():
            module_imports[name] = sorted(value)
    for modpath in expected_usage:
        actual_usage[modpath] = sorted(actual_usage.get(modpath, []))

    print('expected imports: %s' % json.dumps(expected_imports, sort_keys=1))
    print('  actual imports: %s' % json.dumps(actual_imports, sort_keys=1))

    print('expected usage: %s' % json.dumps(expected_usage, sort_keys=1))
    print('  actual usage: %s' % json.dumps(actual_usage, sort_keys=1))

    assert expected_imports == actual_imports
    assert expected_usage == actual_usage
    print('passed: %s' % path)
评论列表
文章目录


问题


面经


文章

微信
公众号

扫码关注公众号