diff --git a/ev3dev/core.py b/ev3dev/core.py index e09b841..868ddd1 100644 --- a/ev3dev/core.py +++ b/ev3dev/core.py @@ -216,6 +216,10 @@ def __init__(self, port=None, name=SYSTEM_DEVICE_NAME_CONVENTION, **kwargs): # ~autogen + + def __del__(self): + self.stop() + # ~autogen generic-get-set classes.motor>currentClass @property @@ -731,6 +735,10 @@ def __init__(self, port=None, name=SYSTEM_DEVICE_NAME_CONVENTION, **kwargs): # ~autogen + + def __del__(self): + self.stop() + # ~autogen generic-get-set classes.dcMotor>currentClass @property @@ -962,6 +970,10 @@ def __init__(self, port=None, name=SYSTEM_DEVICE_NAME_CONVENTION, **kwargs): # ~autogen + + def __del__(self): + self.float() + # ~autogen generic-get-set classes.servoMotor>currentClass @property diff --git a/tests/api_tests.py b/tests/api_tests.py index 5a7458b..a60d202 100755 --- a/tests/api_tests.py +++ b/tests/api_tests.py @@ -28,6 +28,12 @@ def test_device(self): self.assertTrue(d.connected) def test_medium_motor(self): + def dummy(self): + pass + + # Do not write motor.command on exit (so that fake tree stays intact) + ev3.MediumMotor.__del__ = dummy + m = ev3.MediumMotor() self.assertTrue(m.connected);