diff --git a/gpio.go b/gpio.go index 3d7baf7..e124cce 100644 --- a/gpio.go +++ b/gpio.go @@ -151,6 +151,13 @@ type GPIODriver interface { var gpioDriverInitialized bool var gpioDriverInstance GPIODriver +// SetGpioDriver should be used only for testing purpose.It makes possible to unit test embd gpio functionality +// it overrides the gpioDriverInstance +func SetGpioDriver(drv GPIODriver, initialized bool) { + gpioDriverInstance = drv + gpioDriverInitialized = initialized +} + // InitGPIO initializes the GPIO driver. func InitGPIO() error { if gpioDriverInitialized { diff --git a/i2c.go b/i2c.go index 6a5d1ec..9f39296 100644 --- a/i2c.go +++ b/i2c.go @@ -43,6 +43,13 @@ type I2CDriver interface { var i2cDriverInitialized bool var i2cDriverInstance I2CDriver +// SetI2cDriver should be used only for testing purpose.It makes possible to unit test embd i2c functionality. +// it overrides the i2cDriverInstance +func SetI2cDriver(drv I2CDriver, initialized bool) { + i2cDriverInstance = drv + i2cDriverInitialized = initialized +} + // InitI2C initializes the I2C driver. func InitI2C() error { if i2cDriverInitialized { diff --git a/spi.go b/spi.go index db5b029..365b3b1 100644 --- a/spi.go +++ b/spi.go @@ -56,6 +56,13 @@ type SPIDriver interface { var spiDriverInitialized bool var spiDriverInstance SPIDriver +// SetSPIDriver should be used only for testing purpose.It makes possible to unit test embd spi functionality. +// it overrides spiDriverInstance +func SetSPIDriver(drv SPIDriver, initialized bool) { + spiDriverInstance = drv + spiDriverInitialized = initialized +} + // InitSPI initializes the SPI driver. func InitSPI() error { if spiDriverInitialized {