24. EFI Tape IO to Test#

24.1. EFI_TAPE_IO_PROTOCOL Test#

Reference Document:

UEFI Specification, EFI_TAPE_IO_PROTOCOL Section.

Configuration

Before testing of TapeRead() and TapeSapce(), we must make tape ready by calling TapeWrite() and TapeWriteFM() to write some blocks and some FileMarks.

Required Elements

24.1.1. TapeRead()#

Number GUID Assertion Test Description
12.5.1.0.1 0xc42dcb51, 0x5101, 0x4d36, 0xba, 0x07, 0x9e, 0xfc, 0x66, 0xd1, 0x00, 0xde check input parameters of testing EFI_TAPE_IO_PROTOCOL.TapeRead(). Check interface/environment valid.
12.5.1.1.1 0xc42dcb51, 0x5102, 0x4d36, 0xba, 0x07, 0x9e, 0xfc, 0x66, 0xd1, 0x00, 0xde EFI_TAPE_IO_PROTOCOL.TapeRead() read some data from the tape.

Call TapeRead() with (bufferSize=16384) should return EFI_SUCCESS.

Exit testing when error occurred.

Please note the configuration.

12.5.1.1.2 0xc42dcb51, 0x512f, 0x4d36, 0xba, 0x07, 0x9e, 0xfc, 0x66, 0xd1, 0x00, 0xde Verify the data getting from step (12.5.1.1.1). After success of step (12.5.1.1.1) check reading data is all correctly or not.
12.5.1.2.1 0xc42dcb51, 0x5103, 0x4d36, 0xba, 0x07, 0x9e, 0xfc, 0x66, 0xd1, 0x00, 0xde EFI_TAPE_IO_PROTOCOL.TapeRead() Buffer invalid checking test. Call TapeRead() with (bufferSize!=0,Buffer=NULL) should return EFI_INVALID_PARAMETER.
12.5.1.2.2 0xc42dcb51, 0x5104, 0x4d36, 0xba, 0x07, 0x9e, 0xfc, 0x66, 0xd1, 0x00, 0xde EFI_TAPE_IO_PROTOCOL.TapeRead() This=NULL checking test. Call TapeRead()with (This =NULL) should return EFI_INVALID_PARAMETER.
12.5.1.3.1 0xc42dcb51, 0x5105, 0x4d36, 0xba, 0x07, 0x9e, 0xfc, 0x66, 0xd1, 0x00, 0xde EFI_TAPE_IO_PROTOCOL.TapeRead()parameters valid checking test. Call TapeRead() with (bufferSize=0,buffer=NULL) should return EFI_SUCCESS.
12.5.1.3.2 0xc42dcb51, 0x5107, 0x4d36, 0xba, 0x07, 0x9e, 0xfc, 0x66, 0xd1, 0x00, 0xde EFI_TAPE_IO_PROTOCOL.TapeRead()parameters valid checking test. Call TapeRead() with (bufferSize=0,buffer!=NULL) should return EFI_SUCCESS.

24.1.2. TapeWrite()#

Number GUID Assertion Test Description
12.5.2.0.1 0xc42dcb51, 0x5108, 0x4d36, 0xba, 0x07, 0x9e, 0xfc, 0x66, 0xd1, 0x00, 0xde check input parameters of testing EFI_TAPE_IO_PROTOCOL.TapeWrite(). Check interface/environment valid.
12.5.2.1.1 0xc42dcb51, 0x5109, 0x4d36, 0xba, 0x07, 0x9e, 0xfc, 0x66, 0xd1, 0x00, 0xde EFI_TAPE_IO_PROTOCOL.TapeWrite() write some data to the tape.

Call TapeWrite() with (bufferSize=16384) should return EFI_SUCCESS.

Exit testing when error occurred.

