Coverage report: 84%

Files Functions Classes

coverage.py v7.13.0, created at 2025-12-19 18:50 +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 152 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   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   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     5471 883 10   84%

No items found using the specified filter.