Coverage report: 84%

Files Functions Classes

coverage.py v7.13.0, created at 2025-12-19 18:50 +0000

File function   statements missing excluded   coverage
klayout_pex / __init__.py (no function)   0 0 0   100%
klayout_pex / common / __init__.py (no function)   0 0 0   100%
klayout_pex / common / capacitance_matrix.py CapacitanceMatrix.__getitem__   1 0 0   100%
klayout_pex / common / capacitance_matrix.py CapacitanceMatrix.__setitem__   1 1 0   0%
klayout_pex / common / capacitance_matrix.py CapacitanceMatrix.dimension   1 0 0   100%
klayout_pex / common / capacitance_matrix.py CapacitanceMatrix.parse_csv   10 1 0   90%
klayout_pex / common / capacitance_matrix.py CapacitanceMatrix.write_csv   9 0 0   100%
klayout_pex / common / capacitance_matrix.py CapacitanceMatrix.averaged_off_diagonals   11 0 0   100%
klayout_pex / common / capacitance_matrix.py (no function)   16 0 0   100%
klayout_pex / common / path_validation.py validate_files   16 16 0   0%
klayout_pex / common / path_validation.py (no function)   12 0 0   100%
klayout_pex / env.py EnvVar.default_value   9 1 0   89%
klayout_pex / env.py EnvVar.help_epilog_table   1 0 0   100%
klayout_pex / env.py Env.__init__   1 0 0   100%
klayout_pex / env.py Env.from_os_environ   7 0 0   100%
klayout_pex / env.py Env.default_magicrc_path   4 0 0   100%
klayout_pex / env.py Env.__getitem__   1 0 0   100%
klayout_pex / env.py Env.__contains__   1 1 0   0%
klayout_pex / env.py Env.__repr__   1 1 0   0%
klayout_pex / env.py (no function)   24 0 0   100%
klayout_pex / extraction_engine.py (no function)   6 0 0   100%
klayout_pex / fastcap / __init__.py (no function)   0 0 0   100%
klayout_pex / fastcap / fastcap_runner.py run_fastcap   27 27 0   0%
klayout_pex / fastcap / fastcap_runner.py fastcap_parse_capacitance_matrix   27 2 0   93%
klayout_pex / fastcap / fastcap_runner.py (no function)   9 0 0   100%
klayout_pex / fastercap / __init__.py (no function)   0 0 0   100%
klayout_pex / fastercap / fastercap_input_builder.py FasterCapInputBuilder.__init__   5 0 0   100%
klayout_pex / fastercap / fastercap_input_builder.py FasterCapInputBuilder.dbu   1 0 0   100%
klayout_pex / fastercap / fastercap_input_builder.py FasterCapInputBuilder.gds_pair   7 2 0   71%
klayout_pex / fastercap / fastercap_input_builder.py FasterCapInputBuilder.shapes_of_net   7 1 0   86%
klayout_pex / fastercap / fastercap_input_builder.py FasterCapInputBuilder.shapes_of_layer   7 1 0   86%
klayout_pex / fastercap / fastercap_input_builder.py FasterCapInputBuilder.top_cell_bbox   1 0 0   100%
klayout_pex / fastercap / fastercap_input_builder.py FasterCapInputBuilder.build   122 49 0   60%
klayout_pex / fastercap / fastercap_input_builder.py FasterCapInputBuilder.build.format_terminal   3 3 0   0%
klayout_pex / fastercap / fastercap_input_builder.py (no function)   18 0 0   100%
klayout_pex / fastercap / fastercap_model_generator.py FasterCapModelBuilder.__init__   11 0 0   100%
klayout_pex / fastercap / fastercap_model_generator.py FasterCapModelBuilder.add_material   1 0 0   100%
klayout_pex / fastercap / fastercap_model_generator.py FasterCapModelBuilder.add_dielectric   3 1 0   67%
klayout_pex / fastercap / fastercap_model_generator.py FasterCapModelBuilder.add_conductor   3 1 0   67%
klayout_pex / fastercap / fastercap_model_generator.py FasterCapModelBuilder._norm2z   1 0 0   100%
klayout_pex / fastercap / fastercap_model_generator.py FasterCapModelBuilder._z2norm   1 0 0   100%
klayout_pex / fastercap / fastercap_model_generator.py FasterCapModelBuilder._add_layer   11 1 0   91%
klayout_pex / fastercap / fastercap_model_generator.py FasterCapModelBuilder.generate   26 1 0   96%
klayout_pex / fastercap / fastercap_model_generator.py HDielKey.__str__   1 0 0   100%
klayout_pex / fastercap / fastercap_model_generator.py HDielKey.topic   1 0 0   100%
klayout_pex / fastercap / fastercap_model_generator.py HDielKey.reversed   1 0 0   100%
klayout_pex / fastercap / fastercap_model_generator.py HCondKey.__str__   1 0 0   100%
klayout_pex / fastercap / fastercap_model_generator.py HCondKey.topic   1 0 0   100%
klayout_pex / fastercap / fastercap_model_generator.py Point.__sub__   1 0 0   100%
klayout_pex / fastercap / fastercap_model_generator.py Point.sq_length   1 0 0   100%
klayout_pex / fastercap / fastercap_model_generator.py Point.to_fastcap   1 0 0   100%
klayout_pex / fastercap / fastercap_model_generator.py vector_product   2 0 0   100%
klayout_pex / fastercap / fastercap_model_generator.py dot_product   2 0 0   100%
klayout_pex / fastercap / fastercap_model_generator.py Triangle.reversed   1 0 0   100%
klayout_pex / fastercap / fastercap_model_generator.py Triangle.outside_reference_point   6 0 0   100%
klayout_pex / fastercap / fastercap_model_generator.py Triangle.to_fastcap   1 0 0   100%
klayout_pex / fastercap / fastercap_model_generator.py Triangle.__len__   1 1 0   0%
klayout_pex / fastercap / fastercap_model_generator.py Triangle.__getitem__   5 1 0   80%
klayout_pex / fastercap / fastercap_model_generator.py Edge.vector_of_edge   1 0 0   100%
klayout_pex / fastercap / fastercap_model_generator.py Edge.reversed   1 0 0   100%
klayout_pex / fastercap / fastercap_model_generator.py FasterCapModelGenerator.__init__   16 0 0   100%
klayout_pex / fastercap / fastercap_model_generator.py FasterCapModelGenerator.reset   2 0 0   100%
klayout_pex / fastercap / fastercap_model_generator.py FasterCapModelGenerator.add_in   4 0 0   100%
klayout_pex / fastercap / fastercap_model_generator.py FasterCapModelGenerator.add_out   4 0 0   100%
klayout_pex / fastercap / fastercap_model_generator.py FasterCapModelGenerator.finish_z   103 6 0   94%
klayout_pex / fastercap / fastercap_model_generator.py FasterCapModelGenerator.next_z   45 0 0   100%
klayout_pex / fastercap / fastercap_model_generator.py FasterCapModelGenerator.generate_hdiel   10 0 0   100%
klayout_pex / fastercap / fastercap_model_generator.py FasterCapModelGenerator.generate_v_surface   10 0 0   100%
klayout_pex / fastercap / fastercap_model_generator.py FasterCapModelGenerator.generate_vdiel   6 1 0   83%
klayout_pex / fastercap / fastercap_model_generator.py FasterCapModelGenerator.generate_hcond_in   10 0 0   100%
klayout_pex / fastercap / fastercap_model_generator.py FasterCapModelGenerator.generate_hcond_out   11 0 0   100%
klayout_pex / fastercap / fastercap_model_generator.py FasterCapModelGenerator.generate_vcond   6 1 0   83%
klayout_pex / fastercap / fastercap_model_generator.py FasterCapModelGenerator.triangulate   6 0 0   100%
klayout_pex / fastercap / fastercap_model_generator.py FasterCapModelGenerator.triangulate.convert_point   3 0 0   100%
klayout_pex / fastercap / fastercap_model_generator.py FasterCapModelGenerator.finalize   24 1 0   96%
klayout_pex / fastercap / fastercap_model_generator.py FasterCapModelGenerator.write_fastcap   49 10 0   80%
klayout_pex / fastercap / fastercap_model_generator.py FasterCapModelGenerator._write_fastercap_geo   11 0 0   100%
klayout_pex / fastercap / fastercap_model_generator.py FasterCapModelGenerator.check   13 1 0   92%
klayout_pex / fastercap / fastercap_model_generator.py FasterCapModelGenerator._check_tris   14 4 0   71%
klayout_pex / fastercap / fastercap_model_generator.py FasterCapModelGenerator._normed_edges   8 0 0   100%
klayout_pex / fastercap / fastercap_model_generator.py FasterCapModelGenerator._normed_edges.normed_dbu   1 0 0   100%
klayout_pex / fastercap / fastercap_model_generator.py FasterCapModelGenerator._point2s   1 1 0   0%
klayout_pex / fastercap / fastercap_model_generator.py FasterCapModelGenerator._edge2s   1 1 0   0%
klayout_pex / fastercap / fastercap_model_generator.py FasterCapModelGenerator._is_antiparallel   5 0 0   100%
klayout_pex / fastercap / fastercap_model_generator.py FasterCapModelGenerator._split_edges   33 0 0   100%
klayout_pex / fastercap / fastercap_model_generator.py FasterCapModelGenerator.dump_stl   8 0 0   100%
klayout_pex / fastercap / fastercap_model_generator.py FasterCapModelGenerator._write_as_stl   14 1 0   93%
klayout_pex / fastercap / fastercap_model_generator.py FasterCapModelGenerator._merge_events   24 0 0   100%
klayout_pex / fastercap / fastercap_model_generator.py FasterCapModelGenerator._collect_diel_tris   10 0 0   100%
klayout_pex / fastercap / fastercap_model_generator.py FasterCapModelGenerator._collect_cond_tris   5 0 0   100%
klayout_pex / fastercap / fastercap_model_generator.py (no function)   120 0 0   100%
klayout_pex / fastercap / fastercap_runner.py run_fastercap   28 3 0   89%
klayout_pex / fastercap / fastercap_runner.py fastercap_parse_capacitance_matrix   21 2 0   90%
klayout_pex / fastercap / fastercap_runner.py (no function)   8 0 0   100%
klayout_pex / klayout / __init__.py (no function)   1 0 0   100%
klayout_pex / klayout / lvs_runner.py LVSRunner.run_klayout_lvs   19 0 0   100%
klayout_pex / klayout / lvs_runner.py (no function)   8 0 0   100%
klayout_pex / klayout / lvsdb_extractor.py KLayoutExtractionContext.prepare_extraction   11 0 0   100%
klayout_pex / klayout / lvsdb_extractor.py KLayoutExtractionContext.build_LVS_layer_map   25 2 0   92%
klayout_pex / klayout / lvsdb_extractor.py KLayoutExtractionContext.nonempty_extracted_layers   31 2 0   94%
klayout_pex / klayout / lvsdb_extractor.py KLayoutExtractionContext.top_cell_bbox   5 1 0   80%
klayout_pex / klayout / lvsdb_extractor.py KLayoutExtractionContext.shapes_of_net   14 1 0   93%
klayout_pex / klayout / lvsdb_extractor.py KLayoutExtractionContext.shapes_of_net.add_shapes_from_region   7 0 0   100%
klayout_pex / klayout / lvsdb_extractor.py KLayoutExtractionContext.shapes_of_layer   18 1 0   94%
klayout_pex / klayout / lvsdb_extractor.py KLayoutExtractionContext.pins_of_layer   8 1 0   88%
klayout_pex / klayout / lvsdb_extractor.py KLayoutExtractionContext.labels_of_layer   9 0 0   100%
klayout_pex / klayout / lvsdb_extractor.py KLayoutExtractionContext.top_circuit   1 0 0   100%
klayout_pex / klayout / lvsdb_extractor.py KLayoutExtractionContext.devices_by_name   46 10 0   78%
klayout_pex / klayout / lvsdb_extractor.py KLayoutExtractionContext.pins_pb2_by_layer   31 1 0   97%
klayout_pex / klayout / lvsdb_extractor.py (no function)   58 0 0   100%
klayout_pex / klayout / netlist_csv.py NetlistCSVWriter.write_csv   17 2 0   88%
klayout_pex / klayout / netlist_csv.py (no function)   6 0 0   100%
klayout_pex / klayout / netlist_expander.py NetlistExpander.expand   53 1 0   98%
klayout_pex / klayout / netlist_expander.py NetlistExpander.expand.add_parasitic_cap   8 1 0   88%
klayout_pex / klayout / netlist_expander.py (no function)   10 0 0   100%
klayout_pex / klayout / netlist_printer.py NetlistPrinter.__init__   6 0 0   100%
klayout_pex / klayout / netlist_printer.py NetlistPrinter.write   1 0 0   100%
klayout_pex / klayout / netlist_printer.py NetlistPrinter.write_header   9 0 0   100%
klayout_pex / klayout / netlist_printer.py NetlistPrinter.write_device   9 0 0   100%
klayout_pex / klayout / netlist_printer.py (no function)   13 0 0   100%
klayout_pex / klayout / netlist_reducer.py NetlistReducer.reduce   16 3 0   81%
klayout_pex / klayout / netlist_reducer.py (no function)   6 0 0   100%
klayout_pex / klayout / repair_rdb.py parse_category_path   29 29 0   0%
klayout_pex / klayout / repair_rdb.py repair_rdb_xml   20 20 0   0%
klayout_pex / klayout / repair_rdb.py repair_rdb   13 13 0   0%
klayout_pex / klayout / repair_rdb.py (no function)   17 4 0   76%
klayout_pex / klayout / rex_core.py klayout_r_extractor_tech   23 2 0   91%
klayout_pex / klayout / rex_core.py (no function)   3 0 0   100%
klayout_pex / klayout / shapes_pb2_converter.py ShapesConverter.__init__   1 0 0   100%
klayout_pex / klayout / shapes_pb2_converter.py ShapesConverter.klayout_point   1 0 0   100%
klayout_pex / klayout / shapes_pb2_converter.py ShapesConverter.klayout_point_to_pb   2 0 0   100%
klayout_pex / klayout / shapes_pb2_converter.py ShapesConverter.klayout_box   4 0 0   100%
klayout_pex / klayout / shapes_pb2_converter.py ShapesConverter.klayout_box_to_pb   10 0 0   100%
klayout_pex / klayout / shapes_pb2_converter.py ShapesConverter.klayout_polygon   5 1 0   80%
klayout_pex / klayout / shapes_pb2_converter.py ShapesConverter.klayout_polygon_to_pb   6 0 0   100%
klayout_pex / klayout / shapes_pb2_converter.py ShapesConverter.klayout_shape   7 3 0   57%
klayout_pex / klayout / shapes_pb2_converter.py ShapesConverter.klayout_shape_to_pb   5 5 0   0%
klayout_pex / klayout / shapes_pb2_converter.py ShapesConverter.klayout_region   10 4 0   60%
klayout_pex / klayout / shapes_pb2_converter.py ShapesConverter.klayout_region_to_pb   2 0 0   100%
klayout_pex / klayout / shapes_pb2_converter.py (no function)   14 0 0   100%
klayout_pex / kpex_cli.py PDK.config   10 2 0   80%
klayout_pex / kpex_cli.py KpexCLI.parse_args   64 2 0   97%
klayout_pex / kpex_cli.py KpexCLI.validate_args   119 70 0   41%
klayout_pex / kpex_cli.py KpexCLI.validate_args.input_file_stem   1 0 0   100%
klayout_pex / kpex_cli.py KpexCLI.create_netlist_printer   2 0 0   100%
klayout_pex / kpex_cli.py KpexCLI.build_fastercap_input   15 2 0   87%
klayout_pex / kpex_cli.py KpexCLI.run_fastercap_extraction   35 2 0   94%
klayout_pex / kpex_cli.py KpexCLI.run_magic_extraction   29 29 0   0%
klayout_pex / kpex_cli.py KpexCLI.run_fastcap_extraction   23 23 0   0%
klayout_pex / kpex_cli.py KpexCLI.run_kpex_2_5d_engine   36 6 0   83%
klayout_pex / kpex_cli.py KpexCLI.setup_logging   17 5 0   71%
klayout_pex / kpex_cli.py KpexCLI.setup_logging.register_log_file_handler   6 0 0   100%
klayout_pex / kpex_cli.py KpexCLI.setup_logging.reregister_log_file_handler   13 0 0   100%
klayout_pex / kpex_cli.py KpexCLI.modification_date   2 0 0   100%
klayout_pex / kpex_cli.py KpexCLI.create_lvsdb   29 4 0   86%
klayout_pex / kpex_cli.py KpexCLI.main   49 6 0   88%
klayout_pex / kpex_cli.py KpexCLI.main.dump_layers   9 0 0   100%
klayout_pex / kpex_cli.py KpexCLI.rcx25_extraction_results   3 1 0   67%
klayout_pex / kpex_cli.py KpexCLI.rcx25_extracted_csv_path   3 1 0   67%
klayout_pex / kpex_cli.py KpexCLI.fastercap_extracted_csv_path   3 1 0   67%
klayout_pex / kpex_cli.py (no function)   80 2 0   98%
klayout_pex / log / __init__.py (no function)   1 0 0   100%
klayout_pex / log / logger.py LogLevel.level_by_name   1 1 0   0%
klayout_pex / log / logger.py LogLevelFormatter.format   6 0 0   100%
klayout_pex / log / logger.py LogLevelFilter.__init__   3 0 0   100%
klayout_pex / log / logger.py LogLevelFilter.filter   3 0 0   100%
klayout_pex / log / logger.py set_log_level   1 0 0   100%
klayout_pex / log / logger.py get_log_level   1 0 0   100%
klayout_pex / log / logger.py register_additional_handler   1 0 0   100%
klayout_pex / log / logger.py deregister_additional_handler   1 0 0   100%
klayout_pex / log / logger.py configure_logger   11 0 0   100%
klayout_pex / log / logger.py debug   3 0 0   100%
klayout_pex / log / logger.py subproc   3 0 0   100%
klayout_pex / log / logger.py rule   0 0 9   100%
klayout_pex / log / logger.py info   3 0 0   100%
klayout_pex / log / logger.py warning   3 0 0   100%
klayout_pex / log / logger.py error   3 3 0   0%
klayout_pex / log / logger.py (no function)   38 0 1   100%
klayout_pex / magic / __init__.py (no function)   0 0 0   100%
klayout_pex / magic / magic_ext_data_structures.py ResExtData.rnodes_by_name   1 1 0   0%
klayout_pex / magic / magic_ext_data_structures.py (no function)   78 0 0   100%
klayout_pex / magic / magic_ext_file_parser.py parse_magic_pex_run   22 22 0   0%
klayout_pex / magic / magic_ext_file_parser.py parse_magic_ext_file   17 17 0   0%
klayout_pex / magic / magic_ext_file_parser.py parse_magic_res_ext_file   11 11 0   0%
klayout_pex / magic / magic_ext_file_parser.py (no function)   7 0 0   100%
klayout_pex / magic / magic_log_analyzer.py MagicLogAnalyzer.__init__   4 4 0   0%
klayout_pex / magic / magic_log_analyzer.py MagicLogAnalyzer.analyze   2 2 0   0%
klayout_pex / magic / magic_log_analyzer.py MagicLogAnalyzer.analyze_cell   36 36 0   0%
klayout_pex / magic / magic_log_analyzer.py MagicLogAnalyzer.analyze_cell.box_for_point_dbu   1 1 0   0%
klayout_pex / magic / magic_log_analyzer.py _parse_args   11 11 0   0%
klayout_pex / magic / magic_log_analyzer.py main   6 6 0   0%
klayout_pex / magic / magic_log_analyzer.py (no function)   22 1 0   95%
klayout_pex / magic / magic_runner.py prepare_magic_script   15 15 0   0%
klayout_pex / magic / magic_runner.py run_magic   19 19 0   0%
klayout_pex / magic / magic_runner.py (no function)   24 0 0   100%
klayout_pex / netlistsvg / netlist_json.py NetlistJSONWriter.__init__   2 0 0   100%
klayout_pex / netlistsvg / netlist_json.py NetlistJSONWriter._get_or_create_id   7 0 0   100%
klayout_pex / netlistsvg / netlist_json.py NetlistJSONWriter.dict_for_ports   7 0 0   100%
klayout_pex / netlistsvg / netlist_json.py NetlistJSONWriter.dict_for_cells   44 1 0   98%
klayout_pex / netlistsvg / netlist_json.py NetlistJSONWriter.netlist_json_dict   2 0 0   100%
klayout_pex / netlistsvg / netlist_json.py NetlistJSONWriter.write_json   3 0 0   100%
klayout_pex / netlistsvg / netlist_json.py (no function)   12 0 0   100%
klayout_pex / pdk_config.py (no function)   6 0 0   100%
klayout_pex / rcx25 / __init__.py (no function)   0 0 0   100%
klayout_pex / rcx25 / c / __init__.py (no function)   0 0 0   100%
klayout_pex / rcx25 / c / geometry_restorer.py GeometryRestorer.__init__   1 0 0   100%
klayout_pex / rcx25 / c / geometry_restorer.py GeometryRestorer.restore_edge_interval   1 0 0   100%
klayout_pex / rcx25 / c / geometry_restorer.py GeometryRestorer.restore_edge   1 0 0   100%
klayout_pex / rcx25 / c / geometry_restorer.py GeometryRestorer.restore_polygon   1 0 0   100%
klayout_pex / rcx25 / c / geometry_restorer.py GeometryRestorer.restore_region   1 1 0   0%
klayout_pex / rcx25 / c / geometry_restorer.py (no function)   8 0 0   100%
klayout_pex / rcx25 / c / overlap_extractor.py OverlapExtractor.__init__   6 0 0   100%
klayout_pex / rcx25 / c / overlap_extractor.py OverlapExtractor.extract   5 0 0   100%
klayout_pex / rcx25 / c / overlap_extractor.py OverlapExtractor.PEXPolygonNeighborhoodVisitor.__init__   7 0 0   100%
klayout_pex / rcx25 / c / overlap_extractor.py OverlapExtractor.PEXPolygonNeighborhoodVisitor.neighbors   31 5 0   84%
klayout_pex / rcx25 / c / overlap_extractor.py (no function)   12 0 0   100%
klayout_pex / rcx25 / c / polygon_utils.py nearest_edge_distance   7 2 0   71%
klayout_pex / rcx25 / c / polygon_utils.py find_polygon_with_nearest_edge   6 0 0   100%
klayout_pex / rcx25 / c / polygon_utils.py nearest_edge   2 0 0   100%
klayout_pex / rcx25 / c / polygon_utils.py (no function)   9 0 0   100%
klayout_pex / rcx25 / c / sidewall_and_fringe_extractor.py SidewallAndFringeExtractor.__init__   8 0 0   100%
klayout_pex / rcx25 / c / sidewall_and_fringe_extractor.py SidewallAndFringeExtractor.extract   10 0 0   100%
klayout_pex / rcx25 / c / sidewall_and_fringe_extractor.py SidewallAndFringeExtractor.PEXEdgeNeighborhoodVisitor.__init__   10 0 0   100%
klayout_pex / rcx25 / c / sidewall_and_fringe_extractor.py SidewallAndFringeExtractor.PEXEdgeNeighborhoodVisitor.inside_layer_name   1 0 0   100%
klayout_pex / rcx25 / c / sidewall_and_fringe_extractor.py SidewallAndFringeExtractor.PEXEdgeNeighborhoodVisitor.begin_polygon   1 0 0   100%
klayout_pex / rcx25 / c / sidewall_and_fringe_extractor.py SidewallAndFringeExtractor.PEXEdgeNeighborhoodVisitor.end_polygon   1 0 0   100%
klayout_pex / rcx25 / c / sidewall_and_fringe_extractor.py SidewallAndFringeExtractor.PEXEdgeNeighborhoodVisitor.side_halo   1 0 0   100%
klayout_pex / rcx25 / c / sidewall_and_fringe_extractor.py SidewallAndFringeExtractor.PEXEdgeNeighborhoodVisitor.on_edge   47 4 0   91%
klayout_pex / rcx25 / c / sidewall_and_fringe_extractor.py SidewallAndFringeExtractor.PEXEdgeNeighborhoodVisitor.emit_sidewall   15 0 0   100%
klayout_pex / rcx25 / c / sidewall_and_fringe_extractor.py SidewallAndFringeExtractor.PEXEdgeNeighborhoodVisitor.fringe_cap   15 4 0   73%
klayout_pex / rcx25 / c / sidewall_and_fringe_extractor.py SidewallAndFringeExtractor.PEXEdgeNeighborhoodVisitor.emit_fringe   51 7 0   86%
klayout_pex / rcx25 / c / sidewall_and_fringe_extractor.py (no function)   26 0 0   100%
klayout_pex / rcx25 / extraction_reporter.py ExtractionReporter.__init__   6 0 0   100%
klayout_pex / rcx25 / extraction_reporter.py ExtractionReporter.cat_common   1 1 0   0%
klayout_pex / rcx25 / extraction_reporter.py ExtractionReporter.cat_pins   1 1 0   0%
klayout_pex / rcx25 / extraction_reporter.py ExtractionReporter.cat_rex_request   1 0 0   100%
klayout_pex / rcx25 / extraction_reporter.py ExtractionReporter.cat_rex_tech   1 0 0   100%
klayout_pex / rcx25 / extraction_reporter.py ExtractionReporter.cat_rex_request_devices   1 0 0   100%
klayout_pex / rcx25 / extraction_reporter.py ExtractionReporter.cat_rex_request_pins   1 0 0   100%
klayout_pex / rcx25 / extraction_reporter.py ExtractionReporter.cat_rex_request_network_extraction   1 0 0   100%
klayout_pex / rcx25 / extraction_reporter.py ExtractionReporter.cat_rex_result   1 0 0   100%
klayout_pex / rcx25 / extraction_reporter.py ExtractionReporter.cat_rex_result_networks   1 0 0   100%
klayout_pex / rcx25 / extraction_reporter.py ExtractionReporter.cat_rex_nodes   1 1 0   0%
klayout_pex / rcx25 / extraction_reporter.py ExtractionReporter.cat_rex_elements   1 1 0   0%
klayout_pex / rcx25 / extraction_reporter.py ExtractionReporter.cat_devices   1 1 0   0%
klayout_pex / rcx25 / extraction_reporter.py ExtractionReporter.cat_vias   1 1 0   0%
klayout_pex / rcx25 / extraction_reporter.py ExtractionReporter.cat_overlap   1 0 0   100%
klayout_pex / rcx25 / extraction_reporter.py ExtractionReporter.cat_sidewall   1 0 0   100%
klayout_pex / rcx25 / extraction_reporter.py ExtractionReporter.cat_fringe   1 0 0   100%
klayout_pex / rcx25 / extraction_reporter.py ExtractionReporter.cat_edge_neighborhood   1 1 0   0%
klayout_pex / rcx25 / extraction_reporter.py ExtractionReporter.save   1 0 0   100%
klayout_pex / rcx25 / extraction_reporter.py ExtractionReporter.output_shapes   3 0 0   100%
klayout_pex / rcx25 / extraction_reporter.py ExtractionReporter.output_overlap   8 0 0   100%
klayout_pex / rcx25 / extraction_reporter.py ExtractionReporter.output_sidewall   5 0 0   100%
klayout_pex / rcx25 / extraction_reporter.py ExtractionReporter.output_sideoverlap   12 0 0   100%
klayout_pex / rcx25 / extraction_reporter.py ExtractionReporter.output_edge_neighborhood   10 10 0   0%
klayout_pex / rcx25 / extraction_reporter.py ExtractionReporter.output_devices   2 0 0   100%
klayout_pex / rcx25 / extraction_reporter.py ExtractionReporter.output_device_terminals   4 0 0   100%
klayout_pex / rcx25 / extraction_reporter.py ExtractionReporter.output_device   6 0 0   100%
klayout_pex / rcx25 / extraction_reporter.py ExtractionReporter.output_pins   2 0 0   100%
klayout_pex / rcx25 / extraction_reporter.py ExtractionReporter.output_pb_pin   3 0 0   100%
klayout_pex / rcx25 / extraction_reporter.py ExtractionReporter.output_via   3 3 0   0%
klayout_pex / rcx25 / extraction_reporter.py ExtractionReporter.output_pin   4 4 0   0%
klayout_pex / rcx25 / extraction_reporter.py ExtractionReporter.output_rex_tech   10 0 0   100%
klayout_pex / rcx25 / extraction_reporter.py ExtractionReporter.output_net_extraction_request   8 0 0   100%
klayout_pex / rcx25 / extraction_reporter.py ExtractionReporter.output_rex_request   5 0 0   100%
klayout_pex / rcx25 / extraction_reporter.py ExtractionReporter.output_rex_result_network   9 0 0   100%
klayout_pex / rcx25 / extraction_reporter.py ExtractionReporter.output_rex_result   2 0 0   100%
klayout_pex / rcx25 / extraction_reporter.py ExtractionReporter.marker_box_for_pb_point   9 0 0   100%
klayout_pex / rcx25 / extraction_reporter.py ExtractionReporter.marker_box_for_node_location   8 2 0   75%
klayout_pex / rcx25 / extraction_reporter.py ExtractionReporter.marker_arrow_between_nodes   4 0 0   100%
klayout_pex / rcx25 / extraction_reporter.py ExtractionReporter.output_node   17 3 0   82%
klayout_pex / rcx25 / extraction_reporter.py ExtractionReporter.output_element   8 0 0   100%
klayout_pex / rcx25 / extraction_reporter.py (no function)   75 0 0   100%
klayout_pex / rcx25 / extraction_results.py SideOverlapKey.__repr__   1 1 0   0%
klayout_pex / rcx25 / extraction_results.py SideOverlapKey.__post_init__   8 4 0   50%
klayout_pex / rcx25 / extraction_results.py SideOverlapCap.__str__   1 1 0   0%
klayout_pex / rcx25 / extraction_results.py NetCoupleKey.__repr__   1 1 0   0%
klayout_pex / rcx25 / extraction_results.py NetCoupleKey.__lt__   3 1 0   67%
klayout_pex / rcx25 / extraction_results.py NetCoupleKey.__post_init__   4 2 0   50%
klayout_pex / rcx25 / extraction_results.py NetCoupleKey.normed   3 0 0   100%
klayout_pex / rcx25 / extraction_results.py ExtractionSummary.merged   8 0 0   100%
klayout_pex / rcx25 / extraction_results.py CellExtractionResults.add_overlap_cap   1 0 0   100%
klayout_pex / rcx25 / extraction_results.py CellExtractionResults.add_sidewall_cap   1 0 0   100%
klayout_pex / rcx25 / extraction_results.py CellExtractionResults.add_sideoverlap_cap   1 0 0   100%
klayout_pex / rcx25 / extraction_results.py CellExtractionResults.summarize   27 0 0   100%
klayout_pex / rcx25 / extraction_results.py CellExtractionResults.summarize.node_name   3 0 0   100%
klayout_pex / rcx25 / extraction_results.py ExtractionResults.summarize   2 0 0   100%
klayout_pex / rcx25 / extraction_results.py (no function)   83 0 0   100%
klayout_pex / rcx25 / extractor.py RCX25Extractor.__init__   9 1 0   89%
klayout_pex / rcx25 / extractor.py RCX25Extractor.gds_pair   1 0 0   100%
klayout_pex / rcx25 / extractor.py RCX25Extractor.shapes_of_layer   7 1 0   86%
klayout_pex / rcx25 / extractor.py RCX25Extractor.extract   14 5 0   64%
klayout_pex / rcx25 / extractor.py RCX25Extractor.extract_cell   50 0 0   100%
klayout_pex / rcx25 / extractor.py (no function)   22 0 0   100%
klayout_pex / rcx25 / netlist_expander.py RCX25NetlistExpander.expand   56 4 0   93%
klayout_pex / rcx25 / netlist_expander.py RCX25NetlistExpander.expand.add_net_if_needed   3 0 0   100%
klayout_pex / rcx25 / netlist_expander.py (no function)   9 0 0   100%
klayout_pex / rcx25 / pex_mode.py PEXMode.need_capacitance   7 2 0   71%
klayout_pex / rcx25 / pex_mode.py PEXMode.need_resistance   7 2 0   71%
klayout_pex / rcx25 / pex_mode.py (no function)   8 0 0   100%
klayout_pex / rcx25 / r / __init__.py (no function)   0 0 0   100%
klayout_pex / rcx25 / r / r_extractor.py RExtractor.__init__   8 0 0   100%
klayout_pex / rcx25 / r / r_extractor.py RExtractor.prepare_r_extractor_tech_pb   87 14 0   84%
klayout_pex / rcx25 / r / r_extractor.py RExtractor.prepare_request   39 4 0   90%
klayout_pex / rcx25 / r / r_extractor.py RExtractor.prepare_request.get_or_create_net_request   6 0 0   100%
klayout_pex / rcx25 / r / r_extractor.py RExtractor.extract   94 5 0   95%
klayout_pex / rcx25 / r / r_extractor.py (no function)   21 0 0   100%
klayout_pex / rcx25 / types.py (no function)   12 0 0   100%
klayout_pex / tech_info.py TechInfo.parse_tech_def   4 0 0   100%
klayout_pex / tech_info.py TechInfo.from_json   2 0 0   100%
klayout_pex / tech_info.py TechInfo.__init__   2 0 0   100%
klayout_pex / tech_info.py TechInfo.gds_pair_for_computed_layer_name   1 0 0   100%
klayout_pex / tech_info.py TechInfo.computed_layer_info_by_name   1 0 0   100%
klayout_pex / tech_info.py TechInfo.computed_layer_info_by_gds_pair   1 0 0   100%
klayout_pex / tech_info.py TechInfo.canonical_layer_name_by_gds_pair   1 0 0   100%
klayout_pex / tech_info.py TechInfo.layer_info_by_name   1 1 0   0%
klayout_pex / tech_info.py TechInfo.pin_layer_mapping_for_drw_gds_pair   1 1 0   0%
klayout_pex / tech_info.py TechInfo.gds_pair_for_layer_name   1 0 0   100%
klayout_pex / tech_info.py TechInfo.layer_info_by_gds_pair   1 0 0   100%
klayout_pex / tech_info.py TechInfo.process_stack_layer_by_name   1 1 0   0%
klayout_pex / tech_info.py TechInfo.process_stack_layer_by_gds_pair   1 1 0   0%
klayout_pex / tech_info.py TechInfo.process_substrate_layer   1 0 0   100%
klayout_pex / tech_info.py TechInfo.process_diffusion_layers   1 0 0   100%
klayout_pex / tech_info.py TechInfo.gate_poly_layer   1 0 0   100%
klayout_pex / tech_info.py TechInfo.field_oxide_layer   1 0 0   100%
klayout_pex / tech_info.py TechInfo.process_metal_layers   1 0 0   100%
klayout_pex / tech_info.py TechInfo.filtered_dielectric_layers   7 1 0   86%
klayout_pex / tech_info.py TechInfo.dielectric_by_name   10 7 0   30%
klayout_pex / tech_info.py TechInfo.sidewall_dielectric_layer   16 12 0   25%
klayout_pex / tech_info.py TechInfo.simple_dielectric_above_metal   13 2 0   85%
klayout_pex / tech_info.py TechInfo.contact_above_metal_layer_name   7 7 0   0%
klayout_pex / tech_info.py TechInfo.contact_by_device_lvs_layer_name   9 9 0   0%
klayout_pex / tech_info.py TechInfo.contact_by_contact_lvs_layer_name   11 0 0   100%
klayout_pex / tech_info.py TechInfo.gds_pair   7 2 0   71%
klayout_pex / tech_info.py TechInfo.bottom_and_top_layer_name_by_via_computed_layer_name   8 0 0   100%
klayout_pex / tech_info.py TechInfo.layer_resistance_by_layer_name   1 0 0   100%
klayout_pex / tech_info.py TechInfo.contact_resistance_by_device_layer_name   1 0 0   100%
klayout_pex / tech_info.py TechInfo.via_resistance_by_layer_name   1 0 0   100%
klayout_pex / tech_info.py TechInfo.milliohm_to_ohm   1 0 0   100%
klayout_pex / tech_info.py TechInfo.milliohm_by_cnt_to_ohm_by_square_for_contact   2 0 0   100%
klayout_pex / tech_info.py TechInfo.milliohm_by_cnt_to_ohm_by_square_for_via   2 0 0   100%
klayout_pex / tech_info.py TechInfo.substrate_cap_by_layer_name   1 0 0   100%
klayout_pex / tech_info.py TechInfo.overlap_cap_by_layer_names   9 0 0   100%
klayout_pex / tech_info.py TechInfo.overlap_cap_by_layer_names.convert_substrate_to_overlap_cap   5 0 0   100%
klayout_pex / tech_info.py TechInfo.sidewall_cap_by_layer_name   1 0 0   100%
klayout_pex / tech_info.py TechInfo.internal_substrate_layer_name   1 0 0   100%
klayout_pex / tech_info.py TechInfo.side_overlap_cap_by_layer_names   7 0 0   100%
klayout_pex / tech_info.py TechInfo.side_overlap_cap_by_layer_names.convert_substrate_to_side_overlap_cap   5 0 0   100%
klayout_pex / tech_info.py (no function)   85 0 0   100%
klayout_pex / util / __init__.py (no function)   0 0 0   100%
klayout_pex / util / argparse_helpers.py render_enum_help   14 0 0   100%
klayout_pex / util / argparse_helpers.py render_enum_help.canonic_string   5 1 0   80%
klayout_pex / util / argparse_helpers.py true_or_false   9 3 0   67%
klayout_pex / util / argparse_helpers.py (no function)   5 0 0   100%
klayout_pex / util / multiple_choice.py MultipleChoicePattern.__init__   13 3 0   77%
klayout_pex / util / multiple_choice.py MultipleChoicePattern.filter   3 3 0   0%
klayout_pex / util / multiple_choice.py MultipleChoicePattern.is_included   5 3 0   40%
klayout_pex / util / multiple_choice.py (no function)   6 0 0   100%
klayout_pex / util / unit_formatter.py format_spice_number   30 7 0   77%
klayout_pex / util / unit_formatter.py (no function)   4 0 0   100%
klayout_pex / version.py (no function)   1 0 0   100%
klayout_pex_protobuf / __init__.py (no function)   5 0 0   100%
klayout_pex_protobuf / kpex / c / capacitance_pb2.py (no function)   28 13 0   54%
klayout_pex_protobuf / kpex / geometry / shapes_pb2.py (no function)   25 13 0   48%
klayout_pex_protobuf / kpex / klayout / r_extractor_tech_pb2.py (no function)   22 9 0   59%
klayout_pex_protobuf / kpex / layout / device_pb2.py (no function)   21 7 0   67%
klayout_pex_protobuf / kpex / layout / layer_ref_pb2.py (no function)   15 3 0   80%
klayout_pex_protobuf / kpex / layout / layer_region_pb2.py (no function)   17 3 0   82%
klayout_pex_protobuf / kpex / layout / location_pb2.py (no function)   18 5 0   72%
klayout_pex_protobuf / kpex / layout / pin_pb2.py (no function)   17 3 0   82%
klayout_pex_protobuf / kpex / r / r_network_pb2.py (no function)   30 15 0   50%
klayout_pex_protobuf / kpex / request / pex_request_pb2.py (no function)   23 7 0   70%
klayout_pex_protobuf / kpex / result / pex_result_pb2.py (no function)   23 9 0   61%
klayout_pex_protobuf / kpex / tech / process_parasitics_pb2.py (no function)   35 23 0   34%
klayout_pex_protobuf / kpex / tech / process_stack_pb2.py (no function)   37 25 0   32%
klayout_pex_protobuf / kpex / tech / tech_pb2.py (no function)   27 13 0   52%
tests / __init__.py (no function)   0 0 0   100%
tests / common / __init__.py (no function)   0 0 0   100%
tests / common / capacitance_matrix_test.py Test.klayout_testdata_dir   1 0 0   100%
tests / common / capacitance_matrix_test.py Test.test_parse_csv   7 0 0   100%
tests / common / capacitance_matrix_test.py Test.test_write_csv   6 0 0   100%
tests / common / capacitance_matrix_test.py Test.test_averaged_off_diagonals   7 0 0   100%
tests / common / capacitance_matrix_test.py (no function)   15 0 0   100%
tests / env_test.py Test.test_env_has_defaults   7 1 0   86%
tests / env_test.py Test.test_env_with_custom_variables   7 0 0   100%
tests / env_test.py Test.test_env_with_custom_variables.value_for_var   1 0 0   100%
tests / env_test.py (no function)   11 0 0   100%
tests / fastcap / fastcap_runner_test.py Test.fastcap_testdata_dir   1 0 0   100%
tests / fastcap / fastcap_runner_test.py Test.test_fastcap_parse_capacitance_matrix   11 0 0   100%
tests / fastcap / fastcap_runner_test.py (no function)   10 0 0   100%
tests / fastercap / __init__.py (no function)   0 0 0   100%
tests / fastercap / fastercap_model_generator_test.py test_fastercap_model_generator   53 0 0   100%
tests / fastercap / fastercap_model_generator_test.py (no function)   7 0 0   100%
tests / fastercap / fastercap_runner_test.py Test.fastercap_testdata_dir   1 0 0   100%
tests / fastercap / fastercap_runner_test.py Test.test_fastercap_parse_capacitance_matrix   10 0 0   100%
tests / fastercap / fastercap_runner_test.py (no function)   10 0 0   100%
tests / fastercap / fastercap_test.py _kpex_pdk_dir   1 0 0   100%
tests / fastercap / fastercap_test.py _sky130a_testdata_dir   1 0 0   100%
tests / fastercap / fastercap_test.py _gds   1 0 0   100%
tests / fastercap / fastercap_test.py _save_layout_preview   12 0 0   100%
tests / fastercap / fastercap_test.py _extract_single_cell   8 0 0   100%
tests / fastercap / fastercap_test.py assert_expected_matches_obtained   12 0 0   100%
tests / fastercap / fastercap_test.py test_single_plate_100um_x_100um_li1_over_substrate   1 0 0   100%
tests / fastercap / fastercap_test.py (no function)   27 0 0   100%
tests / klayout / lvs_runner_test.py Test.testdata_dir   1 1 0   0%
tests / klayout / lvs_runner_test.py Test.test_run_klayout_lvs   10 10 0   0%
tests / klayout / lvs_runner_test.py (no function)   13 0 0   100%
tests / klayout / netlist_expander_test.py Test.klayout_testdata_dir   1 0 0   100%
tests / klayout / netlist_expander_test.py Test.tech_info_json_path   1 0 0   100%
tests / klayout / netlist_expander_test.py Test.test_netlist_expansion   16 0 0   100%
tests / klayout / netlist_expander_test.py (no function)   19 0 0   100%
tests / klayout / netlist_reducer_test.py Test.setUpClass   1 0 0   100%
tests / klayout / netlist_reducer_test.py Test.klayout_testdata_dir   1 0 0   100%
tests / klayout / netlist_reducer_test.py Test._test_netlist_reduction   10 0 0   100%
tests / klayout / netlist_reducer_test.py Test.test_netlist_reduction_1   2 0 0   100%
tests / klayout / netlist_reducer_test.py Test.test_netlist_reduction_2   2 0 0   100%
tests / klayout / netlist_reducer_test.py (no function)   17 0 0   100%
tests / klayout / shapes_pb2_converter_test.py ShapesConverterTest.setUpClass   1 0 0   100%
tests / klayout / shapes_pb2_converter_test.py ShapesConverterTest.setUp   1 0 0   100%
tests / klayout / shapes_pb2_converter_test.py ShapesConverterTest.test_klayout_point   7 0 0   100%
tests / klayout / shapes_pb2_converter_test.py ShapesConverterTest.test_klayout_point_to_pb   6 0 0   100%
tests / klayout / shapes_pb2_converter_test.py ShapesConverterTest.test_klayout_box   12 0 0   100%
tests / klayout / shapes_pb2_converter_test.py ShapesConverterTest.test_klayout_box_to_pb   9 0 0   100%
tests / klayout / shapes_pb2_converter_test.py ShapesConverterTest.test_klayout_box_to_pb__with_properties   5 0 0   100%
tests / klayout / shapes_pb2_converter_test.py ShapesConverterTest.test_klayout_polygon   25 0 0   100%
tests / klayout / shapes_pb2_converter_test.py ShapesConverterTest.test_klayout_polygon_to_pb   12 0 0   100%
tests / klayout / shapes_pb2_converter_test.py ShapesConverterTest.test_klayout_region   28 0 0   100%
tests / klayout / shapes_pb2_converter_test.py (no function)   20 0 0   100%
tests / netlistsvg / netlist_json_test.py Test.setUpClass   1 0 0   100%
tests / netlistsvg / netlist_json_test.py Test.netlistsvg_testdata_dir   1 0 0   100%
tests / netlistsvg / netlist_json_test.py Test._test_netlistsvg   11 0 0   100%
tests / netlistsvg / netlist_json_test.py Test.test_netlist_reduction_1   3 0 0   100%
tests / netlistsvg / netlist_json_test.py Test.test_netlist_reduction_2   3 0 0   100%
tests / netlistsvg / netlist_json_test.py (no function)   19 0 0   100%
tests / rcx25 / extraction_results_test.py NetCoupleKeyTest.test_normed_ascending   4 0 0   100%
tests / rcx25 / extraction_results_test.py NetCoupleKeyTest.test_normed_descending   4 0 0   100%
tests / rcx25 / extraction_results_test.py CellExtractionResultsTest.test_summarize_overlap   14 0 0   100%
tests / rcx25 / extraction_results_test.py CellExtractionResultsTest.test_summarize_sidewall   17 0 0   100%
tests / rcx25 / extraction_results_test.py CellExtractionResultsTest.test_summarize_sideoverlap   17 0 0   100%
tests / rcx25 / extraction_results_test.py (no function)   13 0 0   100%
tests / rcx25 / rcx25_CC_sky130A_test.py test_single_plate_100um_x_100um_li1_over_substrate   1 0 0   100%
tests / rcx25 / rcx25_CC_sky130A_test.py test_overlap_plates_100um_x_100um_li1_m1   1 0 0   100%
tests / rcx25 / rcx25_CC_sky130A_test.py test_overlap_plates_100um_x_100um_li1_m1_m2_m3   1 0 0   100%
tests / rcx25 / rcx25_CC_sky130A_test.py test_sidewall_100um_x_100um_distance_200nm_li1   1 0 0   100%
tests / rcx25 / rcx25_CC_sky130A_test.py test_sidewall_net_uturn_l1_redux   1 0 0   100%
tests / rcx25 / rcx25_CC_sky130A_test.py test_sidewall_cap_vpp_04p4x04p6_l1_redux   1 0 0   100%
tests / rcx25 / rcx25_CC_sky130A_test.py test_near_body_shield_li1_m1   1 0 0   100%
tests / rcx25 / rcx25_CC_sky130A_test.py test_lateral_fringe_shield_by_same_polygon_li1   1 0 0   100%
tests / rcx25 / rcx25_CC_sky130A_test.py test_sideoverlap_simple_plates_li1_m1   1 0 0   100%
tests / rcx25 / rcx25_CC_sky130A_test.py test_sideoverlap_shielding_simple_plates_li1_m1_m2   1 0 0   100%
tests / rcx25 / rcx25_CC_sky130A_test.py test_sideoverlap_plates_li1_m1   1 0 0   100%
tests / rcx25 / rcx25_CC_sky130A_test.py test_sideoverlap_fingered_li1_m1_patternA   1 0 0   100%
tests / rcx25 / rcx25_CC_sky130A_test.py test_sideoverlap_fingered_li1_m1   1 0 0   100%
tests / rcx25 / rcx25_CC_sky130A_test.py test_sideoverlap_complex_li1_m1   1 0 0   100%
tests / rcx25 / rcx25_CC_sky130A_test.py test_mom_cap__whiteboxed   1 0 0   100%
tests / rcx25 / rcx25_CC_sky130A_test.py test_mom_cap__blackboxed   1 0 0   100%
tests / rcx25 / rcx25_CC_sky130A_test.py (no function)   73 0 0   100%
tests / rcx25 / rcx25_R_sky130A_test.py test_single_wire_li1   1 0 0   100%
tests / rcx25 / rcx25_R_sky130A_test.py test_contact_1x1_minsize_mcon   1 0 0   100%
tests / rcx25 / rcx25_R_sky130A_test.py test_wire_voltage_divider_li1   1 0 0   100%
tests / rcx25 / rcx25_R_sky130A_test.py test_via_stack_1x1_minsize_poly_to_met5   1 0 0   100%
tests / rcx25 / rcx25_R_sky130A_test.py test_nfet_li1_redux   1 0 0   100%
tests / rcx25 / rcx25_R_sky130A_test.py (no function)   29 0 0   100%
tests / rcx25 / rcx25_test.py _kpex_pdk_dir   1 0 0   100%
tests / rcx25 / rcx25_test.py _sky130a_testdata_dir   1 0 0   100%
tests / rcx25 / rcx25_test.py _gds   1 0 0   100%
tests / rcx25 / rcx25_test.py _save_layout_preview   12 0 0   100%
tests / rcx25 / rcx25_test.py _run_rcx25d_single_cell   11 0 0   100%
tests / rcx25 / rcx25_test.py assert_expected_matches_obtained   13 0 0   100%
tests / rcx25 / rcx25_test.py test_single_plate_100um_x_100um_li1_over_substrate   1 0 0   100%
tests / rcx25 / rcx25_test.py test_overlap_plates_100um_x_100um_li1_m1   1 0 0   100%
tests / rcx25 / rcx25_test.py test_overlap_plates_100um_x_100um_li1_m1_m2_m3   1 0 0   100%
tests / rcx25 / rcx25_test.py test_sidewall_100um_x_100um_distance_200nm_li1   1 0 0   100%
tests / rcx25 / rcx25_test.py test_sidewall_net_uturn_l1_redux   1 0 0   100%
tests / rcx25 / rcx25_test.py test_sidewall_cap_vpp_04p4x04p6_l1_redux   1 0 0   100%
tests / rcx25 / rcx25_test.py test_near_body_shield_li1_m1   1 0 0   100%
tests / rcx25 / rcx25_test.py test_lateral_fringe_shield_by_same_polygon_li1   1 0 0   100%
tests / rcx25 / rcx25_test.py test_sideoverlap_simple_plates_li1_m1   1 0 0   100%
tests / rcx25 / rcx25_test.py test_sideoverlap_shielding_simple_plates_li1_m1_m2   1 0 0   100%
tests / rcx25 / rcx25_test.py test_sideoverlap_plates_li1_m1   1 0 0   100%
tests / rcx25 / rcx25_test.py test_sideoverlap_fingered_li1_m1_patternA   1 0 0   100%
tests / rcx25 / rcx25_test.py test_sideoverlap_fingered_li1_m1   1 0 0   100%
tests / rcx25 / rcx25_test.py test_sideoverlap_complex_li1_m1   1 0 0   100%
tests / rcx25 / rcx25_test.py (no function)   92 0 0   100%
tests / rcx25 / rcx25_test_helpers.py PDKTestConfig.kpex_pdk_dir   1 0 0   100%
tests / rcx25 / rcx25_test_helpers.py PDKTestConfig.test_designs_dir   1 0 0   100%
tests / rcx25 / rcx25_test_helpers.py PDKTestConfig.lyt_path   1 0 0   100%
tests / rcx25 / rcx25_test_helpers.py PDKTestConfig.load_kdb_technology   4 0 0   100%
tests / rcx25 / rcx25_test_helpers.py PDKTestConfig.gds_path   1 0 0   100%
tests / rcx25 / rcx25_test_helpers.py RCX25Extraction.save_layout_preview   9 0 0   100%
tests / rcx25 / rcx25_test_helpers.py RCX25Extraction.run_rcx25d_single_cell   11 0 0   100%
tests / rcx25 / rcx25_test_helpers.py RCX25Extraction.assert_expected_matches_obtained   13 0 0   100%
tests / rcx25 / rcx25_test_helpers.py (no function)   37 0 0   100%
tests / util / argparse_helpers_test.py Test.test_render_enum_help__nodefault__intenum   6 0 0   100%
tests / util / argparse_helpers_test.py Test.test_render_enum_help__default__intenum   7 0 0   100%
tests / util / argparse_helpers_test.py Test.test_render_enum_help__default__strenum   7 0 0   100%
tests / util / argparse_helpers_test.py Test.test_render_enum_help__default__strenum__lowercased   7 0 0   100%
tests / util / argparse_helpers_test.py (no function)   13 0 0   100%
tests / util / unit_formatter_test.py UnitFormatterTest.test_auto_prefix   8 0 0   100%
tests / util / unit_formatter_test.py UnitFormatterTest.test_boundary_cases   5 0 0   100%
tests / util / unit_formatter_test.py UnitFormatterTest.test_forced_prefix   7 0 0   100%
tests / util / unit_formatter_test.py UnitFormatterTest.test_invalid_prefix   2 0 0   100%
tests / util / unit_formatter_test.py (no function)   13 1 0   92%
Total     5471 883 10   84%

No items found using the specified filter.