def compare_files(pyc_filename1, pyc_filename2):
    """Compare two .pyc files."""
    version, timestamp, magic_int1, code_obj1 = uncompyle6.load_module(
        pyc_filename1)
    version, timestamp, magic_int2, code_obj2 = uncompyle6.load_module(
        pyc_filename2)
    cmp_code_objects(version, code_obj1, code_obj2)
Exemple #2
0
def compare_files(pyc_filename1, pyc_filename2, weak_verify=False):
    """Compare two .pyc files."""
    (version1, timestamp, magic_int1, code_obj1, is_pypy,
     source_size) = uncompyle6.load_module(pyc_filename1)
    (version2, timestamp, magic_int2, code_obj2, is_pypy,
     source_size) = uncompyle6.load_module(pyc_filename2)
    weak_verify = weak_verify or (magic_int1 != magic_int2)
    cmp_code_objects(version1, is_pypy, code_obj1, code_obj2, ignore_code=weak_verify)
Exemple #3
0
def compare_files(pyc_filename1, pyc_filename2, weak_verify=False):
    """Compare two .pyc files."""
    (version1, timestamp, magic_int1, code_obj1, is_pypy,
     source_size) = uncompyle6.load_module(pyc_filename1)
    (version2, timestamp, magic_int2, code_obj2, is_pypy,
     source_size) = uncompyle6.load_module(pyc_filename2)
    weak_verify = weak_verify or (magic_int1 != magic_int2)
    cmp_code_objects(version1, is_pypy, code_obj1, code_obj2, ignore_code=weak_verify)
Exemple #4
0
def compare_files(pyc_filename1, pyc_filename2, verify):
    """Compare two .pyc files."""
    (version1, timestamp, magic_int1, code_obj1, is_pypy,
     source_size, sip_hash) = uncompyle6.load_module(pyc_filename1)
    (version2, timestamp, magic_int2, code_obj2, is_pypy,
        source_size, sip_hash) = uncompyle6.load_module(pyc_filename2)
    if (magic_int1 != magic_int2) and verify == 'verify':
         verify = 'weak_verify'
    cmp_code_objects(version1, is_pypy, code_obj1, code_obj2, verify)
Exemple #5
0
def compare_files(pyc_filename1, pyc_filename2):
    """Compare two .pyc files."""
    version, timestamp, magic_int1, code_obj1, is_pypy = uncompyle6.load_module(pyc_filename1)
    version, timestamp, magic_int2, code_obj2, is_pypy = uncompyle6.load_module(pyc_filename2)
    cmp_code_objects(version, is_pypy, code_obj1, code_obj2)
# filename = sys.arv[1]
def get_srcdir():
    filename = os.path.normcase(os.path.dirname(__file__))
    return os.path.realpath(filename)

src_dir = get_srcdir()
os.chdir(src_dir)

files = [
    'if',
    'ifelse',
    # 'keyword',
    ]

for base in files:
    filename = "bytecode_%s/%s.pyc" % (PYTHON_VERSION_STR, base)
    version, timestamp, magic_int, co = uncompyle6.load_module(filename)
    ok = True

    if type(co) == list:
        for con in co:
            ok = compare_ok(version, con)
            if not ok: break
    else:
        ok = compare_ok(version, co)
    if ok:
        print("Disassembly of %s checks out!" % filename)
    else:
        print("Disassembly of %s mismatches." % filename)
        break