• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

pomponchik / symplug / 22206175069

20 Feb 2026 12:30AM UTC coverage: 18.367% (+5.5%) from 12.821%
22206175069

push

github

Евгений Блинов
Big refactoring

17 of 100 new or added lines in 4 files covered. (17.0%)

37 existing lines in 2 files now uncovered.

36 of 196 relevant lines covered (18.37%)

0.55 hits per line

Source File
Press 'n' to go to next uncovered line, 'b' for previous

0.0
/symplug/components/plugin.py
NEW
1
from typing import Union, Any, Type
×
2

NEW
3
from simtypes import check
×
NEW
4
from denial import InnerNoneType
×
5

NEW
6
from symplug.common_types import SlotPapameters, PluginResult, PluginFunction
×
NEW
7
from symplug.components.slot_code_representer import sentinel as return_type_sentinel
×
8

9

NEW
10
class Plugin:
×
NEW
11
    def __init__(self, name: str, plugin_function: PluginFunction, expected_result_type: Union[InnerNoneType, Type[Any]], type_check: bool) -> None:
×
NEW
12
        self.plugin_function = plugin_function
×
NEW
13
        self.requested_name = name
×
NEW
14
        self.name = name
×
NEW
15
        self.expected_result_type = expected_result_type
×
NEW
16
        self.type_check = type_check
×
17

NEW
18
    def __call__(self, *args: SlotPapameters.args, **kwargs: SlotPapameters.args) -> PluginResult:
×
NEW
19
        result = self.plugin_function(*args, **kwargs)
×
20

NEW
21
        if self.type_check and self.expected_result_type is not return_type_sentinel and not check(result, self.expected_result_type):
×
NEW
22
            raise TypeError()
×
23

NEW
24
        return result
×
25

NEW
26
    def set_name(self, name: str) -> None:
×
NEW
27
        self.name = name
×
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc