Bugfix for #14
WriteCheck did not work properly due to shifting of patterns. It is possible that one buffer could be saved by refactoring the code properly.master
parent
4c5856469b
commit
b67c5ce62c
|
@ -1359,7 +1359,7 @@ static void XferBuffersSetup(IOR_io_buffers* ioBuffers, IOR_param_t* test,
|
||||||
if (test->checkWrite || test->checkRead) {
|
if (test->checkWrite || test->checkRead) {
|
||||||
ioBuffers->checkBuffer = aligned_buffer_alloc(test->transferSize);
|
ioBuffers->checkBuffer = aligned_buffer_alloc(test->transferSize);
|
||||||
}
|
}
|
||||||
if (test->checkRead) {
|
if (test->checkRead || test->checkWrite) {
|
||||||
ioBuffers->readCheckBuffer = aligned_buffer_alloc(test->transferSize);
|
ioBuffers->readCheckBuffer = aligned_buffer_alloc(test->transferSize);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -2114,6 +2114,9 @@ static void TestIoSys(IOR_test_t *test)
|
||||||
(2 * params->tasksPerNode) % params->numTasks;
|
(2 * params->tasksPerNode) % params->numTasks;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// update the check buffer
|
||||||
|
FillBuffer(ioBuffers.readCheckBuffer, params, 0, (rank + rankOffset) % params->numTasks);
|
||||||
|
|
||||||
reseed_incompressible_prng = TRUE; /* Re-Seed the PRNG to get same sequence back, if random */
|
reseed_incompressible_prng = TRUE; /* Re-Seed the PRNG to get same sequence back, if random */
|
||||||
|
|
||||||
GetTestFileName(testFileName, params);
|
GetTestFileName(testFileName, params);
|
||||||
|
@ -2559,13 +2562,14 @@ static IOR_offset_t WriteOrReadSingle(IOR_offset_t pairCnt, IOR_offset_t *offset
|
||||||
ERR("cannot read from file");
|
ERR("cannot read from file");
|
||||||
} else if (access == WRITECHECK) {
|
} else if (access == WRITECHECK) {
|
||||||
memset(checkBuffer, 'a', transfer);
|
memset(checkBuffer, 'a', transfer);
|
||||||
|
|
||||||
amtXferred =
|
amtXferred =
|
||||||
backend->xfer(access, fd, checkBuffer, transfer,
|
backend->xfer(access, fd, checkBuffer, transfer,
|
||||||
test);
|
test);
|
||||||
if (amtXferred != transfer)
|
if (amtXferred != transfer)
|
||||||
ERR("cannot read from file write check");
|
ERR("cannot read from file write check");
|
||||||
(*transferCount)++;
|
(*transferCount)++;
|
||||||
*errors += CompareBuffers(buffer, checkBuffer, transfer,
|
*errors += CompareBuffers(readCheckBuffer, checkBuffer, transfer,
|
||||||
*transferCount, test,
|
*transferCount, test,
|
||||||
WRITECHECK);
|
WRITECHECK);
|
||||||
} else if (access == READCHECK) {
|
} else if (access == READCHECK) {
|
||||||
|
|
Loading…
Reference in New Issue