Commit Graph

153 Commits

Author SHA1 Message Date
Ronnie Sahlberg 1c14b9b911 TESTS: update read6 to new api
Signed-off-by: Ronnie Sahlberg <sahlberg@localhost>
2014-09-18 14:07:22 -07:00
Ronnie Sahlberg 3ee3964332 TESTS: change testunitready to new api
Signed-off-by: Ronnie Sahlberg <sahlberg@localhost>
2014-09-18 14:07:21 -07:00
Ronnie Sahlberg fe11a6178b TESTS: add ASCQ check to miscompare
Signed-off-by: Ronnie Sahlberg <sahlberg@localhost>
2014-09-18 13:12:59 -07:00
Ronnie Sahlberg f1d198c684 TESTS: update startstopunit to use new api
Signed-off-by: Ronnie Sahlberg <sahlberg@localhost>
2014-09-18 13:12:58 -07:00
Ronnie Sahlberg 28b0a0ab11 TESTS: update the READ tests to the new API
Signed-off-by: Ronnie Sahlberg <sahlberg@localhost>
2014-09-18 13:12:58 -07:00
Ronnie Sahlberg 4b2e9bd417 TESTS: update the prefetch tests to the new api
Signed-off-by: Ronnie Sahlberg <sahlberg@localhost>
2014-09-18 12:08:02 -07:00
Ronnie Sahlberg 8585e4509b TESTS: update writesame tests to new API
Signed-off-by: Ronnie Sahlberg <sahlberg@localhost>
2014-09-18 12:08:01 -07:00
Ronnie Sahlberg d3f98dfdd5 TESTS: rework WRITEVERIFY* tests to the new API
Signed-off-by: Ronnie Sahlberg <sahlberg@localhost>
2014-09-18 12:07:59 -07:00
Ronnie Sahlberg 8ffd78c117 temp: redo the write10/12/16 commands to the new saner api
Signed-off-by: Ronnie Sahlberg <sahlberg@localhost>
2014-09-18 12:07:57 -07:00
Ronnie Sahlberg 8aefc7d579 TEST: update all the verify tests to a new API
Signed-off-by: Ronnie Sahlberg <sahlberg@localhost>
2014-09-18 12:07:55 -07:00
Ronnie Sahlberg 138939cb0e TESTS: change ORWRITE to use a single helper function for all
Switch orwrite helpers to use _command_async instead of calling _orwrite_sync()
to prepare for switching to non-iscsi targets. Use the new check_result API
so that we only need a single helper function for ORWRITE instead of one
helper for each expected result.

Signed-off-by: Ronnie Sahlberg <sahlberg@localhost>
2014-09-18 12:07:52 -07:00
Ronnie Sahlberg 905695575f TESTS: add a new helper check_result to validate the result of SCSI helpers
Many/most all SCSI helpers do pretty much the same checking for the SCSI
result and status. Break this out into a separate helper that we can use
to reduce code duplication.

Signed-off-by: Ronnie Sahlberg <sahlberg@localhost>
2014-09-18 12:07:49 -07:00
Peter Lieven 8e4e03d85d test-tool: allow get_lba_status to return provisioning type
Signed-off-by: Peter Lieven <pl@kamp.de>
2014-08-13 17:02:51 +02:00
Bart Van Assche b631a2146c SPC-2 RESERVE tests: Use MODE SENSE instead of TEST UNIT READY
Although SPC-2 specifies that a reservation conflict should be
reported when TEST UNIT READY is received from another initiator than
the registered initiator, it is an established practice that TEST
UNIT READY is accepted in this case. Hence use the MODE SENSE command
to test the effect of the RESERVE command instead of TEST UNIT READY.

Signed-off-by: Bart Van Assche <bvanassche@acm.org>
2014-08-04 16:05:25 -07:00
Peter Lieven d6af861c57 iscsi-test: check for invalid descriptors offsets in get_lba_status
Dell Equallogic sans report an invalid LBA offset in the descriptor when
using 4k LUNs. Check the descriptor for consistency with the request.

