From eefe547d25807dcd8fe46af52550b85e6688e161 Mon Sep 17 00:00:00 2001 From: deadprogram Date: Tue, 25 Apr 2017 12:41:57 +0200 Subject: [PATCH] sysfs: increase test coverage Signed-off-by: deadprogram --- sysfs/pwm_pin_test.go | 44 +++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 44 insertions(+) diff --git a/sysfs/pwm_pin_test.go b/sysfs/pwm_pin_test.go index ebc4bf9b..4f4389d2 100644 --- a/sysfs/pwm_pin_test.go +++ b/sysfs/pwm_pin_test.go @@ -47,8 +47,12 @@ func TestPwmPin(t *testing.T) { gobottest.Assert(t, pin.InvertPolarity(true), nil) gobottest.Assert(t, fs.Files["/sys/class/pwm/pwmchip0/pwm10/polarity"].Contents, "inverted") + pol, _ := pin.Polarity() + gobottest.Assert(t, pol, "inverted") gobottest.Assert(t, pin.InvertPolarity(false), nil) gobottest.Assert(t, fs.Files["/sys/class/pwm/pwmchip0/pwm10/polarity"].Contents, "normal") + pol, _ = pin.Polarity() + gobottest.Assert(t, pol, "normal") gobottest.Refute(t, fs.Files["/sys/class/pwm/pwmchip0/pwm10/duty_cycle"].Contents, "1") err = pin.SetDutyCycle(100) @@ -115,3 +119,43 @@ func TestPwmPinPeriodError(t *testing.T) { _, err := pin.Period() gobottest.Refute(t, err, nil) } + +func TestPwmPinPolarityError(t *testing.T) { + fs := NewMockFilesystem([]string{ + "/sys/class/pwm/pwmchip0/export", + "/sys/class/pwm/pwmchip0/unexport", + "/sys/class/pwm/pwmchip0/pwm10/enable", + "/sys/class/pwm/pwmchip0/pwm10/period", + "/sys/class/pwm/pwmchip0/pwm10/duty_cycle", + }) + + SetFilesystem(fs) + + pin := NewPWMPin(10) + pin.read = func(string) ([]byte, error) { + return nil, &os.PathError{Err: syscall.EBUSY} + } + + _, err := pin.Polarity() + gobottest.Refute(t, err, nil) +} + +func TestPwmPinDutyCycleError(t *testing.T) { + fs := NewMockFilesystem([]string{ + "/sys/class/pwm/pwmchip0/export", + "/sys/class/pwm/pwmchip0/unexport", + "/sys/class/pwm/pwmchip0/pwm10/enable", + "/sys/class/pwm/pwmchip0/pwm10/period", + "/sys/class/pwm/pwmchip0/pwm10/duty_cycle", + }) + + SetFilesystem(fs) + + pin := NewPWMPin(10) + pin.read = func(string) ([]byte, error) { + return nil, &os.PathError{Err: syscall.EBUSY} + } + + _, err := pin.DutyCycle() + gobottest.Refute(t, err, nil) +}