def testIC_PyFile_AsFile(self, mapper, addToCleanUp, stderr_writes): buflen = len(TEST_TEXT) + 10 buf = Marshal.AllocHGlobal(buflen) filePtr = mapper.Store(open(*READ_ARGS)) f = mapper.IC_PyFile_AsFile(filePtr) self.assertEquals(stderr_writes, [('Warning: creating unmanaged FILE* from managed stream. Please use ironclad.open with this extension.',), ('\n',)]) self.assertEquals(Unmanaged.fread(buf, 1, buflen, f), len(TEST_TEXT), "didn't get a real FILE") ptr = buf for c in TEST_TEXT: self.assertEquals(Marshal.ReadByte(ptr), ord(c), "got bad data from FILE") ptr = OffsetPtr(ptr, 1) Marshal.FreeHGlobal(buf)