void test_prefetch10_0blocks(void) { logging(LOG_VERBOSE, LOG_BLANK_LINE); logging(LOG_VERBOSE, "Test PREFETCH10 0-blocks at LBA==0"); PREFETCH10(sd, 0, 0, 0, 0, EXPECT_STATUS_GOOD); if (num_blocks > 0x80000000) { CU_PASS("[SKIPPED] LUN is too big"); return; } logging(LOG_VERBOSE, "Test PREFETCH10 0-blocks one block past end-of-LUN"); PREFETCH10(sd, num_blocks + 1, 0, 0, 0, EXPECT_LBA_OOB); logging(LOG_VERBOSE, "Test PREFETCH10 0-blocks at LBA==2^31"); PREFETCH10(sd, 0x80000000, 0, 0, 0, EXPECT_LBA_OOB); logging(LOG_VERBOSE, "Test PREFETCH10 0-blocks at LBA==-1"); PREFETCH10(sd, -1, 0, 0, 0, EXPECT_LBA_OOB); }
void test_prefetch10_flags(void) { logging(LOG_VERBOSE, LOG_BLANK_LINE); logging(LOG_VERBOSE, "Test PREFETCH10 flags"); logging(LOG_VERBOSE, "Test PREFETCH10 with IMMED==1"); PREFETCH10(sd, 0, 1, 1, 0, EXPECT_STATUS_GOOD); logging(LOG_VERBOSE, "Test PREFETCH10 with GROUP==3"); PREFETCH10(sd, 0, 1, 0, 3, EXPECT_STATUS_GOOD); logging(LOG_VERBOSE, "Test PREFETCH10 with IMMED=1 and GROUP==3"); PREFETCH10(sd, 0, 1, 1, 3, EXPECT_STATUS_GOOD); }
void test_prefetch10_simple(void) { int i; logging(LOG_VERBOSE, LOG_BLANK_LINE); logging(LOG_VERBOSE, "Test PREFETCH10 of 1-256 blocks at the start of the LUN"); for (i = 1; i <= 256; i++) { PREFETCH10(sd, 0, i, 0, 0, EXPECT_STATUS_GOOD); } logging(LOG_VERBOSE, "Test PREFETCH10 of 1-256 blocks at the end of the LUN"); for (i = 1; i <= 256; i++) { PREFETCH10(sd, num_blocks - i, i, 0, 0, EXPECT_STATUS_GOOD); } }