TESTS: cleanup and remove noise warnings for iscsi cmdsn tests

The iscsi cmdsn tests are noisy and generate a lot of [FAILURE]
warnings for things that are expected.
Fix this by do the plumbing to allow using a EXPECT_STATUS_TIMEOUT
for commands we expect will never be replied to and will thus time out.

Signed-off-by: Ronnie Sahlberg <ronniesahlberg@gmail.com>
This commit is contained in:
Ronnie Sahlberg
2016-07-11 20:50:47 -07:00
parent 37507c994a
commit df1dc08eb7
4 changed files with 16 additions and 14 deletions

View File

@@ -145,14 +145,15 @@ int all_zero(const unsigned char *buf, unsigned size)
static const char *scsi_status_str(int status)
{
switch(status) {
case SCSI_STATUS_GOOD: return "SUCCESS";
case SCSI_STATUS_CHECK_CONDITION: return "CHECK_CONDITION";
case SCSI_STATUS_CONDITION_MET: return "CONDITIONS_MET";
case SCSI_STATUS_BUSY: return "BUSY";
case SCSI_STATUS_RESERVATION_CONFLICT: return "RESERVATION_CONFLICT";
case SCSI_STATUS_TASK_SET_FULL: return "TASK_SET_FULL";
case SCSI_STATUS_ACA_ACTIVE: return "ACA_ACTIVE";
case SCSI_STATUS_TASK_ABORTED: return "TASK_ABORTED";
case SCSI_STATUS_GOOD: return "SUCCESS";
case SCSI_STATUS_TIMEOUT: return "TIMEOUT";
case SCSI_STATUS_CHECK_CONDITION: return "CHECK_CONDITION";
case SCSI_STATUS_CONDITION_MET: return "CONDITIONS_MET";
case SCSI_STATUS_BUSY: return "BUSY";
case SCSI_STATUS_RESERVATION_CONFLICT: return "RESERVATION_CONFLICT";
case SCSI_STATUS_TASK_SET_FULL: return "TASK_SET_FULL";
case SCSI_STATUS_ACA_ACTIVE: return "ACA_ACTIVE";
case SCSI_STATUS_TASK_ABORTED: return "TASK_ABORTED";
}
return "UNKNOWN";
}

View File

@@ -35,6 +35,7 @@ extern const char *initiatorname1;
extern const char *initiatorname2;
#define EXPECT_STATUS_GOOD SCSI_STATUS_GOOD, SCSI_SENSE_NO_SENSE, NULL, 0
#define EXPECT_STATUS_TIMEOUT SCSI_STATUS_TIMEOUT, SCSI_SENSE_NO_SENSE, NULL, 0
#define EXPECT_NO_MEDIUM SCSI_STATUS_CHECK_CONDITION, SCSI_SENSE_NOT_READY, no_medium_ascqs, 3
#define EXPECT_LBA_OOB SCSI_STATUS_CHECK_CONDITION, SCSI_SENSE_ILLEGAL_REQUEST, lba_oob_ascqs, 1
#define EXPECT_INVALID_FIELD_IN_CDB SCSI_STATUS_CHECK_CONDITION, SCSI_SENSE_ILLEGAL_REQUEST, invalid_cdb_ascqs,2

View File

@@ -74,9 +74,9 @@ void test_iscsi_cmdsn_toohigh(void)
iscsi_set_timeout(sd->iscsi_ctx, 3);
ret = testunitready(sd,
EXPECT_STATUS_GOOD);
CU_ASSERT_EQUAL(ret, -1);
if (ret == -1) {
EXPECT_STATUS_TIMEOUT);
CU_ASSERT_EQUAL(ret, 0);
if (ret == 0) {
logging(LOG_VERBOSE, "[SUCCESS] We did not receive a reply");
} else {
logging(LOG_VERBOSE, "[FAILURE] We got a response from the target but SMDSN was outside of the window.");

View File

@@ -74,9 +74,9 @@ void test_iscsi_cmdsn_toolow(void)
iscsi_set_timeout(sd->iscsi_ctx, 3);
ret = testunitready(sd,
EXPECT_STATUS_GOOD);
CU_ASSERT_EQUAL(ret, -1);
if (ret == -1) {
EXPECT_STATUS_TIMEOUT);
CU_ASSERT_EQUAL(ret, 0);
if (ret == 0) {
logging(LOG_VERBOSE, "[SUCCESS] We did not receive a reply");
} else {
logging(LOG_VERBOSE, "[FAILURE] We got a response from the target but SMDSN was outside of the window.");