From 65c5db81348d9e284407306ff0f8ab075312687b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Klaus=20K=C3=A4mpf?= Date: Mon, 26 Feb 2024 16:21:37 +0100 Subject: [PATCH] Add tests for issue#1426 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Klaus Kämpf --- cpp/test/scsicd_test.cpp | 18 +++++++++++++++++- 1 file changed, 17 insertions(+), 1 deletion(-) diff --git a/cpp/test/scsicd_test.cpp b/cpp/test/scsicd_test.cpp index dd4d39ea..fd92a46f 100644 --- a/cpp/test/scsicd_test.cpp +++ b/cpp/test/scsicd_test.cpp @@ -157,7 +157,23 @@ TEST(ScsiCdTest, ModeSelect) 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 + // 512 bytes per sector - ModeSelect6 buf[10] = 0x02; EXPECT_NO_THROW(cd.ModeSelect(scsi_command::eCmdModeSelect6, cmd, buf, 255)) << "MODE SELECT(6) with sector size 512 is supported"; + + // 2048 bytes per sector - ModeSelect6 + buf[10] = 0x08; + EXPECT_NO_THROW(cd.ModeSelect(scsi_command::eCmdModeSelect6, cmd, buf, 255)) << "MODE SELECT(6) with sector size 2045 is supported"; + + // 512 bytes per sector - ModeSelect10 + buf[10] = 0x02; + EXPECT_NO_THROW(cd.ModeSelect(scsi_command::eCmdModeSelect10, cmd, buf, 255)) << "MODE SELECT(10) with sector size 512 is supported"; + + // unsupported sector size - ModeSelect6 + buf[10] = 0x04; + EXPECT_THROW(cd.ModeSelect(scsi_command::eCmdModeSelect6, cmd, buf, 255), io_exception) << "MODE SELECT(6) with sector size 1024 is unsupported"; + + // sector size not multiple of 512 - ModeSelect6 + buf[10] = 0x03; + EXPECT_THROW(cd.ModeSelect(scsi_command::eCmdModeSelect6, cmd, buf, 255), io_exception) << "MODE SELECT(6) with sector size 768 is unsupported"; }