Signed-off-by: Peter Lieven <pl@kamp.de>
2014-07-10 14:44:16 +02:00
jpocas 69c466a6c9 - writesame10 and writesame16 were looking at the datalen, when they wanted to be looking at the number of blocks 2014-05-07 13:49:25 -04:00
Ronnie Sahlberg 717b95cb8a slist.h: rename SLIST_ to ISCSI_LIST_ to avoid clash on *BSD
Rename the macros for managing the linked lists from SLIST_* to ISCSI_LIST_*
to avoid a clash on *BSD which already have other macros SLIST_*

Signed-off-by: Ronnie Sahlberg <ronniesahlberg@gmail.com>
2014-05-07 06:44:19 -07:00
Bart Van Assche e8545d6a03 verify1[02]_invalidfieldincdb(): Fix an error message
Signed-off-by: Bart Van Assche <bvanassche@acm.org>
2014-03-15 08:45:21 -07:00
Ronnie Sahlberg b0dbecaff7 TESTS: compare and write: Invalidfieldincdb is illegal-request, not miscompare 2014-03-06 17:30:46 -08:00
Ronnie Sahlberg 879f542ebf TESTS: CompareAndWrite are bounded by the max block setting in BlockLimits
Make sure that we check that a target returns an error if we try to compare and write too much.
2014-03-05 18:47:24 -08:00
Sitsofe Wheeler e1659b1973 TESTS: Fix WRITESAME tests to handle targets that don't like datalen == 0
Recent SBC specs say (when the WSNZ bit is set to one and the NUMBER OF LOGICAL
BLOCKS field is set to zero) or (if MAXIMUM WRITE SAME LENGTH is greater than 0
and the number of logical blocks specified to be written exceeds the MAXIMUM
WRITE SAME LENGTH) the server should terminate with CHECK CONDITION, set the
sense key to ILLEGAL REQUEST and the additional sense code to INVALID FIELD IN
CDB.

Update the WRITESAME tests to cope with this.
2014-01-25 05:37:45 +00:00
Michael Tokarev 120b308741 Spelling fixes: Dont => Don't
Signed-off-by: Michael Tokarev <mjt@tls.msk.ru>
2013-12-16 18:19:24 -08:00
Bart Van Assche 9c7092e85c test tool: Fix a memory leak in testunitready_clear_ua()
Avoid leaking 'task' if task->status != SCSI_STATUS_GOOD.

Signed-off-by: Bart Van Assche <bvanassche@acm.org>
2013-10-23 05:34:36 -07:00
Ronnie Sahlberg 8aa6d9de8f TESTS: Add a test for COMPARE_AND_WRITE when the data to verify does not match 2013-09-23 21:58:55 -07:00
Ronnie Sahlberg 9f1a28f753 TESTS: Add an initial simple test for COMPARE_AND_WRITE
Signed-off-by: Ronnie Sahlberg <ronniesahlberg@gmail.com>
2013-09-22 17:02:30 -07:00
Ronnie Sahlberg e7df1af3b9 TESTS: READ10 and STARTSTOPUNIT should fail while sanitize is in progress
Other commands should fail too  but we dont need to test them all
2013-07-21 14:33:22 -07:00
Ronnie Sahlberg d901700633 Add a test that a sanitize operation will continue across resets
Verify that abort task/abort task set/lun reset/warm reset/cold reset
and full blown session failures will not affect a sanitize that is in
progress
2013-07-21 14:11:13 -07:00
Ronnie Sahlberg b1b3c603af TESTS: clear unit attention after changing SWP settings in the readonly test 2013-07-21 09:20:00 -07:00
Ronnie Sahlberg 52a83e91af Add POWER_CONDITION modepage marshalling/unmarshalling 2013-07-20 15:35:38 -07:00
Ronnie Sahlberg a3283fbafd TESTS: Add a test that SANITIZE fails when SWP is on. 2013-07-09 02:27:30 -07:00
Ronnie Sahlberg 6e5a5745aa TESTS: Add a test that SANITIZE commands fail when there is a RESERVATION 2013-07-09 01:51:00 -07:00
Ronnie Sahlberg 6a65874dd9 TESTS: Add helper function for READ10 that returns a task* 2013-07-05 16:14:21 -07:00
Ronnie Sahlberg d8d10c0a44 TESTS: Sanitize check that after block erase all blocks are unmapped 2013-07-05 16:04:29 -07:00
Ronnie Sahlberg dcb223badc Use PRIu64 for format string 2013-06-29 12:23:55 -07:00
Bart Van Assche 12f93b60c7 Retry RESERVE6/RELEASE6 upon BUS RESET UA
Signed-off-by: Bart Van Assche <bvanassche@acm.org>
2013-06-08 07:45:18 -07:00
Ronnie Sahlberg 10d101cf51 TESTS: Try reading the BlockDeviceCharacteristics VPD page on startup 2013-05-26 19:53:27 -07:00
Ronnie Sahlberg b193e08be8 Tests: Update the SANITIZE tests 2013-05-26 19:36:35 -07:00
Ronnie Sahlberg e5e8d7e3ef TESTS: Add a simple test for SANITIZE OVERWRITE 2013-05-26 11:48:45 -07:00
Ronnie Sahlberg eebd04e613 Add initial support for SANITIZE and a simple test to generate this opcode. 2013-05-25 16:02:02 -07:00
Ronnie Sahlberg ec5855c6b2 fix incorrect check in test 2013-05-19 08:42:10 -07:00
Ronnie Sahlberg c9ee8525b2 TESTS: Add a test for the reprot one command reporting options for
REPORT SUPPORTED OPCODES.

