def METHOD_NAME(self, missing_bytes, tmpdir):
    # In all these cases, the data read should just be short, but
    # it varies by how much: If the sync pattern is still there,
    # or the whole last frame is missing, we'll lose the last
    # frame.  Otherwise, the one-but-last header will not be
    # considered OK and we lose that frame too.
    if missing_bytes.start > 192 or (missing_bytes.start == 0
                                     and missing_bytes.stop == 40000):
        expected = 7
    else:
        expected = 6
    missing = slice(missing_bytes.start + 7*self.header0.frame_nbytes,
                    missing_bytes.stop + 7*self.header0.frame_nbytes)
    fake_file = self.fake_file(tmpdir)
    corrupt_file = self.corrupt_copy(fake_file, missing)
    with mark4.open(corrupt_file, 'rs', **self.kwargs) as fr:
        assert len(fr.fh_raw.locate_frames(
            fr.header0, maximum=1000000)) == expected
        assert fr.size == expected * self.data.size
        data = fr.read()
    data = data.reshape((-1,) + self.data.shape)
    assert np.all(data.astype(int) == self.data)