Author: brett.cannon Date: Wed Nov 1 00:00:36 2006 New Revision: 52567 Modified: sandbox/trunk/import_in_py/test_importer.py Log: Flesh out two tests. Modified: sandbox/trunk/import_in_py/test_importer.py ============================================================================== --- sandbox/trunk/import_in_py/test_importer.py (original) +++ sandbox/trunk/import_in_py/test_importer.py Wed Nov 1 00:00:36 2006 @@ -281,14 +281,23 @@ # Should be able to read a file. source = self.loader.read_data(self.source_path, False) self.failUnlessEqual(source, self.source) - # XXX Binary reads. + test_text = '1\r\n2' + try: + with open(test_support.TESTFN, 'wb') as test_file: + test_file.write(test_text) + result = self.loader.read_data(test_support.TESTFN, binary=True) + self.failUnlessEqual(result, test_text) + result = self.loader.read_data(test_support.TESTFN, binary=False) + self.failUnlessEqual(result, test_text.replace('\r', '')) + finally: + os.remove(test_support.TESTFN) def test_write_data(self): # Should be able to write a file. self.loader.write_data(self.source, self.source_path, False) read_source = self.loader.read_data(self.source_path, False) self.failUnlessEqual(read_source, self.source) - # XXX Binary writes. + # XXX How to test data written with 'b'? class PyPycHandlerSupportingMethodTests(PyPycFileHelper): @@ -323,7 +332,14 @@ # Split up data from .pyc file for the magic number, timestamp, # and bytecode. pass - # XXX + # XXX Can't fully test until unmarshaling longs is available. + with open(self.bytecode_path, 'rb') as bytecode_file: + pyc = bytecode_file.read() + magic, timestamp, bytecode = self.handler.parse_pyc(pyc) + code = marshal.loads(bytecode) + module = imp.new_module(self.module) + exec code in module.__dict__ + self.verify_module(module) def test_check_magic(self): # Compare a number against the magic number.
participants (1)
-
brett.cannon