Coverage report: 84%

Files Functions Classes

coverage.py v7.11.0, created at 2025-10-31 20:14 +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 15 2 0 87%
klayout_pex/env.py (no class) 24 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) 63 29 0 54%
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 PDK 10 2 0 80%
klayout_pex/kpex_cli.py KpexCLI 458 149 0 67%
klayout_pex/kpex_cli.py (no class) 80 2 0 98%
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) 78 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 (no class) 6 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 153 26 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 234 23 0 90%
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 15 1 0 93%
tests/env_test.py (no class) 11 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   5458 877 10 84%

No items found using the specified filter.