unittest.py

changeset 145
fde18c4d6784
parent 127
97de6058109e
child 150
fcc07f6907a8
--- a/unittest.py	Fri Sep 18 21:57:36 2020 +0300
+++ b/unittest.py	Fri Sep 18 23:51:45 2020 +0300
@@ -1,6 +1,5 @@
 #!/usr/bin/env python3
 from ldcheck import appname, version, version_string
-from ldcheck import load_config, find_ldconfig_ldr_paths
 from ldcheck import script_directory
 from pathlib import Path
 from parse import read_ldraw
@@ -21,7 +20,7 @@
     problem_type, line_no_str = str.split(text, ':')
     return problem_type, int(line_no_str)
 
-def load_unit_test(unit_test_path, *, name, ldraw_directories):
+def load_unit_test(unit_test_path, *, name, context):
     with open(unit_test_path, 'rb') as device:
         import re
         problem_types = set()
@@ -56,19 +55,19 @@
             'model': read_ldraw(
                 device,
                 name = name,
-                ldraw_directories = ldraw_directories
+                context = context
             ),
         }
 
 def parse_problem(problem):
     return problem.problem_class.name, problem.line_number
 
-def run_unit_test(unit_test_path, *, config, test_suite):
+def run_unit_test(unit_test_path, *, context, test_suite):
     from os.path import basename
     unit_test = load_unit_test(
         unit_test_path,
         name = basename(unit_test_path),
-        ldraw_directories = config['libraries'],
+        context = context,
     )
     bad_problems = set.difference(
         unit_test['problem_types'],
@@ -106,7 +105,8 @@
     parser = ArgumentParser()
     parser.add_argument('-d', '--debug', action = 'store_true')
     args = parser.parse_args()
-    config = load_config()
+    from ldcheck import LDrawContext
+    context = LDrawContext()
     test_suite = load_tests()
     num_tested = 0
     num_passed = 0
@@ -117,7 +117,7 @@
         try:
             unit_test_report = run_unit_test(
                 unit_test_path,
-                config = config,
+                context = context,
                 test_suite = test_suite
             )
         except Exception as error:

mercurial