support/testing: add python-automat tests

Use a minimal script to check the basic usage by creating and using a
small state machine.

Signed-off-by: Ricardo Martincoski <ricardo.martincoski@gmail.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
This commit is contained in:
Ricardo Martincoski 2018-11-16 01:57:23 -02:00 committed by Thomas Petazzoni
parent 367c045512
commit 66f99555ed
3 changed files with 52 additions and 0 deletions

View File

@ -322,6 +322,8 @@ tests.package.test_python_attrs.TestPythonPy2Attrs: *runtime_test
tests.package.test_python_attrs.TestPythonPy3Attrs: *runtime_test
tests.package.test_python_autobahn.TestPythonPy2Autobahn: *runtime_test
tests.package.test_python_autobahn.TestPythonPy3Autobahn: *runtime_test
tests.package.test_python_automat.TestPythonPy2Automat: *runtime_test
tests.package.test_python_automat.TestPythonPy3Automat: *runtime_test
tests.package.test_python_crossbar.TestPythonPy3Crossbar: *runtime_test
tests.package.test_python_cryptography.TestPythonPy2Cryptography: *runtime_test
tests.package.test_python_cryptography.TestPythonPy3Cryptography: *runtime_test

View File

@ -0,0 +1,27 @@
from automat import MethodicalMachine
class Led(object):
_machine = MethodicalMachine()
@_machine.state()
def led_on(self):
"led is on"
@_machine.state(initial=True)
def led_off(self):
"led is off"
@_machine.input()
def turn_on(self):
"turn the led on"
@_machine.output()
def _light(self):
print("light")
led_off.upon(turn_on, enter=led_on, outputs=[_light])
led = Led()
led.turn_on()

View File

@ -0,0 +1,23 @@
from tests.package.test_python import TestPythonPackageBase
class TestPythonPy2Automat(TestPythonPackageBase):
__test__ = True
config = TestPythonPackageBase.config + \
"""
BR2_PACKAGE_PYTHON=y
BR2_PACKAGE_PYTHON_AUTOMAT=y
"""
sample_scripts = ["tests/package/sample_python_automat.py"]
timeout = 30
class TestPythonPy3Automat(TestPythonPackageBase):
__test__ = True
config = TestPythonPackageBase.config + \
"""
BR2_PACKAGE_PYTHON3=y
BR2_PACKAGE_PYTHON_AUTOMAT=y
"""
sample_scripts = ["tests/package/sample_python_automat.py"]
timeout = 30