Warning: session_start(): open(/var/lib/php/sessions/sess_qj516r0og46i25pq4d04ph14pk, O_RDWR) failed: No space left on device (28) in /var/www/tb-usercake/models/config.php on line 51
Warning: session_start(): Failed to read session data: files (path: /var/lib/php/sessions) in /var/www/tb-usercake/models/config.php on line 51
set flag ByteArraysPartialInputStream_debug.
sclass Test_ByteArraysPartialInputStream {
ByteArraysPartialInputStream stream;
int n = 1000;
byte[] data;
void writeInRandomRanges(byte[] data) ctex {
for (r : splitIntoRandomRangesOfApproximateLength(10, IntRange(0, l(data))))
stream.write(subByteArray(data, r));
}
void writeAndReadInRandomRanges(byte[] data) ctex {
int iRead = 0;
for (r : splitIntoRandomRangesOfApproximateLength(10, IntRange(0, l(data)))) {
stream.write(subByteArray(data, r));
int readTo = random(iRead, r.end+1);
for (; iRead < min(readTo, r.end); iRead++)
assertEquals("Byte " + iRead, ubyteToInt(data[iRead]), stream.read());
// partially out of data
if (iRead == r.end+1)
assertEquals(-1, stream.read());
}
// check reading rest of data
for (; iRead < l(data); iRead++)
assertEquals("Byte " + iRead, ubyteToInt(data[iRead]), stream.read());
}
void checkRead(byte[] data) ctex {
checkReadWithMark(data, -1);
}
void checkReadWithMark(byte[] data, int markPos) ctex {
for i over data: {
if (i == markPos) stream.mark(n);
assertEquals("Byte " + i, ubyteToInt(data[i]), stream.read());
}
assertEquals(-1, stream.read());
}
void test2() ctex {
stream = new ByteArraysPartialInputStream;
writeAndReadInRandomRanges(randomBytes(n));
}
void test1() ctex {
stream = new ByteArraysPartialInputStream;
data = randomBytes(n);
writeInRandomRanges(data);
int markPos = random(n);
checkReadWithMark(data, markPos);
print("Resetting to " + markPos);
stream.reset();
checkRead(subByteArray(data, markPos));
print("Read OK");
}
}