aboutsummaryrefslogtreecommitdiff
path: root/test/doit/test_doit.py
diff options
context:
space:
mode:
Diffstat (limited to 'test/doit/test_doit.py')
-rw-r--r--test/doit/test_doit.py35
1 files changed, 35 insertions, 0 deletions
diff --git a/test/doit/test_doit.py b/test/doit/test_doit.py
new file mode 100644
index 0000000..61c5074
--- /dev/null
+++ b/test/doit/test_doit.py
@@ -0,0 +1,35 @@
+import pytest
+import os.path
+import os
+
+filedir = os.path.dirname(os.path.abspath(__file__))
+schematics_dir = os.path.join(filedir, "schematics")
+
+def find_task(tasks, name: str):
+ t = next((t for t in tasks if t["name"] == name), None)
+ assert(t is not None)
+ return t
+
+def exec_task(task):
+ targets = task["targets"]
+ for a in task["actions"]:
+ if isinstance(a, str):
+ cmd = a % dict(targets=" ".join(targets))
+ ret = os.system(cmd)
+ assert(ret == 0)
+ else:
+ a()
+
+def test_doit(tmpdir):
+ from ee.kicad.doit import KicadDoitTasks
+
+ args = dict(
+ sch=os.path.join(schematics_dir, "schematic-1.sch"),
+ sch_object_set_dir=os.path.join(tmpdir, "kicad-sch")
+ )
+ tasks = list(KicadDoitTasks(**args).tasks())
+ assert(len(tasks) == 1)
+ create_kicad_sch_objects = find_task(tasks, "create-kicad-sch-objects")
+ exec_task(create_kicad_sch_objects)
+
+# thirdparty/olinuxino/HARDWARE/A64-OLinuXino/A64-OLinuXino_Rev_C/A64-OlinuXino_Rev_C.sch