ret = pwrite_adi(fd, version, sizeof(version), offset); if (ret != sizeof(version))
TEST_STEP_FAILURE(ret);
ret = pread_adi(fd, version, sizeof(version), offset); if (ret != sizeof(version))
TEST_STEP_FAILURE(ret);
if (expected_version != version[0]) {
DEBUG_PRINT_L2("\tExpected version %d but read version %d\n",
expected_version, version[0]);
TEST_STEP_FAILURE(-expected_version);
}
for (i = 0; i < TEST1_VERSION_SZ; i++) {
version[i] = random_version();
expected_version[i] = version[i];
}
offset = paddr / ADI_BLKSZ;
ret = pwrite_adi(fd, version, sizeof(version), offset); if (ret != sizeof(version))
TEST_STEP_FAILURE(ret);
ret = pread_adi(fd, version, sizeof(version), offset); if (ret != sizeof(version))
TEST_STEP_FAILURE(ret);
for (i = 0; i < TEST1_VERSION_SZ; i++) { if (expected_version[i] != version[i]) {
DEBUG_PRINT_L2( "\tExpected version %d but read version %d\n",
expected_version, version[0]);
TEST_STEP_FAILURE(-expected_version[i]);
}
}
for (i = 0; i < TEST2_VERSION_SZ; i++) {
version[i] = random_version();
expected_version[i] = version[i];
}
offset = paddr / ADI_BLKSZ;
ret = pwrite_adi(fd, version, sizeof(version), offset); if (ret != sizeof(version))
TEST_STEP_FAILURE(ret);
ret = pread_adi(fd, version, sizeof(version), offset); if (ret != sizeof(version))
TEST_STEP_FAILURE(ret);
for (i = 0; i < TEST2_VERSION_SZ; i++) { if (expected_version[i] != version[i]) {
DEBUG_PRINT_L2( "\tExpected version %d but read version %d\n",
expected_version, version[0]);
TEST_STEP_FAILURE(-expected_version[i]);
}
}
for (i = 0; i < TEST3_VERSION_SZ; i++) {
version[i] = random_version();
expected_version[i] = version[i];
}
offset = paddr / ADI_BLKSZ;
ret = pwrite_adi(fd, version, sizeof(version), offset); if (ret != sizeof(version))
TEST_STEP_FAILURE(ret);
ret = pread_adi(fd, version, sizeof(version), offset); if (ret != sizeof(version))
TEST_STEP_FAILURE(ret);
for (i = 0; i < TEST3_VERSION_SZ; i++) { if (expected_version[i] != version[i]) {
DEBUG_PRINT_L2( "\tExpected version %d but read version %d\n",
expected_version, version[0]);
TEST_STEP_FAILURE(-expected_version[i]);
}
}
offset_in = 0x123456789abcdef0;
offset_out = seek_adi(fd, offset_in, SEEK_SET); if (offset_out != offset_in) {
ret = -1;
TEST_STEP_FAILURE(ret);
}
/* seek to the current offset. this should return EINVAL */
offset_out = seek_adi(fd, offset_in, SEEK_SET); if (offset_out < 0 && errno == EINVAL)
DEBUG_PRINT_L2( "\tSEEK_SET failed as designed. Not an error\n"); else {
ret = -2;
TEST_STEP_FAILURE(ret);
}
offset_out = seek_adi(fd, 0, SEEK_CUR); if (offset_out != offset_in) {
ret = -3;
TEST_STEP_FAILURE(ret);
}
offset_out = seek_adi(fd, OFFSET_ADD, SEEK_CUR); if (offset_out != (offset_in + OFFSET_ADD)) {
ret = -4;
TEST_STEP_FAILURE(ret);
}
offset_out = seek_adi(fd, OFFSET_SUBTRACT, SEEK_CUR); if (offset_out != (offset_in + OFFSET_ADD + OFFSET_SUBTRACT)) {
ret = -5;
TEST_STEP_FAILURE(ret);
}
offset = paddr / ADI_BLKSZ;
version = expected_version = random_version();
oret = seek_adi(fd, offset, SEEK_SET); if (oret != offset) {
ret = -1;
TEST_STEP_FAILURE(ret);
}
ret = write_adi(fd, &version, sizeof(version)); if (ret != sizeof(version))
TEST_STEP_FAILURE(ret);
oret = seek_adi(fd, offset, SEEK_SET); if (oret != offset) {
ret = -1;
TEST_STEP_FAILURE(ret);
}
ret = read_adi(fd, &version, sizeof(version)); if (ret != sizeof(version))
TEST_STEP_FAILURE(ret);
if (expected_version != version) {
DEBUG_PRINT_L2("\tExpected version %d but read version %d\n",
expected_version, version);
TEST_STEP_FAILURE(-expected_version);
}
offset = paddr / ADI_BLKSZ; for (i = 0; i < TEST6_VERSION_SZ; i++)
version[i] = expected_version[i] = random_version();
oret = seek_adi(fd, offset, SEEK_SET); if (oret != offset) {
ret = -1;
TEST_STEP_FAILURE(ret);
}
ret = write_adi(fd, version, sizeof(version)); if (ret != sizeof(version))
TEST_STEP_FAILURE(ret);
memset(version, 0, TEST6_VERSION_SZ);
oret = seek_adi(fd, offset, SEEK_SET); if (oret != offset) {
ret = -1;
TEST_STEP_FAILURE(ret);
}
ret = read_adi(fd, version, sizeof(version)); if (ret != sizeof(version))
TEST_STEP_FAILURE(ret);
for (i = 0; i < TEST6_VERSION_SZ; i++) { if (expected_version[i] != version[i]) {
DEBUG_PRINT_L2( "\tExpected version %d but read version %d\n",
expected_version[i], version[i]);
TEST_STEP_FAILURE(-expected_version[i]);
}
}
offset = paddr / ADI_BLKSZ; for (i = 0; i < TEST7_VERSION_SZ; i++) {
version[i] = random_version();
expected_version[i] = version[i];
}
oret = seek_adi(fd, offset, SEEK_SET); if (oret != offset) {
ret = -1;
TEST_STEP_FAILURE(ret);
}
ret = write_adi(fd, version, sizeof(version)); if (ret != sizeof(version))
TEST_STEP_FAILURE(ret);
memset(version, 0, TEST7_VERSION_SZ);
oret = seek_adi(fd, offset, SEEK_SET); if (oret != offset) {
ret = -1;
TEST_STEP_FAILURE(ret);
}
ret = read_adi(fd, version, sizeof(version)); if (ret != sizeof(version))
TEST_STEP_FAILURE(ret);
for (i = 0; i < TEST7_VERSION_SZ; i++) { if (expected_version[i] != version[i]) {
DEBUG_PRINT_L2( "\tExpected version %d but read version %d\n",
expected_version[i], version[i]);
TEST_STEP_FAILURE(-expected_version[i]);
}
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.