aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--test/tool/test_kicad_make_pos.py27
-rw-r--r--test/utils.py26
2 files changed, 53 insertions, 0 deletions
diff --git a/test/tool/test_kicad_make_pos.py b/test/tool/test_kicad_make_pos.py
new file mode 100644
index 0000000..447b497
--- /dev/null
+++ b/test/tool/test_kicad_make_pos.py
@@ -0,0 +1,27 @@
+import utils
+import argparse
+import os.path
+from io import StringIO
+
+basedir = os.path.dirname(os.path.abspath(__file__))
+
+def test_basic():
+ argv = [
+ "ee",
+ "--kicad-pcb",
+ os.path.join(basedir, "../kicad_pcb/parser-1.kicad_pcb")
+ ]
+ buf = StringIO()
+ try:
+ with utils.make_env(argv=argv, stdout=buf):
+ import ee.tools.kicad_make_pos
+ except SystemExit as e:
+ raise e
+ finally:
+ print("Output")
+ buf.seek(0)
+ count = 0
+ for l in buf.readlines():
+ print(l.rstrip())
+ count = count + 1
+ assert count > 3
diff --git a/test/utils.py b/test/utils.py
new file mode 100644
index 0000000..5c67f92
--- /dev/null
+++ b/test/utils.py
@@ -0,0 +1,26 @@
+import sys
+
+class make_env(object):
+ def __init__(self, argv=None, stdout=None):
+ self.argv = argv
+ self.stdout = stdout
+
+ def __enter__(self):
+ self.old_argv = sys.argv
+ if self.argv:
+ sys.argv = self.argv
+
+ self.old_stdout = sys.stdout
+ self.old_stderr = sys.stderr
+ if self.stdout:
+ sys.stdout = self.stdout
+ sys.stderr = self.stdout
+
+ def __exit__(self, *args):
+ if self.old_argv:
+ sys.argv = self.old_argv
+
+ if self.old_stdout:
+ sys.stdout = self.old_stdout
+ if self.old_stderr:
+ sys.stderr = self.old_stderr