Merge pull request #229 from ddiss/xcopy

TESTS: fix ExtendedCopy.ValidTgtDescr for SPC-4
This commit is contained in:
Ronnie Sahlberg
2016-12-29 12:38:53 -08:00
committed by GitHub

View File

@@ -31,6 +31,8 @@ void
test_extendedcopy_validate_tgt_descr(void)
{
int tgt_desc_len = 0, seg_desc_len = 0, offset = XCOPY_DESC_OFFSET;
int ret;
struct scsi_inquiry_standard *std_inq;
struct iscsi_data data;
unsigned char *xcopybuf;
@@ -39,6 +41,12 @@ test_extendedcopy_validate_tgt_descr(void)
CHECK_FOR_DATALOSS;
ret = inquiry(sd, &task, 0, 0, 260,
EXPECT_STATUS_GOOD);
CU_ASSERT_EQUAL(ret, 0);
std_inq = scsi_datain_unmarshall(task);
CU_ASSERT_NOT_EQUAL(std_inq, NULL);
data.size = XCOPY_DESC_OFFSET +
get_desc_len(IDENT_DESCR_TGT_DESCR) +
get_desc_len(BLK_TO_BLK_SEG_DESCR);
@@ -57,8 +65,19 @@ test_extendedcopy_validate_tgt_descr(void)
populate_param_header(xcopybuf, 1, 0, 0, 0,
tgt_desc_len, seg_desc_len, 0);
EXTENDEDCOPY(sd, &data, EXPECT_INVALID_FIELD_IN_CDB);
if (std_inq->version >= 6) {
/* SPC-4 - LU ID should be ignored "*/
EXTENDEDCOPY(sd, &data, EXPECT_STATUS_GOOD);
} else {
/* SPC-3 - LU ID is reserved */
EXTENDEDCOPY(sd, &data, EXPECT_INVALID_FIELD_IN_CDB);
}
if (std_inq->version >= 6) {
/* NUL bit is obsolete in SPC-4 */
CU_PASS("[SKIPPED] Target is SPC-4+. Skipping NUL bit test");
return;
}
logging(LOG_VERBOSE, "Test NUL bit in target descriptor");
/* NUL bit */
memset(xcopybuf, 0, data.size);