Skip to content

Testing improvement: Execute SCSI commands without RaSCSI hardware #703

@uweseimet

Description

@uweseimet

This requires some effort, but would help a lot with testing and avoiding regressions. RaSCSI should be able to receive SCSI commands not just by checking hardware ports, but also by receiving these commands from test clients, without the need for the RaSCSI hardware.

Testing the SCSI controller most likely requires a well defined, clean software interface between the exisiting hardware-centric code (gpiobus.cpp most likely) and the code on top of it. An alternative interface can then simulate the non-existing hardware, which would ultimately make the complete controller/SCSI command code fully testable.
In addition, with an improved abstraction new RaSCSI hardware could be supported just by providing an additional interface implementation for the respective hardware.

Testing devices is most likely possible with a mock controller, extending the SCSI controller class and overriding the methods for controlling the bus phases.

Metadata

Metadata

Assignees

Labels

architectureSoftware architecture and code qualityenhancementNew feature or request

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions