diff --git a/compiler/tests/01_library_drc_test.py b/compiler/tests/01_library_drc_test.py index 42fa1335..8b254bbc 100755 --- a/compiler/tests/01_library_drc_test.py +++ b/compiler/tests/01_library_drc_test.py @@ -21,16 +21,15 @@ class library_drc_test(openram_test): globals.init_openram(config_file) import verify - (gds_dir, gds_files) = setup_files() + (gds_dir, allnames) = setup_files() drc_errors = 0 - debug.info(1, "\nPerforming DRC on: " + ", ".join(gds_files)) - for f in gds_files: - name = re.sub('\.gds$', '', f) - gds_name = "{0}/{1}".format(gds_dir, f) + debug.info(1, "\nPerforming DRC on: " + ", ".join(allnames)) + for f in allnames: + gds_name = "{0}/{1}.gds".format(gds_dir, f) if not os.path.isfile(gds_name): drc_errors += 1 debug.error("Missing GDS file: {}".format(gds_name)) - drc_errors += verify.run_drc(name, gds_name) + drc_errors += verify.run_drc(f, gds_name) # fails if there are any DRC errors on any cells self.assertEqual(drc_errors, 0) @@ -42,14 +41,23 @@ def setup_files(): files = os.listdir(gds_dir) nametest = re.compile("\.gds$", re.IGNORECASE) gds_files = list(filter(nametest.search, files)) + + tempnames = gds_files + # remove the .gds and .sp suffixes + for i in range(len(tempnames)): + gds_files[i] = re.sub('\.gds$', '', tempnames[i]) + try: from tech import blackbox_cells - gds_files = list(set(gds_files) - set(blackbox_cells)) + nameset = list(set(tempnames) - set(blackbox_cells)) except ImportError: - pass - - return (gds_dir, gds_files) + # remove duplicate base names + nameset = set(tempnames) + + allnames = list(nameset) + + return (gds_dir, allnames) # run the test from the command line