Opcodes that are listed in the full list of all supported opcodes as taking
a service action should work to ask reporting option 2 (uses service action)
from  but fail when asked for option 1 (no service action)

Similarly, opcodes that are flagged as not taking a service action should
work when used with option 1 but fail with option 2.
2013-05-19 07:27:33 -07:00
Ronnie Sahlberg 709410b1d7 TESTS: Add some REPORT SUPPORTED OPCODES tests
Add a simple test that it works or is not implemented.

Add a RCTD test to verify that with this flag clear we get command descriptors without CTDP set  and with it set we get command descriptors with CTDP set and a timeout descriptor
2013-05-18 13:56:02 -07:00
Ronnie Sahlberg 864bf81c56 TESTS: Test that WRITESAME10/16 unmap can handle big number of logical blocks when unmapping.
If  BLockLimits->MaxWriteSameLength is 0 (no limit) or >=256
then verify that both WRITESAME10 and WRITESAME16 can unmap with a
number of blocks == 2 byte field.
If not, then verify that a 256 block unmap results in INVALID FIELD IN CDB

If  BLockLimits->MaxWriteSameLength is 0 (no limit) or >=65536
then verify that WRITESAME16 can unmap with a
number of blocks == 3 byte field.
If not, then verify that a 65536 block unmap results in INVALID FIELD IN CDB

From discussions on linux-scsi there are devices that support WRITESAME16
but where the implementation only looks at the low 2 bytes of the 4 bytes for
num-blocks in the CDB.
This added test aims to find and flag such devices.
2013-05-15 19:50:41 -07:00
Ronnie Sahlberg dd46f3acf0 TESTS: Keep the LogicalBlockProvisioning VPD around after we read it during
test startup.
2013-05-14 20:25:42 -07:00
Ronnie Sahlberg f9fb1e0ee3 TESTS: ReadCapacity16 is also mandatory in SBC-2 when INQ->PROTECT is set.
Check for this in the support functions and return error.
2013-05-12 21:19:51 -07:00
Ronnie Sahlberg ee689ee3fb TESTS: Update the protection tests 2013-05-12 08:06:08 -07:00
Ronnie Sahlberg 5135836ee5 TESTS: keep the unmarshalled std inq structure around 2013-05-11 17:07:59 -07:00
Ronnie Sahlberg 4a8d967541 Add support for synchronous command timeout.
Default to 0 meaning no timeout.

Implement a test for iSCS to test what happens if we send a command
with CMDSN being higher than the target allows.
In this case we dont strictly know what will happen, just that what should
NOT happen is the target responding with success.
But we have to be prepared for any kind of failure, including a timeout,
scsi sense, or even iscsi reject or session failure.
2013-04-29 20:42:33 -07:00
Ronnie Sahlberg f8e317c355 TESTS: READ6 is optional(==obsolete) 2013-04-27 16:22:58 -07:00
Ronnie Sahlberg 94d048afae TESTS: Persistent reserve in/out are optional 2013-04-27 14:09:19 -07:00