diff options
-rw-r--r-- | test/tool/test_kicad_make_pos.py | 27 | ||||
-rw-r--r-- | test/utils.py | 26 |
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 |