12.5.2.2.1 0xc42dcb51, 0x510a, 0x4d36, 0xba, 0x07, 0x9e, 0xfc, 0x66, 0xd1, 0x00, 0xde EFI_TAPE_IO_PROTOCOL.TapeWrite() Buffer invalid checking test. Call TapeWrite() with (bufferSize!=0,Buffer=NULL) should return EFI_INVALID_PARAMETER.
12.5.2.2.2 0xc42dcb51, 0x510b, 0x4d36, 0xba, 0x07, 0x9e, 0xfc, 0x66, 0xd1, 0x00, 0xde EFI_TAPE_IO_PROTOCOL.TapeWrite()This invalid checking test. Call TapeWrite() with (This =NULL) should return EFI_INVALID_PARAMETER.
12.5.2.3.1 0xc42dcb51, 0x510c, 0x4d36, 0xba, 0x07, 0x9e, 0xfc, 0x66, 0xd1, 0x00, 0xde EFI_TAPE_IO_PROTOCOL.TapeWrite() parameters valid checking test A. Call TapeWrite() with (bufferSize=0,buffer=NULL) should return EFI_SUCCESS.
12.5.2.3.2 0xc42dcb51, 0x510e, 0x4d36, 0xba, 0x07, 0x9e, 0xfc, 0x66, 0xd1, 0x00, 0xde EFI_TAPE_IO_PROTOCOL.TapeWrite()parameters valid checking test B. Call TapeWrite() with (bufferSize=0,buffer!=NULL) should return EFI_SUCCESS.

24.1.3. TapeRewind()#

Number GUID Assertion Test Description
12.5.3.0.1 0xc42dcb51, 0x5110, 0x4d36, 0xba, 0x07, 0x9e, 0xfc, 0x66, 0xd1, 0x00, 0xde check input parameters of testing EFI_TAPE_IO_PROTOCOL.TapeRewind(). Check interface/environment valid.
12.5.3.1.1 0xc42dcb51, 0x5111, 0x4d36, 0xba, 0x07, 0x9e, 0xfc, 0x66, 0xd1, 0x00, 0xde EFI_TAPE_IO_PROTOCOL.TapeRewind() rewind the tape.

Call TapeRewind() should return EFI_SUCCESS.

Exit testing when error occurred.

12.5.3.2.1 0xc42dcb51, 0x5112, 0x4d36, 0xba, 0x07, 0x9e, 0xfc, 0x66, 0xd1, 0x00, 0xde EFI_TAPE_IO_PROTOCOL.TapeRewind()parameters This invalid checking test. Call TapeRewind(NULL) should return EFI_INVALID_PARAMETER.

24.1.4. TapeSpace()#

Number GUID Assertion Test Description
12.5.4.0.1 0xc42dcb51, 0x5118, 0x4d36, 0xba, 0x07, 0x9e, 0xfc, 0x66, 0xd1, 0x00, 0xde check input parameters of testing EFI_TAPE_IO_PROTOCOL.TapeSpace(). Check interface/environment valid.
12.5.4.1.0 0xc42dcb51, 0x511f, 0x4d36, 0xba, 0x07, 0x9e, 0xfc, 0x66, 0xd1, 0x00, 0xde EFI_TAPE_IO_PROTOCOL.TapeSpace() make the tape testing ready.

Call TapeRewind() for tape ready.

Exit testing when error occurred.

Please note the configuration.

12.5.4.1.1 0xc42dcb51, 0x5119, 0x4d36, 0xba, 0x07, 0x9e, 0xfc, 0x66, 0xd1, 0x00, 0xde EFI_TAPE_IO_PROTOCOL.TapeSpace() space some BLOCKs

Call TapeSpace() with (spaceType = TAPE_SPACE_TYPE_BLOCK) should return EFI_SUCCESS.

Exit testing when error occurred.

12.5.4.1.2 0xc42dcb51, 0x511e, 0x4d36, 0xba, 0x07, 0x9e, 0xfc, 0x66, 0xd1, 0x00, 0xde EFI_TAPE_IO_PROTOCOL.TapeSpace() space some FILEMARKs

Call TapeSpace() with (spaceType = TAPE_SPACE_TYPE_FILEMARK) should return EFI_SUCCESS.

Exit testing when error occurred.

12.5.4.2.1 0xc42dcb51, 0x511a, 0x4d36, 0xba, 0x07, 0x9e, 0xfc, 0x66, 0xd1, 0x00, 0xde EFI_TAPE_IO_PROTOCOL.TapeSpace() spaceDir < 0 testing

Call TapeSpace() with (spaceDir < 0) should return EFI_SUCCESS.

Exit testing when error occurred.

12.5.4.3.1 0xc42dcb51, 0x511b, 0x4d36, 0xba, 0x07, 0x9e, 0xfc, 0x66, 0xd1, 0x00, 0xde EFI_TAPE_IO_PROTOCOL.TapeSpace() spaceDir = 0 testing

Call TapeSpace() with (spaceDir = 0) should return EFI_SUCCESS.

Exit testing when error occurred.

12.5.4.4.1 0xc42dcb51, 0x511c, 0x4d36, 0xba, 0x07, 0x9e, 0xfc, 0x66, 0xd1, 0x00, 0xde EFI_TAPE_IO_PROTOCOL.TapeSpace() spaceDir > 0 testing

Call TapeSpace() with (spaceDir > 0) should return EFI_SUCCESS.

Exit testing when error occurred.

12.5.4.5.1 0xc42dcb51, 0x511d, 0x4d36, 0xba, 0x07, 0x9e, 0xfc, 0x66, 0xd1, 0x00, 0xde EFI_TAPE_IO_PROTOCOL.TapeSpace()parameter spaceType invalid checking test. Call TapeSpace() with invalid spaceType should return EFI_INVALID_PARAMETER.

24.1.5. TapeWriteFM()#

Number GUID Assertion Test Description
12.5.5.0.1 0xc42dcb51, 0x5120, 0x4d36, 0xba, 0x07, 0x9e, 0xfc, 0x66, 0xd1, 0x00, 0xde check input parameters of testing EFI_TAPE_IO_PROTOCOL.TapeWriteFM(). Check interface/environment valid.
12.5.5.1.1 0xc42dcb51, 0x5121, 0x4d36, 0xba, 0x07, 0x9e, 0xfc, 0x66, 0xd1, 0x00, 0xde EFI_TAPE_IO_PROTOCOL.TapeWriteFM() write some FileMarks to the tape.

Call TapeWriteFM() with (Count=1) should return EFI_SUCCESS.

Exit testing when error occurred.

12.5.5.2.1 0xc42dcb51, 0x5122, 0x4d36, 0xba, 0x07, 0x9e, 0xfc, 0x66, 0xd1, 0x00, 0xde EFI_TAPE_IO_PROTOCOL.TapeWriteFM() parameter This invalid checking test. Call TapeWriteFM(NULL) should return EFI_INVALID_PARAMETER.

24.1.6. TapeReset()#

Number

GUID

Assertion

Test Description

12.5.6.0.1

0xc42dcb51, 0x5128, 0x4d36, 0xba, 0x07, 0x9e, 0xfc, 0x66, 0xd1, 0x00, 0xde

check input parameters of testing EFI_TAPE_IO_PROTOCOL.TapeReset().

Check interface/environment valid.

12.5.6.1.1

0xc42dcb51, 0x5129, 0x4d36, 0xba, 0x07, 0x9e, 0xfc, 0x66, 0xd1, 0x00, 0xde

EFI_TAPE_IO_PROTOCOL.TapeReset() reset the tape.

Call TapeReset() with (extendReset=TRUE) should return EFI_SUCCESS.

12.5.6.1.2

0xc42dcb51, 0x512a, 0x4d36, 0xba,0x07, 0x9e,0xfc, 0x66,0xd1, 0x00,0xde

EFI_TAPE_IO_PROTOCOL.TapeReset() reset the tape.

Call TapeReset() with (extendReset=FALSE) should return EFI_SUCCESS.

12.5.6.2.1

0xc42dcb51, 0x5122, 0x4d36, 0xba, 0x07, 0x9e, 0xfc, 0x66, 0xd1, 0x00, 0xde

**EFI_TAPE_IO_PROTOCOL.TapeReset()**parameter This invalid checking test.

Call TapeReset() with invalid parameters (This=NULL) should return EFI_INVALID_PARAMETER.