Coverage report: 84%

Files Functions Classes

coverage.py v7.14.1, created at 2026-06-08 12:43 +0000

File class   statements missing excluded   coverage
klayout_pex/__init__.py (no class)   0 0 0   100%
klayout_pex/common/__init__.py (no class)   0 0 0   100%
klayout_pex/common/capacitance_matrix.py CapacitanceMatrix   33 2 0   94%
klayout_pex/common/capacitance_matrix.py (no class)   16 0 0   100%
klayout_pex/common/path_validation.py FileValidationResult   0 0 0   100%
klayout_pex/common/path_validation.py FileValidationResult.Failure   0 0 0   100%
klayout_pex/common/path_validation.py (no class)   28 16 0   43%
klayout_pex/env.py EnvVar   10 1 0   90%
klayout_pex/env.py Env   23 2 0   91%
klayout_pex/env.py (no class)   28 0 0   100%
klayout_pex/extraction_engine.py ExtractionEngine   0 0 0   100%
klayout_pex/extraction_engine.py (no class)   6 0 0   100%
klayout_pex/fastcap/__init__.py (no class)   0 0 0   100%
klayout_pex/fastcap/fastcap_runner.py (no class)   61 27 0   56%
klayout_pex/fastercap/__init__.py (no class)   0 0 0   100%
klayout_pex/fastercap/fastercap_input_builder.py FasterCapInputBuilder   153 56 0   63%
klayout_pex/fastercap/fastercap_input_builder.py (no class)   18 0 0   100%
klayout_pex/fastercap/fastercap_model_generator.py FasterCapModelBuilder   57 4 0   93%
klayout_pex/fastercap/fastercap_model_generator.py HDielKey   3 0 0   100%
klayout_pex/fastercap/fastercap_model_generator.py HCondKey   2 0 0   100%
klayout_pex/fastercap/fastercap_model_generator.py VKey   0 0 0   100%
klayout_pex/fastercap/fastercap_model_generator.py Point   3 0 0   100%
klayout_pex/fastercap/fastercap_model_generator.py Triangle   14 2 0   86%
klayout_pex/fastercap/fastercap_model_generator.py Edge   2 0 0   100%
klayout_pex/fastercap/fastercap_model_generator.py FasterCapModelGenerator   457 27 0   94%
klayout_pex/fastercap/fastercap_model_generator.py (no class)   124 0 0   100%
klayout_pex/fastercap/fastercap_runner.py (no class)   57 5 0   91%
klayout_pex/klayout/__init__.py (no class)   1 0 0   100%
klayout_pex/klayout/lvs_runner.py LVSRunner   19 0 0   100%
klayout_pex/klayout/lvs_runner.py (no class)   8 0 0   100%
klayout_pex/klayout/lvsdb_extractor.py KLayoutExtractedLayerInfo   0 0 0   100%
klayout_pex/klayout/lvsdb_extractor.py KLayoutMergedExtractedLayerInfo   0 0 0   100%
klayout_pex/klayout/lvsdb_extractor.py KLayoutExtractionContext   206 19 0   91%
klayout_pex/klayout/lvsdb_extractor.py (no class)   58 0 0   100%
klayout_pex/klayout/netlist_csv.py NetlistCSVWriter   17 2 0   88%
klayout_pex/klayout/netlist_csv.py (no class)   6 0 0   100%
klayout_pex/klayout/netlist_expander.py NetlistExpander   61 2 0   97%
klayout_pex/klayout/netlist_expander.py (no class)   10 0 0   100%
klayout_pex/klayout/netlist_printer.py NetlistPrinter   25 0 0   100%
klayout_pex/klayout/netlist_printer.py (no class)   13 0 0   100%
klayout_pex/klayout/netlist_reducer.py NetlistReducer   16 3 0   81%
klayout_pex/klayout/netlist_reducer.py (no class)   6 0 0   100%
klayout_pex/klayout/repair_rdb.py (no class)   79 66 0   16%
klayout_pex/klayout/rex_core.py (no class)   26 2 0   92%
klayout_pex/klayout/shapes_pb2_converter.py ShapesConverter   53 13 0   75%
klayout_pex/klayout/shapes_pb2_converter.py (no class)   14 0 0   100%
klayout_pex/kpex_cli.py ArgumentValidationError   0 0 0   100%
klayout_pex/kpex_cli.py InputMode   0 0 0   100%
klayout_pex/kpex_cli.py KpexCLI   463 152 0   67%
klayout_pex/kpex_cli.py (no class)   74 2 0   97%
klayout_pex/log/__init__.py (no class)   1 0 0   100%
klayout_pex/log/logger.py LogLevel   1 1 0   0%
klayout_pex/log/logger.py LogLevelFormatter   6 0 0   100%
klayout_pex/log/logger.py LogLevelFilter   6 0 0   100%
klayout_pex/log/logger.py (no class)   68 3 10   96%
klayout_pex/magic/__init__.py (no class)   0 0 0   100%
klayout_pex/magic/magic_ext_data_structures.py Port   0 0 0   100%
klayout_pex/magic/magic_ext_data_structures.py Node   0 0 0   100%
klayout_pex/magic/magic_ext_data_structures.py DeviceType   0 0 0   100%
klayout_pex/magic/magic_ext_data_structures.py Device   0 0 0   100%
klayout_pex/magic/magic_ext_data_structures.py ExtData   0 0 0   100%
klayout_pex/magic/magic_ext_data_structures.py ResNode   0 0 0   100%
klayout_pex/magic/magic_ext_data_structures.py Resistor   0 0 0   100%
klayout_pex/magic/magic_ext_data_structures.py ResExtData   1 1 0   0%
klayout_pex/magic/magic_ext_data_structures.py CellExtData   0 0 0   100%
klayout_pex/magic/magic_ext_data_structures.py MagicPEXRun   0 0 0   100%
klayout_pex/magic/magic_ext_data_structures.py (no class)   79 0 0   100%
klayout_pex/magic/magic_ext_file_parser.py (no class)   57 50 0   12%
klayout_pex/magic/magic_log_analyzer.py MagicLogAnalyzer   43 43 0   0%
klayout_pex/magic/magic_log_analyzer.py ArgumentValidationError   0 0 0   100%
klayout_pex/magic/magic_log_analyzer.py (no class)   39 18 0   54%
klayout_pex/magic/magic_runner.py MagicPEXMode   0 0 0   100%
klayout_pex/magic/magic_runner.py MagicShortMode   0 0 0   100%
klayout_pex/magic/magic_runner.py MagicMergeMode   0 0 0   100%
klayout_pex/magic/magic_runner.py (no class)   58 34 0   41%
klayout_pex/netlistsvg/netlist_json.py NetlistJSONWriter   65 1 0   98%
klayout_pex/netlistsvg/netlist_json.py (no class)   12 0 0   100%
klayout_pex/pdk_config.py PDKConfig   0 0 0   100%
klayout_pex/pdk_config.py PDK   17 5 0   71%
klayout_pex/pdk_config.py (no class)   21 0 0   100%
klayout_pex/rcx25/__init__.py (no class)   0 0 0   100%
klayout_pex/rcx25/c/__init__.py (no class)   0 0 0   100%
klayout_pex/rcx25/c/geometry_restorer.py GeometryRestorer   5 1 0   80%
klayout_pex/rcx25/c/geometry_restorer.py (no class)   8 0 0   100%
klayout_pex/rcx25/c/overlap_extractor.py OverlapExtractor   11 0 0   100%
klayout_pex/rcx25/c/overlap_extractor.py OverlapExtractor.PEXPolygonNeighborhoodVisitor   38 5 0   87%
klayout_pex/rcx25/c/overlap_extractor.py (no class)   12 0 0   100%
klayout_pex/rcx25/c/polygon_utils.py (no class)   24 2 0   92%
klayout_pex/rcx25/c/sidewall_and_fringe_extractor.py SidewallAndFringeExtractor   18 0 0   100%
klayout_pex/rcx25/c/sidewall_and_fringe_extractor.py SidewallAndFringeExtractor.PEXEdgeNeighborhoodVisitor   142 15 0   89%
klayout_pex/rcx25/c/sidewall_and_fringe_extractor.py (no class)   26 0 0   100%
klayout_pex/rcx25/extraction_reporter.py ExtractionReporter   166 29 0   83%
klayout_pex/rcx25/extraction_reporter.py (no class)   75 0 0   100%
klayout_pex/rcx25/extraction_results.py NodeRegion   0 0 0   100%
klayout_pex/rcx25/extraction_results.py SidewallKey   0 0 0   100%
klayout_pex/rcx25/extraction_results.py SidewallCap   0 0 0   100%
klayout_pex/rcx25/extraction_results.py OverlapKey   0 0 0   100%
klayout_pex/rcx25/extraction_results.py OverlapCap   0 0 0   100%
klayout_pex/rcx25/extraction_results.py SideOverlapKey   9 5 0   44%
klayout_pex/rcx25/extraction_results.py SideOverlapCap   1 1 0   0%
klayout_pex/rcx25/extraction_results.py NetCoupleKey   11 4 0   64%
klayout_pex/rcx25/extraction_results.py ExtractionSummary   8 0 0   100%
klayout_pex/rcx25/extraction_results.py CellExtractionResults   33 0 0   100%
klayout_pex/rcx25/extraction_results.py ExtractionResults   2 0 0   100%
klayout_pex/rcx25/extraction_results.py (no class)   83 0 0   100%
klayout_pex/rcx25/extractor.py RCX25Extractor   81 7 0   91%
klayout_pex/rcx25/extractor.py (no class)   22 0 0   100%
klayout_pex/rcx25/netlist_expander.py RCX25NetlistExpander   59 4 0   93%
klayout_pex/rcx25/netlist_expander.py (no class)   9 0 0   100%
klayout_pex/rcx25/pex_mode.py PEXMode   14 4 0   71%
klayout_pex/rcx25/pex_mode.py (no class)   8 0 0   100%
klayout_pex/rcx25/r/__init__.py (no class)   0 0 0   100%
klayout_pex/rcx25/r/r_extractor.py RExtractor   233 25 0   89%
klayout_pex/rcx25/r/r_extractor.py (no class)   21 0 0   100%
klayout_pex/rcx25/types.py (no class)   12 0 0   100%
klayout_pex/tech_info.py TechInfo   148 44 0   70%
klayout_pex/tech_info.py (no class)   85 0 0   100%
klayout_pex/util/__init__.py (no class)   0 0 0   100%
klayout_pex/util/argparse_helpers.py (no class)   33 4 0   88%
klayout_pex/util/multiple_choice.py MultipleChoicePattern   21 9 0   57%
klayout_pex/util/multiple_choice.py (no class)   6 0 0   100%
klayout_pex/util/unit_formatter.py (no class)   34 7 0   79%
klayout_pex/version.py (no class)   1 0 0   100%
klayout_pex_protobuf/__init__.py (no class)   5 0 0   100%
klayout_pex_protobuf/kpex/c/capacitance_pb2.py (no class)   28 13 0   54%
klayout_pex_protobuf/kpex/geometry/shapes_pb2.py (no class)   25 13 0   48%
klayout_pex_protobuf/kpex/klayout/r_extractor_tech_pb2.py (no class)   22 9 0   59%
klayout_pex_protobuf/kpex/layout/device_pb2.py (no class)   21 7 0   67%
klayout_pex_protobuf/kpex/layout/layer_ref_pb2.py (no class)   15 3 0   80%
klayout_pex_protobuf/kpex/layout/layer_region_pb2.py (no class)   17 3 0   82%
klayout_pex_protobuf/kpex/layout/location_pb2.py (no class)   18 5 0   72%
klayout_pex_protobuf/kpex/layout/pin_pb2.py (no class)   17 3 0   82%
klayout_pex_protobuf/kpex/r/r_network_pb2.py (no class)   30 15 0   50%
klayout_pex_protobuf/kpex/request/pex_request_pb2.py (no class)   23 7 0   70%
klayout_pex_protobuf/kpex/result/pex_result_pb2.py (no class)   23 9 0   61%
klayout_pex_protobuf/kpex/tech/process_parasitics_pb2.py (no class)   35 23 0   34%
klayout_pex_protobuf/kpex/tech/process_stack_pb2.py (no class)   37 25 0   32%
klayout_pex_protobuf/kpex/tech/tech_pb2.py (no class)   27 13 0   52%
tests/__init__.py (no class)   0 0 0   100%
tests/common/__init__.py (no class)   0 0 0   100%
tests/common/capacitance_matrix_test.py Test   21 0 0   100%
tests/common/capacitance_matrix_test.py (no class)   15 0 0   100%
tests/env_test.py Test   21 1 0   95%
tests/env_test.py (no class)   14 0 0   100%
tests/fastcap/fastcap_runner_test.py Test   12 0 0   100%
tests/fastcap/fastcap_runner_test.py (no class)   10 0 0   100%
tests/fastercap/__init__.py (no class)   0 0 0   100%
tests/fastercap/fastercap_model_generator_test.py (no class)   60 0 0   100%
tests/fastercap/fastercap_runner_test.py Test   11 0 0   100%
tests/fastercap/fastercap_runner_test.py (no class)   10 0 0   100%
tests/fastercap/fastercap_test.py (no class)   63 0 0   100%
tests/klayout/lvs_runner_test.py Test   11 11 0   0%
tests/klayout/lvs_runner_test.py (no class)   13 0 0   100%
tests/klayout/netlist_expander_test.py Test   18 0 0   100%
tests/klayout/netlist_expander_test.py (no class)   19 0 0   100%
tests/klayout/netlist_reducer_test.py Test   16 0 0   100%
tests/klayout/netlist_reducer_test.py (no class)   17 0 0   100%
tests/klayout/shapes_pb2_converter_test.py ShapesConverterTest   106 0 0   100%
tests/klayout/shapes_pb2_converter_test.py (no class)   20 0 0   100%
tests/netlistsvg/netlist_json_test.py Test   19 0 0   100%
tests/netlistsvg/netlist_json_test.py (no class)   19 0 0   100%
tests/rcx25/extraction_results_test.py NetCoupleKeyTest   8 0 0   100%
tests/rcx25/extraction_results_test.py CellExtractionResultsTest   48 0 0   100%
tests/rcx25/extraction_results_test.py (no class)   13 0 0   100%
tests/rcx25/rcx25_CC_sky130A_test.py (no class)   89 0 0   100%
tests/rcx25/rcx25_R_sky130A_test.py (no class)   34 0 0   100%
tests/rcx25/rcx25_test.py (no class)   145 0 0   100%
tests/rcx25/rcx25_test_helpers.py PDKName   0 0 0   100%
tests/rcx25/rcx25_test_helpers.py PDKTestConfig   8 0 0   100%
tests/rcx25/rcx25_test_helpers.py RCX25Extraction   33 0 0   100%
tests/rcx25/rcx25_test_helpers.py (no class)   37 0 0   100%
tests/util/argparse_helpers_test.py Test   27 0 0   100%
tests/util/argparse_helpers_test.py Test.test_render_enum_help__nodefault__intenum.IntEnum1   0 0 0   100%
tests/util/argparse_helpers_test.py Test.test_render_enum_help__default__intenum.IntEnum2   0 0 0   100%
tests/util/argparse_helpers_test.py Test.test_render_enum_help__default__strenum.StrEnum1   0 0 0   100%
tests/util/argparse_helpers_test.py Test.test_render_enum_help__default__strenum__lowercased.StrEnum1   0 0 0   100%
tests/util/argparse_helpers_test.py (no class)   13 0 0   100%
tests/util/unit_formatter_test.py UnitFormatterTest   22 0 0   100%
tests/util/unit_formatter_test.py (no class)   13 1 0   92%
Total     5511 886 10   84%

No items found using the specified filter.