-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathcoverage.json
More file actions
1 lines (1 loc) · 32.8 KB
/
coverage.json
File metadata and controls
1 lines (1 loc) · 32.8 KB
1
{"meta": {"format": 3, "version": "7.10.7", "timestamp": "2025-11-13T11:51:58.132551", "branch_coverage": false, "show_contexts": false}, "files": {"src/smartswitch/__init__.py": {"executed_lines": [1, 2, 4, 5], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": [], "functions": {"": {"executed_lines": [1, 2, 4, 5], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}, "classes": {"": {"executed_lines": [1, 2, 4, 5], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}}, "src/smartswitch/core.py": {"executed_lines": [1, 7, 8, 9, 10, 11, 12, 15, 16, 21, 23, 24, 25, 27, 29, 31, 43, 46, 48, 52, 54, 55, 56, 59, 62, 64, 66, 67, 70, 71, 86, 108, 110, 111, 136, 138, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 168, 169, 170, 171, 172, 173, 174, 177, 178, 180, 222, 224, 225, 227, 229, 232, 235, 237, 242, 244, 258, 259, 260, 267, 268, 270, 295, 296, 301, 327, 329, 330, 332, 335, 336, 337, 342, 343, 346, 347, 349, 351, 353, 354, 355, 358, 360, 361, 362, 363, 366, 367, 369, 372, 376, 377, 380, 383, 384, 387, 390, 392, 393, 395, 397, 399, 400, 403, 404, 405, 407, 410, 412, 413, 414, 415, 416, 426, 432, 436, 441, 442, 443, 444, 445, 447, 449, 450, 451, 454, 455, 457, 460, 462, 463, 464, 465, 466, 467, 470, 471, 472, 473, 476, 477, 479, 481, 482, 485, 486, 489, 490, 492, 494, 496, 497, 499, 502, 504, 506, 507, 508, 510, 511, 512, 514, 516, 518, 532, 534, 536, 538, 549, 550, 551, 555, 556, 558, 560, 571, 572, 574, 577, 584, 586, 593, 595, 596, 603, 605, 606, 619, 620, 623, 626, 627, 629, 630, 637, 639, 655, 656, 659, 660, 662, 674, 676, 685, 687, 689, 715, 716, 719, 720, 721, 724, 735, 738, 739, 740, 741, 744, 746, 754, 756, 757, 760, 761, 762, 764, 775, 776, 779, 780, 783, 784, 788, 789, 790, 793, 795, 806, 807, 808, 810, 811, 813, 822, 827, 828, 829, 831, 832, 833, 834, 835, 836, 840, 843, 844, 847, 848, 850, 851, 854, 871, 872, 873, 875, 882, 883, 884, 886, 887, 889, 894, 897, 898, 900, 925, 928, 929, 932, 933, 934, 936, 939, 940, 943, 944, 945, 946, 947, 948, 949, 950, 951, 952, 954, 956, 969, 971, 972, 973, 974, 980, 982, 983, 985, 986, 989, 990, 991, 992, 996, 997, 998, 999, 1000, 1007, 1009, 1011, 1013, 1020, 1022, 1023, 1024, 1031, 1032, 1033, 1035, 1036, 1038, 1040, 1048, 1050, 1053, 1054, 1056], "summary": {"covered_lines": 343, "num_statements": 377, "percent_covered": 90.9814323607427, "percent_covered_display": "91", "missing_lines": 34, "excluded_lines": 1}, "missing_lines": [50, 234, 238, 240, 299, 552, 578, 580, 581, 725, 726, 727, 728, 731, 732, 823, 824, 855, 856, 857, 860, 861, 865, 868, 885, 890, 892, 1002, 1003, 1004, 1005, 1034, 1057, 1059], "excluded_lines": [112], "functions": {"BoundSwitcher.__init__": {"executed_lines": [24, 25], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "BoundSwitcher.__getattr__": {"executed_lines": [29], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "BoundSwitcher.__call__": {"executed_lines": [43, 46, 48, 52, 54, 55, 56, 59, 62, 64, 66, 67], "summary": {"covered_lines": 12, "num_statements": 13, "percent_covered": 92.3076923076923, "percent_covered_display": "92", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [50], "excluded_lines": []}, "Switcher.register_plugin": {"executed_lines": [136], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 1}, "missing_lines": [], "excluded_lines": [112]}, "Switcher.__init__": {"executed_lines": [155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 168, 169, 170, 171, 172, 173, 174, 177, 178], "summary": {"covered_lines": 20, "num_statements": 20, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "Switcher.plug": {"executed_lines": [222, 224, 225, 227, 229, 232, 235, 237, 242], "summary": {"covered_lines": 9, "num_statements": 12, "percent_covered": 75.0, "percent_covered_display": "75", "missing_lines": 3, "excluded_lines": 0}, "missing_lines": [234, 238, 240], "excluded_lines": []}, "Switcher._get_standard_plugin": {"executed_lines": [258, 259, 260, 267, 268], "summary": {"covered_lines": 5, "num_statements": 5, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "Switcher.__getattr__": {"executed_lines": [295, 296], "summary": {"covered_lines": 2, "num_statements": 3, "percent_covered": 66.66666666666667, "percent_covered_display": "67", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [299], "excluded_lines": []}, "Switcher.__call__": {"executed_lines": [327, 329, 330, 332, 335, 336, 337, 342, 343, 346, 347, 349, 351, 353, 354, 355, 358, 360, 361, 362, 363, 366, 367, 369, 372, 376, 377, 380, 383, 384, 397, 399, 400, 403, 407, 410, 412, 413, 414, 415, 416, 426, 432, 436, 441, 442, 443, 444, 445, 447, 499, 502, 504, 514, 516], "summary": {"covered_lines": 55, "num_statements": 55, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "Switcher.__call__.HandlerOrDecorator.__call__": {"executed_lines": [387, 390, 392, 393, 395], "summary": {"covered_lines": 5, "num_statements": 5, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "Switcher.__call__.decorator": {"executed_lines": [449, 450, 451, 454, 455, 457, 460, 494, 496, 497], "summary": {"covered_lines": 10, "num_statements": 10, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "Switcher.__call__.decorator.matches": {"executed_lines": [462, 463, 464, 465, 466, 467, 470, 471, 472, 473, 476, 477, 479, 481, 482, 485, 486, 489, 490, 492], "summary": {"covered_lines": 20, "num_statements": 20, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "Switcher.__call__.invoker": {"executed_lines": [506, 507, 508, 510, 511, 512], "summary": {"covered_lines": 6, "num_statements": 6, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "Switcher.__get__": {"executed_lines": [532, 534, 536], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "Switcher._compile_type_checks": {"executed_lines": [549, 550, 551, 555, 556, 558], "summary": {"covered_lines": 6, "num_statements": 7, "percent_covered": 85.71428571428571, "percent_covered_display": "86", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [552], "excluded_lines": []}, "Switcher._make_type_checker": {"executed_lines": [571, 572, 574, 577, 584], "summary": {"covered_lines": 5, "num_statements": 8, "percent_covered": 62.5, "percent_covered_display": "62", "missing_lines": 3, "excluded_lines": 0}, "missing_lines": [578, 580, 581], "excluded_lines": []}, "Switcher.entries": {"executed_lines": [593], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "Switcher.parent": {"executed_lines": [619, 620, 623, 626, 627], "summary": {"covered_lines": 5, "num_statements": 5, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "Switcher.children": {"executed_lines": [637], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "Switcher.add_child": {"executed_lines": [655, 656, 659, 660], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "Switcher.add": {"executed_lines": [674], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "Switcher.remove_child": {"executed_lines": [685, 687], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "Switcher.enable_log": {"executed_lines": [715, 716, 719, 720, 721, 724, 735, 738, 739, 740, 741, 744], "summary": {"covered_lines": 12, "num_statements": 18, "percent_covered": 66.66666666666667, "percent_covered_display": "67", "missing_lines": 6, "excluded_lines": 0}, "missing_lines": [725, 726, 727, 728, 731, 732], "excluded_lines": []}, "Switcher.disable_log": {"executed_lines": [754, 756, 757, 760, 761, 762], "summary": {"covered_lines": 6, "num_statements": 6, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "Switcher._get_log_config": {"executed_lines": [775, 776, 779, 780, 783, 784, 788, 789, 790, 793], "summary": {"covered_lines": 10, "num_statements": 10, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "Switcher._wrap_with_logging": {"executed_lines": [806, 807, 808, 810, 811, 897, 898], "summary": {"covered_lines": 7, "num_statements": 7, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "Switcher._wrap_with_logging.logged_wrapper": {"executed_lines": [813, 822, 827, 828, 829, 831, 832, 833, 834, 835, 836, 840, 843, 844, 847, 848, 850, 851, 854, 871, 872, 873, 875, 882, 883, 884, 886, 887, 889, 894], "summary": {"covered_lines": 30, "num_statements": 42, "percent_covered": 71.42857142857143, "percent_covered_display": "71", "missing_lines": 12, "excluded_lines": 0}, "missing_lines": [823, 824, 855, 856, 857, 860, 861, 865, 868, 885, 890, 892], "excluded_lines": []}, "Switcher.get_log_history": {"executed_lines": [925, 928, 929, 932, 933, 934, 936, 939, 940, 943, 944, 945, 946, 947, 948, 949, 950, 951, 952, 954], "summary": {"covered_lines": 20, "num_statements": 20, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "Switcher.get_log_stats": {"executed_lines": [969, 971, 972, 973, 974, 980, 982, 983, 985, 986, 989, 990, 991, 992, 996, 997, 998, 999, 1000, 1007], "summary": {"covered_lines": 20, "num_statements": 24, "percent_covered": 83.33333333333333, "percent_covered_display": "83", "missing_lines": 4, "excluded_lines": 0}, "missing_lines": [1002, 1003, 1004, 1005], "excluded_lines": []}, "Switcher.clear_log_history": {"executed_lines": [1011], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "Switcher.export_log_history": {"executed_lines": [1020, 1022, 1023, 1024, 1031, 1032, 1033, 1035, 1036, 1038, 1040], "summary": {"covered_lines": 11, "num_statements": 12, "percent_covered": 91.66666666666667, "percent_covered_display": "92", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [1034], "excluded_lines": []}, "": {"executed_lines": [1, 7, 8, 9, 10, 11, 12, 15, 16, 21, 23, 27, 31, 70, 71, 86, 108, 110, 111, 138, 180, 244, 270, 301, 518, 538, 560, 586, 595, 596, 605, 606, 629, 630, 639, 662, 676, 689, 746, 764, 795, 900, 956, 1009, 1013, 1048, 1050, 1053, 1054, 1056], "summary": {"covered_lines": 47, "num_statements": 49, "percent_covered": 95.91836734693878, "percent_covered_display": "96", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [1057, 1059], "excluded_lines": []}}, "classes": {"BoundSwitcher": {"executed_lines": [24, 25, 29, 43, 46, 48, 52, 54, 55, 56, 59, 62, 64, 66, 67], "summary": {"covered_lines": 15, "num_statements": 16, "percent_covered": 93.75, "percent_covered_display": "94", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [50], "excluded_lines": []}, "Switcher": {"executed_lines": [136, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 168, 169, 170, 171, 172, 173, 174, 177, 178, 222, 224, 225, 227, 229, 232, 235, 237, 242, 258, 259, 260, 267, 268, 295, 296, 327, 329, 330, 332, 335, 336, 337, 342, 343, 346, 347, 349, 351, 353, 354, 355, 358, 360, 361, 362, 363, 366, 367, 369, 372, 376, 377, 380, 383, 384, 397, 399, 400, 403, 404, 405, 407, 410, 412, 413, 414, 415, 416, 426, 432, 436, 441, 442, 443, 444, 445, 447, 449, 450, 451, 454, 455, 457, 460, 462, 463, 464, 465, 466, 467, 470, 471, 472, 473, 476, 477, 479, 481, 482, 485, 486, 489, 490, 492, 494, 496, 497, 499, 502, 504, 506, 507, 508, 510, 511, 512, 514, 516, 532, 534, 536, 549, 550, 551, 555, 556, 558, 571, 572, 574, 577, 584, 593, 603, 619, 620, 623, 626, 627, 637, 655, 656, 659, 660, 674, 685, 687, 715, 716, 719, 720, 721, 724, 735, 738, 739, 740, 741, 744, 754, 756, 757, 760, 761, 762, 775, 776, 779, 780, 783, 784, 788, 789, 790, 793, 806, 807, 808, 810, 811, 813, 822, 827, 828, 829, 831, 832, 833, 834, 835, 836, 840, 843, 844, 847, 848, 850, 851, 854, 871, 872, 873, 875, 882, 883, 884, 886, 887, 889, 894, 897, 898, 925, 928, 929, 932, 933, 934, 936, 939, 940, 943, 944, 945, 946, 947, 948, 949, 950, 951, 952, 954, 969, 971, 972, 973, 974, 980, 982, 983, 985, 986, 989, 990, 991, 992, 996, 997, 998, 999, 1000, 1007, 1011, 1020, 1022, 1023, 1024, 1031, 1032, 1033, 1035, 1036, 1038, 1040], "summary": {"covered_lines": 276, "num_statements": 307, "percent_covered": 89.90228013029316, "percent_covered_display": "90", "missing_lines": 31, "excluded_lines": 1}, "missing_lines": [234, 238, 240, 299, 552, 578, 580, 581, 725, 726, 727, 728, 731, 732, 823, 824, 855, 856, 857, 860, 861, 865, 868, 885, 890, 892, 1002, 1003, 1004, 1005, 1034], "excluded_lines": [112]}, "Switcher.__call__.HandlerOrDecorator": {"executed_lines": [387, 390, 392, 393, 395], "summary": {"covered_lines": 5, "num_statements": 5, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "": {"executed_lines": [1, 7, 8, 9, 10, 11, 12, 15, 16, 21, 23, 27, 31, 70, 71, 86, 108, 110, 111, 138, 180, 244, 270, 301, 518, 538, 560, 586, 595, 596, 605, 606, 629, 630, 639, 662, 676, 689, 746, 764, 795, 900, 956, 1009, 1013, 1048, 1050, 1053, 1054, 1056], "summary": {"covered_lines": 47, "num_statements": 49, "percent_covered": 95.91836734693878, "percent_covered_display": "96", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [1057, 1059], "excluded_lines": []}}}, "src/smartswitch/plugin.py": {"executed_lines": [1, 8, 9, 11, 15, 16, 50, 80, 81, 106, 114, 115, 117, 118, 136, 137, 138, 139, 141, 165, 167, 170, 171, 172, 173, 175, 187, 188, 189, 190, 192, 202, 203, 205, 254, 258, 261, 262, 265, 267, 303, 305, 319, 322, 324, 325, 328, 329, 332, 334, 336], "summary": {"covered_lines": 47, "num_statements": 49, "percent_covered": 95.91836734693878, "percent_covered_display": "96", "missing_lines": 2, "excluded_lines": 10}, "missing_lines": [255, 364], "excluded_lines": [11, 12, 16, 51, 77, 78, 79, 81, 206, 268], "functions": {"SwitcherPlugin.wrap": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 0, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 2}, "missing_lines": [], "excluded_lines": [51, 77]}, "BasePlugin.__init__": {"executed_lines": [114, 115], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "BasePlugin.plugin_name": {"executed_lines": [136, 137, 138, 139], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "BasePlugin.configure": {"executed_lines": [165, 167, 170, 171, 172, 173], "summary": {"covered_lines": 6, "num_statements": 6, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "BasePlugin.get_config": {"executed_lines": [187, 188, 189, 190], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "BasePlugin.is_enabled": {"executed_lines": [202, 203], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "BasePlugin.metadata": {"executed_lines": [254, 258, 261, 262, 265], "summary": {"covered_lines": 5, "num_statements": 6, "percent_covered": 83.33333333333333, "percent_covered_display": "83", "missing_lines": 1, "excluded_lines": 1}, "missing_lines": [255], "excluded_lines": [206]}, "BasePlugin.on_decorate": {"executed_lines": [303], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 1}, "missing_lines": [], "excluded_lines": [268]}, "BasePlugin.wrap": {"executed_lines": [319, 322, 324, 325, 334], "summary": {"covered_lines": 5, "num_statements": 5, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "BasePlugin.wrap.config_aware_wrapper": {"executed_lines": [328, 329, 332], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "BasePlugin._wrap_handler": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [364], "excluded_lines": []}, "": {"executed_lines": [1, 8, 9, 11, 15, 16, 50, 80, 81, 106, 117, 118, 141, 175, 192, 205, 267, 305, 336], "summary": {"covered_lines": 15, "num_statements": 15, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 6}, "missing_lines": [], "excluded_lines": [11, 12, 16, 78, 79, 81]}}, "classes": {"SwitcherPlugin": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 0, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 2}, "missing_lines": [], "excluded_lines": [51, 77]}, "BasePlugin": {"executed_lines": [114, 115, 136, 137, 138, 139, 165, 167, 170, 171, 172, 173, 187, 188, 189, 190, 202, 203, 254, 258, 261, 262, 265, 303, 319, 322, 324, 325, 328, 329, 332, 334], "summary": {"covered_lines": 32, "num_statements": 34, "percent_covered": 94.11764705882354, "percent_covered_display": "94", "missing_lines": 2, "excluded_lines": 2}, "missing_lines": [255, 364], "excluded_lines": [206, 268]}, "": {"executed_lines": [1, 8, 9, 11, 15, 16, 50, 80, 81, 106, 117, 118, 141, 175, 192, 205, 267, 305, 336], "summary": {"covered_lines": 15, "num_statements": 15, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 6}, "missing_lines": [], "excluded_lines": [11, 12, 16, 78, 79, 81]}}}, "src/smartswitch/plugins/__init__.py": {"executed_lines": [1, 8, 14], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": [], "functions": {"": {"executed_lines": [1, 8, 14], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}, "classes": {"": {"executed_lines": [1, 8, 14], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}}, "src/smartswitch/plugins/logging.py": {"executed_lines": [1, 7, 8, 9, 10, 11, 13, 17, 18, 98, 100, 108, 111, 112, 113, 114, 115, 116, 117, 119, 131, 133, 148, 149, 151, 153, 154, 156, 165, 166, 169, 170, 171, 173, 174, 175, 176, 177, 178, 182, 185, 186, 187, 189, 192, 193, 199, 202, 203, 205, 206, 209, 210, 211, 213, 220, 221, 222, 224, 225, 227, 232, 235, 236, 238, 270, 273, 274, 277, 278, 279, 281, 284, 285, 288, 290, 291, 293, 294, 295, 296, 299, 300, 301, 302, 304, 306, 308, 310, 320, 322, 323, 324, 331, 332, 333, 335, 336, 338, 340, 342, 356, 358, 369, 371], "summary": {"covered_lines": 102, "num_statements": 110, "percent_covered": 92.72727272727273, "percent_covered_display": "93", "missing_lines": 8, "excluded_lines": 2}, "missing_lines": [109, 194, 195, 223, 228, 230, 334, 370], "excluded_lines": [13, 14], "functions": {"LoggingPlugin.__init__": {"executed_lines": [108, 111, 112, 113, 114, 115, 116, 117], "summary": {"covered_lines": 8, "num_statements": 9, "percent_covered": 88.88888888888889, "percent_covered_display": "89", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [109], "excluded_lines": []}, "LoggingPlugin.on_decorate": {"executed_lines": [131], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "LoggingPlugin.wrap": {"executed_lines": [148, 149, 151, 153, 154, 235, 236], "summary": {"covered_lines": 7, "num_statements": 7, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "LoggingPlugin.wrap.logged_wrapper": {"executed_lines": [156, 165, 166, 169, 170, 171, 173, 174, 175, 176, 177, 178, 182, 185, 186, 187, 189, 192, 193, 199, 202, 203, 205, 206, 209, 210, 211, 213, 220, 221, 222, 224, 225, 227, 232], "summary": {"covered_lines": 35, "num_statements": 40, "percent_covered": 87.5, "percent_covered_display": "88", "missing_lines": 5, "excluded_lines": 0}, "missing_lines": [194, 195, 223, 228, 230], "excluded_lines": []}, "LoggingPlugin.history": {"executed_lines": [270, 273, 274, 277, 278, 279, 281, 284, 285, 288, 290, 291, 293, 294, 295, 296, 299, 300, 301, 302, 304], "summary": {"covered_lines": 21, "num_statements": 21, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "LoggingPlugin.clear": {"executed_lines": [308], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "LoggingPlugin.export": {"executed_lines": [320, 322, 323, 324, 331, 332, 333, 335, 336, 338, 340], "summary": {"covered_lines": 11, "num_statements": 12, "percent_covered": 91.66666666666667, "percent_covered_display": "92", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [334], "excluded_lines": []}, "LoggingPlugin.set_file": {"executed_lines": [356], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "LoggingPlugin.set_mode": {"executed_lines": [369, 371], "summary": {"covered_lines": 2, "num_statements": 3, "percent_covered": 66.66666666666667, "percent_covered_display": "67", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [370], "excluded_lines": []}, "": {"executed_lines": [1, 7, 8, 9, 10, 11, 13, 17, 18, 98, 100, 119, 133, 238, 306, 310, 342, 358], "summary": {"covered_lines": 15, "num_statements": 15, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 2}, "missing_lines": [], "excluded_lines": [13, 14]}}, "classes": {"LoggingPlugin": {"executed_lines": [108, 111, 112, 113, 114, 115, 116, 117, 131, 148, 149, 151, 153, 154, 156, 165, 166, 169, 170, 171, 173, 174, 175, 176, 177, 178, 182, 185, 186, 187, 189, 192, 193, 199, 202, 203, 205, 206, 209, 210, 211, 213, 220, 221, 222, 224, 225, 227, 232, 235, 236, 270, 273, 274, 277, 278, 279, 281, 284, 285, 288, 290, 291, 293, 294, 295, 296, 299, 300, 301, 302, 304, 308, 320, 322, 323, 324, 331, 332, 333, 335, 336, 338, 340, 356, 369, 371], "summary": {"covered_lines": 87, "num_statements": 95, "percent_covered": 91.57894736842105, "percent_covered_display": "92", "missing_lines": 8, "excluded_lines": 0}, "missing_lines": [109, 194, 195, 223, 228, 230, 334, 370], "excluded_lines": []}, "": {"executed_lines": [1, 7, 8, 9, 10, 11, 13, 17, 18, 98, 100, 119, 133, 238, 306, 310, 342, 358], "summary": {"covered_lines": 15, "num_statements": 15, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 2}, "missing_lines": [], "excluded_lines": [13, 14]}}}, "src/smartswitch/plugins/pydantic.py": {"executed_lines": [1, 14, 15, 17, 18, 24, 27, 28, 42, 50, 52, 64, 65, 71, 74, 75, 78, 80, 81, 83, 84, 85, 88, 90, 93, 96, 99, 105, 120, 121, 123, 125, 126, 127, 129, 130, 133, 134, 137, 138, 141, 142, 146, 147, 149, 150, 152, 155, 158, 159, 161, 166], "summary": {"covered_lines": 50, "num_statements": 55, "percent_covered": 90.9090909090909, "percent_covered_display": "91", "missing_lines": 5, "excluded_lines": 0}, "missing_lines": [19, 20, 66, 68, 87], "excluded_lines": [], "functions": {"PydanticPlugin.__init__": {"executed_lines": [50], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "PydanticPlugin.on_decorate": {"executed_lines": [64, 65, 71, 74, 75, 78, 80, 81, 83, 84, 85, 88, 90, 93, 96, 99], "summary": {"covered_lines": 16, "num_statements": 19, "percent_covered": 84.21052631578948, "percent_covered_display": "84", "missing_lines": 3, "excluded_lines": 0}, "missing_lines": [66, 68, 87], "excluded_lines": []}, "PydanticPlugin._wrap_handler": {"executed_lines": [120, 121, 123, 125, 126, 127, 129, 130, 166], "summary": {"covered_lines": 9, "num_statements": 9, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "PydanticPlugin._wrap_handler.wrapper": {"executed_lines": [133, 134, 137, 138, 141, 142, 146, 147, 149, 150, 152, 155, 158, 159, 161], "summary": {"covered_lines": 15, "num_statements": 15, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "": {"executed_lines": [1, 14, 15, 17, 18, 24, 27, 28, 42, 52, 105], "summary": {"covered_lines": 9, "num_statements": 11, "percent_covered": 81.81818181818181, "percent_covered_display": "82", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [19, 20], "excluded_lines": []}}, "classes": {"PydanticPlugin": {"executed_lines": [50, 64, 65, 71, 74, 75, 78, 80, 81, 83, 84, 85, 88, 90, 93, 96, 99, 120, 121, 123, 125, 126, 127, 129, 130, 133, 134, 137, 138, 141, 142, 146, 147, 149, 150, 152, 155, 158, 159, 161, 166], "summary": {"covered_lines": 41, "num_statements": 44, "percent_covered": 93.18181818181819, "percent_covered_display": "93", "missing_lines": 3, "excluded_lines": 0}, "missing_lines": [66, 68, 87], "excluded_lines": []}, "": {"executed_lines": [1, 14, 15, 17, 18, 24, 27, 28, 42, 52, 105], "summary": {"covered_lines": 9, "num_statements": 11, "percent_covered": 81.81818181818181, "percent_covered_display": "82", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [19, 20], "excluded_lines": []}}}, "src/smartswitch/plugins/typerule.py": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 68, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 68, "excluded_lines": 2}, "missing_lines": [7, 8, 14, 94, 96, 97, 99, 111, 112, 114, 117, 118, 119, 120, 123, 126, 136, 138, 141, 143, 145, 147, 148, 149, 151, 154, 156, 158, 159, 160, 162, 164, 167, 169, 171, 182, 183, 184, 185, 188, 189, 191, 193, 204, 205, 207, 210, 211, 212, 213, 216, 219, 222, 224, 236, 237, 240, 243, 244, 245, 248, 251, 252, 254, 256, 257, 258, 260], "excluded_lines": [10, 11], "functions": {"TypeRulePlugin.__init__": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 2, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [96, 97], "excluded_lines": []}, "TypeRulePlugin.wrap": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 10, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 10, "excluded_lines": 0}, "missing_lines": [111, 112, 114, 117, 118, 119, 120, 123, 126, 136], "excluded_lines": []}, "TypeRulePlugin._inject_dispatch": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 3, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 3, "excluded_lines": 0}, "missing_lines": [141, 143, 169], "excluded_lines": []}, "TypeRulePlugin._inject_dispatch.enhanced_call": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 7, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 7, "excluded_lines": 0}, "missing_lines": [145, 147, 151, 154, 156, 164, 167], "excluded_lines": []}, "TypeRulePlugin._inject_dispatch.enhanced_call.decorator": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 2, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [148, 149], "excluded_lines": []}, "TypeRulePlugin._inject_dispatch.enhanced_call.invoker": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 4, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 4, "excluded_lines": 0}, "missing_lines": [158, 159, 160, 162], "excluded_lines": []}, "TypeRulePlugin._compile_type_checks": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 7, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 7, "excluded_lines": 0}, "missing_lines": [182, 183, 184, 185, 188, 189, 191], "excluded_lines": []}, "TypeRulePlugin._make_type_checker": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 10, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 10, "excluded_lines": 0}, "missing_lines": [204, 205, 207, 210, 211, 212, 213, 216, 219, 222], "excluded_lines": []}, "TypeRulePlugin._matches_typerule": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 14, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 14, "excluded_lines": 0}, "missing_lines": [236, 237, 240, 243, 244, 245, 248, 251, 252, 254, 256, 257, 258, 260], "excluded_lines": []}, "": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 9, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 9, "excluded_lines": 2}, "missing_lines": [7, 8, 14, 94, 99, 138, 171, 193, 224], "excluded_lines": [10, 11]}}, "classes": {"TypeRulePlugin": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 59, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 59, "excluded_lines": 0}, "missing_lines": [96, 97, 111, 112, 114, 117, 118, 119, 120, 123, 126, 136, 141, 143, 145, 147, 148, 149, 151, 154, 156, 158, 159, 160, 162, 164, 167, 169, 182, 183, 184, 185, 188, 189, 191, 204, 205, 207, 210, 211, 212, 213, 216, 219, 222, 236, 237, 240, 243, 244, 245, 248, 251, 252, 254, 256, 257, 258, 260], "excluded_lines": []}, "": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 9, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 9, "excluded_lines": 2}, "missing_lines": [7, 8, 14, 94, 99, 138, 171, 193, 224], "excluded_lines": [10, 11]}}}}, "totals": {"covered_lines": 548, "num_statements": 665, "percent_covered": 82.40601503759399, "percent_covered_display": "82", "missing_lines": 117, "excluded_lines": 15}}