From b9672bcbe8dd29b61326af8eb026df4d10a8f0ce Mon Sep 17 00:00:00 2001
From: Damien George <damien.p.george@gmail.com>
Date: Fri, 16 Sep 2016 23:31:02 +1000
Subject: [PATCH] tests/extmod: Add test for machine.time_pulse_us().

---
 tests/extmod/machine_pulse.py     | 54 +++++++++++++++++++++++++++++++
 tests/extmod/machine_pulse.py.exp |  9 ++++++
 2 files changed, 63 insertions(+)
 create mode 100644 tests/extmod/machine_pulse.py
 create mode 100644 tests/extmod/machine_pulse.py.exp

diff --git a/tests/extmod/machine_pulse.py b/tests/extmod/machine_pulse.py
new file mode 100644
index 000000000..b6e126435
--- /dev/null
+++ b/tests/extmod/machine_pulse.py
@@ -0,0 +1,54 @@
+try:
+    import umachine as machine
+except ImportError:
+    import machine
+try:
+    machine.PinBase
+    machine.time_pulse_us
+except AttributeError:
+    print("SKIP")
+    import sys
+    sys.exit()
+
+
+class ConstPin(machine.PinBase):
+
+    def __init__(self, value):
+        self.v = value
+
+    def value(self, v=None):
+        if v is None:
+            return self.v
+        else:
+            self.v = v
+
+
+class TogglePin(machine.PinBase):
+
+    def __init__(self):
+        self.v = 0
+
+    def value(self, v=None):
+        if v is None:
+            self.v = 1 - self.v
+            print("value:", self.v)
+            return self.v
+
+
+p = TogglePin()
+
+t = machine.time_pulse_us(p, 1)
+print(type(t))
+t = machine.time_pulse_us(p, 0)
+print(type(t))
+
+p = ConstPin(0)
+try:
+    machine.time_pulse_us(p, 1, 10)
+except OSError:
+    print("OSError")
+
+try:
+    machine.time_pulse_us(p, 0, 10)
+except OSError:
+    print("OSError")
diff --git a/tests/extmod/machine_pulse.py.exp b/tests/extmod/machine_pulse.py.exp
new file mode 100644
index 000000000..f9a474218
--- /dev/null
+++ b/tests/extmod/machine_pulse.py.exp
@@ -0,0 +1,9 @@
+value: 1
+value: 0
+<class 'int'>
+value: 1
+value: 0
+value: 1
+<class 'int'>
+OSError
+OSError
-- 
GitLab