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)
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)
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)
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