def test_check_compiled_module(self): space = self.space mtime = 12345 cpathname = _testfile(importing.get_pyc_magic(space), mtime) ret = importing.check_compiled_module(space, cpathname, mtime) assert ret is not None ret.close() # check for wrong mtime ret = importing.check_compiled_module(space, cpathname, mtime + 1) assert ret is None # also check with expected mtime==0 (nothing special any more about 0) ret = importing.check_compiled_module(space, cpathname, 0) assert ret is None os.remove(cpathname) # check for wrong version cpathname = _testfile(importing.get_pyc_magic(space) + 1, mtime) ret = importing.check_compiled_module(space, cpathname, mtime) assert ret is None # check for empty .pyc file f = open(cpathname, "wb") f.close() ret = importing.check_compiled_module(space, cpathname, mtime) assert ret is None os.remove(cpathname)
def test_check_compiled_module(self): space = self.space mtime = 12345 cpathname = _testfile(importing.get_pyc_magic(space), mtime) ret = importing.check_compiled_module(space, cpathname, mtime) assert ret is not None ret.close() # check for wrong mtime ret = importing.check_compiled_module(space, cpathname, mtime+1) assert ret is None os.remove(cpathname) # check for wrong version cpathname = _testfile(importing.get_pyc_magic(space)+1, mtime) ret = importing.check_compiled_module(space, cpathname, mtime) assert ret is None # check for empty .pyc file f = open(cpathname, 'wb') f.close() ret = importing.check_compiled_module(space, cpathname, mtime) assert ret is None os.remove(cpathname)
def test_check_compiled_module(self): space = self.space mtime = 12345 cpathname = _testfile(importing.get_pyc_magic(space), mtime) ret = importing.check_compiled_module(space, cpathname, mtime) assert ret is not None ret.close() # check for wrong mtime ret = importing.check_compiled_module(space, cpathname, mtime + 1) assert ret is None # also check with expected mtime==0 (nothing special any more about 0) ret = importing.check_compiled_module(space, cpathname, 0) assert ret is None os.remove(cpathname) # check for wrong version cpathname = _testfile(importing.get_pyc_magic(space) + 1, mtime) ret = importing.check_compiled_module(space, cpathname, mtime) assert ret is None # check for empty .pyc file f = open(cpathname, 'wb') f.close() ret = importing.check_compiled_module(space, cpathname, mtime) assert ret is None os.remove(cpathname)
def test_write_compiled_module(self): space = self.space pathname = _testfilesource() os.chmod(pathname, 0777) stream = streamio.open_file_as_stream(pathname, "r") try: w_ret = importing.parse_source_module(space, pathname, stream.readall()) finally: stream.close() pycode = w_ret assert type(pycode) is pypy.interpreter.pycode.PyCode cpathname = str(udir.join('cpathname.pyc')) mode = 0777 mtime = 12345 importing.write_compiled_module(space, pycode, cpathname, mode, mtime) # check ret = importing.check_compiled_module(space, cpathname, mtime) assert ret is not None ret.close() # Check that the executable bit was removed assert os.stat(cpathname).st_mode & 0111 == 0 # read compiled module stream = streamio.open_file_as_stream(cpathname, "rb") try: stream.seek(8, 0) w_code = importing.read_compiled_module(space, cpathname, stream.readall()) pycode = w_code finally: stream.close() # check value of load w_dic = space.newdict() pycode.exec_code(space, w_dic, w_dic) w_ret = space.getitem(w_dic, space.wrap('x')) ret = space.int_w(w_ret) assert ret == 42