-
-
Notifications
You must be signed in to change notification settings - Fork 89
Testing improvement: Execute SCSI commands without RaSCSI hardware #703
Description
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.