mirror of https://github.com/akuker/RASCSI.git
Test sector size setting via ModeSelect in SCSICD
Signed-off-by: Klaus Kämpf <kkaempf@gmail.com>
This commit is contained in:
parent
e0cb5d4d0d
commit
cf0ccd839f
|
@ -387,6 +387,7 @@ class MockSCSICD : public SCSICD //NOSONAR Ignore inheritance hierarchy depth in
|
||||||
FRIEND_TEST(ScsiCdTest, GetSectorSizes);
|
FRIEND_TEST(ScsiCdTest, GetSectorSizes);
|
||||||
FRIEND_TEST(ScsiCdTest, SetUpModePages);
|
FRIEND_TEST(ScsiCdTest, SetUpModePages);
|
||||||
FRIEND_TEST(ScsiCdTest, ReadToc);
|
FRIEND_TEST(ScsiCdTest, ReadToc);
|
||||||
|
FRIEND_TEST(ScsiCdTest, ModeSelect);
|
||||||
|
|
||||||
using SCSICD::SCSICD;
|
using SCSICD::SCSICD;
|
||||||
};
|
};
|
||||||
|
|
|
@ -133,3 +133,26 @@ TEST(ScsiCdTest, ReadToc)
|
||||||
|
|
||||||
// Further testing requires filesystem access
|
// Further testing requires filesystem access
|
||||||
}
|
}
|
||||||
|
|
||||||
|
TEST(ScsiCdTest, ModeSelect)
|
||||||
|
{
|
||||||
|
MockSCSICD cd(0);
|
||||||
|
vector<int> cmd(6);
|
||||||
|
vector<uint8_t> buf(255);
|
||||||
|
|
||||||
|
cd.SetSectorSizeInBytes(2048);
|
||||||
|
|
||||||
|
// PF
|
||||||
|
cmd[1] = 0x10;
|
||||||
|
// Length
|
||||||
|
buf[3] = 0x08;
|
||||||
|
// 2048 bytes per sector
|
||||||
|
buf[10] = 0x08;
|
||||||
|
// Page 3 (Device Format Page)
|
||||||
|
buf[12] = 0x01;
|
||||||
|
EXPECT_NO_THROW(cd.ModeSelect(scsi_command::eCmdModeSelect6, cmd, buf, 255)) << "MODE SELECT(6) with sector size 2048 is supported";
|
||||||
|
|
||||||
|
// 512 bytes per sector
|
||||||
|
buf[10] = 0x02;
|
||||||
|
EXPECT_NO_THROW(cd.ModeSelect(scsi_command::eCmdModeSelect6, cmd, buf, 255)) << "MODE SELECT(6) with sector size 512 is supported";
|
||||||
|
}
|
||||||
|
|
Loading…
Reference in New Issue