Resolve error that occurs in set_brightness(): E TypeError: unorderable types: str() < int() Signed-off-by: Drew Fustini <drew@pdp7.com>
47 lines
1.2 KiB
Python
47 lines
1.2 KiB
Python
import pytest
|
|
import os
|
|
import errno
|
|
|
|
import Adafruit_BBIO.GPIO as GPIO
|
|
|
|
def teardown_module(module):
|
|
GPIO.cleanup()
|
|
|
|
class TestLED:
|
|
def set_brightness(self, state, led, name):
|
|
GPIO.setup(led, GPIO.OUT)
|
|
GPIO.output(led, state)
|
|
prefix = "/sys/class/leds/beaglebone:green:{0}/brightness"
|
|
path = prefix.format(led.lower())
|
|
value = self.read_led_file(path)
|
|
if value == "":
|
|
path = prefix.format(name)
|
|
value = self.read_led_file(path)
|
|
if state == 1:
|
|
assert int(value) > 0
|
|
else:
|
|
assert int(value) == 0
|
|
|
|
def read_led_file(self, path):
|
|
try:
|
|
return open(path).read()
|
|
except (IOError, e):
|
|
if e.errno == errno.ENOENT:
|
|
return ""
|
|
|
|
def set_all_leds(self, state):
|
|
test_leds = { "USR0": "heartbeat", \
|
|
"USR1": "mmc0", \
|
|
"USR2": "cpu0", \
|
|
"USR3": "mmc1" }
|
|
for led, name in test_leds.items():
|
|
self.set_brightness(state, led, name)
|
|
GPIO.cleanup()
|
|
|
|
def test_brightness_high(self):
|
|
self.set_all_leds(GPIO.HIGH)
|
|
|
|
def test_brightness_low(self):
|
|
self.set_all_leds(GPIO.LOW)
|
|
|
|
|