mirror of
https://github.com/KevinMidboe/python-gpiozero.git
synced 2025-10-29 17:50:37 +00:00
Disable timing tests on pypy
Doing timing tests on pypy (for blink) just doesn't work; even with a tolerance as coarse as tens-of-milliseconds, things fail. I guess that isn't too surprising given that, as the tests are one off things the pypy JIT is never getting a chance to spin up and do its stuff.
This commit is contained in:
@@ -7,13 +7,14 @@ from __future__ import (
|
|||||||
str = type('')
|
str = type('')
|
||||||
|
|
||||||
|
|
||||||
|
import sys
|
||||||
|
from time import sleep
|
||||||
try:
|
try:
|
||||||
from math import isclose
|
from math import isclose
|
||||||
except ImportError:
|
except ImportError:
|
||||||
from gpiozero.compat import isclose
|
from gpiozero.compat import isclose
|
||||||
|
|
||||||
import pytest
|
import pytest
|
||||||
from time import sleep
|
|
||||||
|
|
||||||
from gpiozero.pins.mock import MockPin, MockPWMPin
|
from gpiozero.pins.mock import MockPin, MockPWMPin
|
||||||
from gpiozero import *
|
from gpiozero import *
|
||||||
@@ -85,6 +86,8 @@ def test_output_digital_toggle():
|
|||||||
assert not device.value
|
assert not device.value
|
||||||
assert not pin.state
|
assert not pin.state
|
||||||
|
|
||||||
|
@pytest.mark.skipif(hasattr(sys, 'pypy_version_info'),
|
||||||
|
reason='timing is too random on pypy')
|
||||||
def test_output_blink_background():
|
def test_output_blink_background():
|
||||||
pin = MockPin(2)
|
pin = MockPin(2)
|
||||||
device = DigitalOutputDevice(pin)
|
device = DigitalOutputDevice(pin)
|
||||||
@@ -98,6 +101,8 @@ def test_output_blink_background():
|
|||||||
(0.1, False)
|
(0.1, False)
|
||||||
])
|
])
|
||||||
|
|
||||||
|
@pytest.mark.skipif(hasattr(sys, 'pypy_version_info'),
|
||||||
|
reason='timing is too random on pypy')
|
||||||
def test_output_blink_foreground():
|
def test_output_blink_foreground():
|
||||||
pin = MockPin(2)
|
pin = MockPin(2)
|
||||||
device = DigitalOutputDevice(pin)
|
device = DigitalOutputDevice(pin)
|
||||||
@@ -198,6 +203,8 @@ def test_output_pwm_write_silly():
|
|||||||
with pytest.raises(AttributeError):
|
with pytest.raises(AttributeError):
|
||||||
device.off()
|
device.off()
|
||||||
|
|
||||||
|
@pytest.mark.skipif(hasattr(sys, 'pypy_version_info'),
|
||||||
|
reason='timing is too random on pypy')
|
||||||
def test_output_pwm_blink_background():
|
def test_output_pwm_blink_background():
|
||||||
pin = MockPWMPin(2)
|
pin = MockPWMPin(2)
|
||||||
device = PWMOutputDevice(pin)
|
device = PWMOutputDevice(pin)
|
||||||
@@ -211,6 +218,8 @@ def test_output_pwm_blink_background():
|
|||||||
(0.1, 0)
|
(0.1, 0)
|
||||||
])
|
])
|
||||||
|
|
||||||
|
@pytest.mark.skipif(hasattr(sys, 'pypy_version_info'),
|
||||||
|
reason='timing is too random on pypy')
|
||||||
def test_output_pwm_blink_foreground():
|
def test_output_pwm_blink_foreground():
|
||||||
pin = MockPWMPin(2)
|
pin = MockPWMPin(2)
|
||||||
device = PWMOutputDevice(pin)
|
device = PWMOutputDevice(pin)
|
||||||
@@ -223,6 +232,8 @@ def test_output_pwm_blink_foreground():
|
|||||||
(0.1, 0)
|
(0.1, 0)
|
||||||
])
|
])
|
||||||
|
|
||||||
|
@pytest.mark.skipif(hasattr(sys, 'pypy_version_info'),
|
||||||
|
reason='timing is too random on pypy')
|
||||||
def test_output_pwm_fade_background():
|
def test_output_pwm_fade_background():
|
||||||
pin = MockPWMPin(2)
|
pin = MockPWMPin(2)
|
||||||
device = PWMOutputDevice(pin)
|
device = PWMOutputDevice(pin)
|
||||||
@@ -252,6 +263,8 @@ def test_output_pwm_fade_background():
|
|||||||
(0.02, 0),
|
(0.02, 0),
|
||||||
])
|
])
|
||||||
|
|
||||||
|
@pytest.mark.skipif(hasattr(sys, 'pypy_version_info'),
|
||||||
|
reason='timing is too random on pypy')
|
||||||
def test_output_pwm_fade_foreground():
|
def test_output_pwm_fade_foreground():
|
||||||
pin = MockPWMPin(2)
|
pin = MockPWMPin(2)
|
||||||
device = PWMOutputDevice(pin)
|
device = PWMOutputDevice(pin)
|
||||||
@@ -326,6 +339,8 @@ def test_rgbled_toggle():
|
|||||||
assert not device.is_active
|
assert not device.is_active
|
||||||
assert device.value == (0, 0, 0)
|
assert device.value == (0, 0, 0)
|
||||||
|
|
||||||
|
@pytest.mark.skipif(hasattr(sys, 'pypy_version_info'),
|
||||||
|
reason='timing is too random on pypy')
|
||||||
def test_rgbled_blink_background():
|
def test_rgbled_blink_background():
|
||||||
r, g, b = (MockPWMPin(i) for i in (1, 2, 3))
|
r, g, b = (MockPWMPin(i) for i in (1, 2, 3))
|
||||||
device = RGBLED(r, g, b)
|
device = RGBLED(r, g, b)
|
||||||
@@ -342,6 +357,8 @@ def test_rgbled_blink_background():
|
|||||||
g.assert_states_and_times(expected)
|
g.assert_states_and_times(expected)
|
||||||
b.assert_states_and_times(expected)
|
b.assert_states_and_times(expected)
|
||||||
|
|
||||||
|
@pytest.mark.skipif(hasattr(sys, 'pypy_version_info'),
|
||||||
|
reason='timing is too random on pypy')
|
||||||
def test_rgbled_blink_foreground():
|
def test_rgbled_blink_foreground():
|
||||||
r, g, b = (MockPWMPin(i) for i in (1, 2, 3))
|
r, g, b = (MockPWMPin(i) for i in (1, 2, 3))
|
||||||
device = RGBLED(r, g, b)
|
device = RGBLED(r, g, b)
|
||||||
@@ -357,6 +374,8 @@ def test_rgbled_blink_foreground():
|
|||||||
g.assert_states_and_times(expected)
|
g.assert_states_and_times(expected)
|
||||||
b.assert_states_and_times(expected)
|
b.assert_states_and_times(expected)
|
||||||
|
|
||||||
|
@pytest.mark.skipif(hasattr(sys, 'pypy_version_info'),
|
||||||
|
reason='timing is too random on pypy')
|
||||||
def test_rgbled_fade_background():
|
def test_rgbled_fade_background():
|
||||||
r, g, b = (MockPWMPin(i) for i in (1, 2, 3))
|
r, g, b = (MockPWMPin(i) for i in (1, 2, 3))
|
||||||
device = RGBLED(r, g, b)
|
device = RGBLED(r, g, b)
|
||||||
|
|||||||
Reference in New Issue
Block a user