def test_premature_end_of_stream(self): with self.EphemeralFile('r+') as fp: fpr = FileLike.get(fp) fpr = fp fpr.write(struct.pack('>L', 1)) fpr.seek(0) rr = RecordReader(fpr) with pytest.raises(RecordIO.PrematureEndOfStream): rr.read()
def test_record_too_large(self): with self.EphemeralFile('r+') as fp: fpw = FileLike.get(fp) fpw.write(struct.pack('>L', RecordIO.MAXIMUM_RECORD_SIZE + 1)) fpw.write('a') fpw.flush() fpw.seek(0) rr = RecordReader(fp) with pytest.raises(RecordIO.RecordSizeExceeded): rr.read()
def test_record_too_large(self): with self.EphemeralFile('r+') as fp: fpw = FileLike.get(fp) fpw.write(struct.pack('>L', RecordIO.MAXIMUM_RECORD_SIZE+1)) fpw.write('a') fpw.flush() fpw.seek(0) rr = RecordReader(fp) with pytest.raises(RecordIO.RecordSizeExceeded): rr.read()
def test_bad_header_size(self): with self.EphemeralFile('r+') as fp: fpw = FileLike.get(fp) fpw.write(struct.pack('>L', RecordIO.MAXIMUM_RECORD_SIZE)) fpw._fp.truncate(RecordIO.RECORD_HEADER_SIZE - 1) fpw.flush() fpw.seek(0) rr = RecordReader(fp) with pytest.raises(RecordIO.PrematureEndOfStream): rr.read() assert fpw.tell() != 0 fpw.seek(0) assert rr.try_read() is None assert fpw.tell() == 0