baldertest 0.1.0b10__py3-none-any.whl → 0.1.0b11__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (32) hide show
  1. _balder/_version.py +1 -1
  2. _balder/cnnrelations/__init__.py +7 -0
  3. _balder/cnnrelations/and_connection_relation.py +149 -0
  4. _balder/cnnrelations/base_connection_relation.py +270 -0
  5. _balder/cnnrelations/or_connection_relation.py +65 -0
  6. _balder/collector.py +10 -16
  7. _balder/connection.py +400 -881
  8. _balder/connection_metadata.py +255 -0
  9. _balder/controllers/device_controller.py +25 -11
  10. _balder/controllers/feature_controller.py +63 -99
  11. _balder/controllers/normal_scenario_setup_controller.py +5 -5
  12. _balder/controllers/scenario_controller.py +6 -6
  13. _balder/controllers/setup_controller.py +2 -3
  14. _balder/decorator_connect.py +12 -10
  15. _balder/decorator_for_vdevice.py +17 -25
  16. _balder/decorator_gateway.py +3 -3
  17. _balder/executor/testcase_executor.py +0 -1
  18. _balder/executor/variation_executor.py +122 -115
  19. _balder/feature.py +1 -1
  20. _balder/fixture_manager.py +10 -9
  21. _balder/objects/connections/osi_3_network.py +2 -2
  22. _balder/objects/connections/osi_4_transport.py +2 -2
  23. _balder/routing_path.py +18 -25
  24. _balder/solver.py +1 -1
  25. _balder/testresult.py +1 -1
  26. _balder/utils.py +27 -1
  27. {baldertest-0.1.0b10.dist-info → baldertest-0.1.0b11.dist-info}/METADATA +2 -2
  28. {baldertest-0.1.0b10.dist-info → baldertest-0.1.0b11.dist-info}/RECORD +32 -27
  29. {baldertest-0.1.0b10.dist-info → baldertest-0.1.0b11.dist-info}/WHEEL +1 -1
  30. {baldertest-0.1.0b10.dist-info → baldertest-0.1.0b11.dist-info}/LICENSE +0 -0
  31. {baldertest-0.1.0b10.dist-info → baldertest-0.1.0b11.dist-info}/entry_points.txt +0 -0
  32. {baldertest-0.1.0b10.dist-info → baldertest-0.1.0b11.dist-info}/top_level.txt +0 -0
@@ -1,4 +1,6 @@
1
1
  from __future__ import annotations
2
+
3
+ import itertools
2
4
  from typing import List, Tuple, Generator, Dict, Union, Type, Callable, Iterable, TYPE_CHECKING
3
5
 
4
6
  import inspect
@@ -374,15 +376,14 @@ class FixtureManager:
374
376
  if cur_arg in ignore_attributes:
375
377
  continue
376
378
  # go to the most specific fixture, because more specific ones overwrite the more global ones
377
- for cur_possible_namespace in all_possible_namespaces:
378
- for cur_level in FixtureExecutionLevel:
379
- if cur_level not in self.current_tree_fixtures.keys():
380
- continue
381
- # filter only these fixtures that have the same namespace
382
- for cur_fixture_metadata in self.current_tree_fixtures[cur_level]:
383
- if (cur_fixture_metadata.namespace == cur_possible_namespace
384
- and cur_fixture_metadata.callable.__name__ == cur_arg):
385
- result_dict[cur_arg] = cur_fixture_metadata.retval
379
+ for cur_possible_namespace, cur_level in itertools.product(all_possible_namespaces, FixtureExecutionLevel):
380
+ if cur_level not in self.current_tree_fixtures.keys():
381
+ continue
382
+ # filter only these fixtures that have the same namespace
383
+ for cur_fixture_metadata in self.current_tree_fixtures[cur_level]:
384
+ if (cur_fixture_metadata.namespace == cur_possible_namespace
385
+ and cur_fixture_metadata.callable.__name__ == cur_arg):
386
+ result_dict[cur_arg] = cur_fixture_metadata.retval
386
387
  if cur_arg not in result_dict.keys():
387
388
  raise FixtureReferenceError(
388
389
  f"the argument `{cur_arg}` in fixture `{callable_func.__qualname__}` could not be resolved")
@@ -20,7 +20,7 @@ class IPv6Connection(Connection):
20
20
  """
21
21
 
22
22
 
23
- IPConnection = Connection.based_on(IPv4Connection, IPv6Connection)
23
+ IPConnection = Connection.based_on(IPv4Connection | IPv6Connection)
24
24
 
25
25
 
26
26
  @insert_into_tree(parents=[IPv4Connection, IPv6Connection])
@@ -44,4 +44,4 @@ class ICMPv6Connection(Connection):
44
44
  """
45
45
 
46
46
 
47
- ICMPConnection = Connection.based_on(ICMPv4Connection, ICMPv6Connection)
47
+ ICMPConnection = Connection.based_on(ICMPv4Connection | ICMPv6Connection)
@@ -20,7 +20,7 @@ class TcpIPv6Connection(Connection):
20
20
  """
21
21
 
22
22
 
23
- TcpConnection = Connection.based_on(TcpIPv4Connection, TcpIPv6Connection)
23
+ TcpConnection = Connection.based_on(TcpIPv4Connection | TcpIPv6Connection)
24
24
 
25
25
 
26
26
  @insert_into_tree(parents=[osi_3_network.IPv4Connection])
@@ -37,4 +37,4 @@ class UdpIPv6Connection(Connection):
37
37
  """
38
38
 
39
39
 
40
- UdpConnection = Connection.based_on(UdpIPv4Connection, UdpIPv6Connection)
40
+ UdpConnection = Connection.based_on(UdpIPv4Connection | UdpIPv6Connection)
_balder/routing_path.py CHANGED
@@ -79,17 +79,13 @@ class RoutingPath:
79
79
  if alternative_setup_device_cnns is None:
80
80
  setup_devices_cnns = []
81
81
  for cur_setup_device in device_mapping.values():
82
- cur_setup_device_abs_cnns = \
83
- DeviceController.get_for(cur_setup_device).get_all_absolute_connections()
84
- for _, cur_cnn_list in cur_setup_device_abs_cnns.items():
85
- for cur_cnn in cur_cnn_list:
86
- if cur_cnn not in setup_devices_cnns:
87
- setup_devices_cnns.append(cur_cnn)
88
-
89
- from_scenario_device = scenario_connection.from_device
90
- to_scenario_device = scenario_connection.to_device
91
- from_setup_device = device_mapping[from_scenario_device]
92
- to_setup_device = device_mapping[to_scenario_device]
82
+ for cur_cnn_list in DeviceController.get_for(cur_setup_device).get_all_absolute_connections().values():
83
+ setup_devices_cnns.extend(cur_cnn_list)
84
+ # remove duplicates
85
+ setup_devices_cnns = list(set(setup_devices_cnns))
86
+
87
+ from_setup_device = device_mapping[scenario_connection.from_device]
88
+ to_setup_device = device_mapping[scenario_connection.to_device]
93
89
 
94
90
  # contains a list with all routes that start and end correctly
95
91
  all_completed_routes = []
@@ -111,16 +107,14 @@ class RoutingPath:
111
107
  while len(all_possible_routes) > 0:
112
108
 
113
109
  # remove all routings that have a loop
114
- for cur_routing in all_possible_routes.copy():
115
- if cur_routing.has_loop():
116
- all_possible_routes.remove(cur_routing)
110
+ all_possible_routes = [route for route in all_possible_routes.copy() if not route.has_loop()]
117
111
 
118
- # remove all routings which do not work because they have the wrong connection type
119
- for cur_routing in all_possible_routes.copy():
120
- # check that one part connection matches the requirements of the given `scenario_connection`
121
- if not scenario_connection.contained_in(cur_routing.get_virtual_connection(), ignore_metadata=True):
122
- # the virtual connection doesn't match the requirement -> delete possibility
123
- all_possible_routes.remove(cur_routing)
112
+ # remove all not working routing because they have the wrong connection type, by checking that one part
113
+ # connection matches the requirements of the given `scenario_connection`
114
+ all_possible_routes = [
115
+ r for r in all_possible_routes
116
+ if scenario_connection.contained_in(r.get_virtual_connection(), ignore_metadata=True)
117
+ ]
124
118
 
125
119
  # move all completely routed connections to `all_completed_routes`
126
120
  for cur_routing in all_possible_routes.copy():
@@ -167,7 +161,7 @@ class RoutingPath:
167
161
  # ---------------------------------- PROPERTIES --------------------------------------------------------------------
168
162
 
169
163
  @property
170
- def elements(self) -> List[Connection, NodeGateway]:
164
+ def elements(self) -> List[Union[Connection, NodeGateway]]:
171
165
  """returns all elements that belongs to this routing path"""
172
166
  return self._routing_elems
173
167
 
@@ -269,7 +263,7 @@ class RoutingPath:
269
263
  """
270
264
  copied_elem = copy.copy(self)
271
265
  # also copy list reference
272
- copied_elem._routing_elems = self._routing_elems.copy()
266
+ copied_elem._routing_elems = self._routing_elems.copy() # pylint: disable=protected-access
273
267
  return copied_elem
274
268
 
275
269
  def append_element(self, elem: Union[Connection, NodeGateway]) -> None:
@@ -324,8 +318,7 @@ class RoutingPath:
324
318
  # todo
325
319
  pass
326
320
  # set metadata based on this routing
327
- virtual_connection.set_devices(from_device=self.start_device, to_device=self.end_device)
328
- virtual_connection.update_node_names(from_device_node_name=self.start_node_name,
329
- to_device_node_name=self.end_node_name)
321
+ virtual_connection.metadata.set_from(from_device=self.start_device, from_device_node_name=self.start_node_name)
322
+ virtual_connection.metadata.set_to(to_device=self.end_device, to_device_node_name=self.end_node_name)
330
323
 
331
324
  return virtual_connection
_balder/solver.py CHANGED
@@ -117,7 +117,7 @@ class Solver:
117
117
 
118
118
  # ---------------------------------- METHODS -----------------------------------------------------------------------
119
119
 
120
- def get_initial_mapping(self) -> List[Tuple[Type[Setup], Type[Scenario], Dict[Device, Device]]]:
120
+ def get_initial_mapping(self) -> List[Tuple[Type[Setup], Type[Scenario], Dict[Type[Device], Type[Device]]]]:
121
121
  """
122
122
  This method creates the initial amount of data for `self._mapping`. Only those elements are returned where the
123
123
  :meth:`Setup` class has more or the same amount of :meth:`Device`'s than the :meth:`Scenario` class.
_balder/testresult.py CHANGED
@@ -95,7 +95,7 @@ class BranchBodyResult(_Result):
95
95
  """
96
96
 
97
97
  def __init__(self, executor: BasicExecutor):
98
- from _balder.executor.testcase_executor import TestcaseExecutor
98
+ from _balder.executor.testcase_executor import TestcaseExecutor # pylint: disable=import-outside-toplevel
99
99
 
100
100
  if isinstance(executor, TestcaseExecutor):
101
101
  raise TypeError("testcase executors are not allowed to use in `BranchBodyResult`")
_balder/utils.py CHANGED
@@ -1,5 +1,5 @@
1
1
  from __future__ import annotations
2
- from typing import List, Type, Tuple, Union, Literal
2
+ from typing import List, Type, Tuple, Union, Literal, TYPE_CHECKING
3
3
 
4
4
  import sys
5
5
  import inspect
@@ -8,6 +8,10 @@ from _balder.exceptions import InheritanceError
8
8
 
9
9
  MethodLiteralType = Literal["function", "classmethod", "staticmethod", "instancemethod"]
10
10
 
11
+ if TYPE_CHECKING:
12
+ from _balder.connection import Connection
13
+ from _balder.cnnrelations.base_connection_relation import BaseConnectionRelationT
14
+
11
15
 
12
16
  def get_scenario_inheritance_list_of(scenario: Type[Scenario]) -> List[Type[Scenario]]:
13
17
  """
@@ -45,6 +49,28 @@ def get_class_that_defines_method(meth):
45
49
  return None # not required since None would have been implicitly returned anyway
46
50
 
47
51
 
52
+ def cnn_type_check_and_convert(elem: Union[Connection, Type[Connection], BaseConnectionRelationT]) \
53
+ -> Union[Connection, BaseConnectionRelationT]:
54
+ """
55
+ converts possible type object to instance and checks if the element is a connection type
56
+
57
+ :param elem: the connection object to be converted/checked
58
+ """
59
+
60
+ from .connection import Connection # pylint: disable=import-outside-toplevel
61
+ from .cnnrelations.and_connection_relation import AndConnectionRelation # pylint: disable=import-outside-toplevel
62
+ from .cnnrelations.or_connection_relation import OrConnectionRelation # pylint: disable=import-outside-toplevel
63
+
64
+ if isinstance(elem, type):
65
+ if issubclass(elem, Connection):
66
+ return elem()
67
+ elif isinstance(elem, (Connection, AndConnectionRelation, OrConnectionRelation)):
68
+ # okay
69
+ return elem
70
+ raise TypeError(f'object needs to be a `Connection`, a connection relation or a `Type[Connection]` - no '
71
+ f'`{elem}`')
72
+
73
+
48
74
  def inspect_method(func) -> Tuple[Union[type, None], MethodLiteralType]:
49
75
  """
50
76
  This helper function returns the related class and the type of the method (`staticmethod`, `classmethod`,
@@ -1,6 +1,6 @@
1
- Metadata-Version: 2.1
1
+ Metadata-Version: 2.2
2
2
  Name: baldertest
3
- Version: 0.1.0b10
3
+ Version: 0.1.0b11
4
4
  Summary: balder: reusable scenario based test framework
5
5
  Home-page: https://docs.balder.dev
6
6
  Author: Max Stahlschmidt and others
@@ -1,48 +1,53 @@
1
1
  _balder/__init__.py,sha256=Qk4wkVInPlXLFV36Yco5K7PDawJoeeWQVakzj6g5pmA,195
2
- _balder/_version.py,sha256=VMQ9RsEJj3xjqPNgKf0AjBlaGisX_Y8yqdE9FG2S_e4,414
2
+ _balder/_version.py,sha256=fgSwP5K0NJOmhZpDfiqSUfFysLGqMES9LZQlLZ92X9Q,414
3
3
  _balder/balder_plugin.py,sha256=EQzJP1dwwVDydhMLJtAmTCXOczlDuXBJur05lalmK_k,3136
4
4
  _balder/balder_session.py,sha256=ezT86gC_VzPQZOQ4r5qQ75IEm6rXZHiIpEqZDczkRsE,16149
5
5
  _balder/balder_settings.py,sha256=U96PVep7dGSaTXrMfeZMYf6oCIcEDPEqrBlFcoX476s,582
6
- _balder/collector.py,sha256=7aIxU2cUDKNHDUyU8yzoUrkC1CqVijTOJbOQqLe6T9w,48043
7
- _balder/connection.py,sha256=MNazK97CIEJCA4o1krjKjtilVhOYMWD8TZT0YT5nCJs,71778
8
- _balder/decorator_connect.py,sha256=TvyJNIslBAYVQWhsfSeFgXKp_DP7sZF1BmcP6RhIdKo,5988
6
+ _balder/collector.py,sha256=uymS7CwymrZNxzKDG9_kPOK7HGKtnX3FNwX7Dk2LuC0,47567
7
+ _balder/connection.py,sha256=j6wI7m3h23q9aCApRDmLyeerxUXQ0j267v4FgjP4p6E,41770
8
+ _balder/connection_metadata.py,sha256=FrTj6NNBBUl6QuFx8DWy6HRueufXB93WTBkdc41uFaE,13632
9
+ _balder/decorator_connect.py,sha256=67CojFZH9dZ_qwnvb6rkqxe3adtQlgHVi_0etmP5Hyw,5881
9
10
  _balder/decorator_covered_by.py,sha256=Y6WMUuyn_uvFkjGfbts8OE5Bsir_7LTRB-jxYGaYk4Y,4069
10
11
  _balder/decorator_fixture.py,sha256=vVd3pXVWEaaVP2rxgW4nKoskmDByafHuSFHC0v_LMoI,1045
11
- _balder/decorator_for_vdevice.py,sha256=HvK8-cVVUojlVYk0hh8F03cMGsiVfpP99IQbIgJOS5Q,6506
12
- _balder/decorator_gateway.py,sha256=w6-1UFh8ydt81U6ymGxeBUFAIh2aaZ3U9pHpEANMlj8,1284
12
+ _balder/decorator_for_vdevice.py,sha256=adEzLc0otuvCpj2TntuJWMQX_mq2oLtYRXFFbIhQVYo,5917
13
+ _balder/decorator_gateway.py,sha256=Qa8Cjm50I1OSHhADU8LmeSQh2QSuH9qGRuedWAlLfu4,1381
13
14
  _balder/decorator_insert_into_tree.py,sha256=l3nkaTzKzt3TIFYLJoehYwT3xxRRNz83fq8JhvR6DfQ,2069
14
15
  _balder/decorator_parametrize.py,sha256=lHxADbHZVnWOhvQTUQgaYU1hQ8NF3ghMU57Z3r_oWVE,912
15
16
  _balder/decorator_parametrize_by_feature.py,sha256=r0iySfWcFxXIVu0BNWIRU_E6_o2-lSzpL5aUifoqiyU,1381
16
17
  _balder/device.py,sha256=5O3tqj_iLKfHb5Zi_viJ76VH82cMOzX58OzRrMRRv0k,833
17
18
  _balder/exceptions.py,sha256=_zQFUK4kYKaVGUtH9IcH0q-GOyBb9qzqSU6BOsUnG7Y,4375
18
19
  _balder/exit_code.py,sha256=P0oFWKfjMo36Frv13ADRcm8eSPN3kE-WmZBE9qZJHdA,513
19
- _balder/feature.py,sha256=B3yPc-WZwLt1Q4dO9s2j9g1MBTcMBjn6oWoLnRgrwSs,3845
20
+ _balder/feature.py,sha256=Da6BP4H1X0eKm0DyQKRdSnrQeqV8QeCFE4JybI_wYSc,3888
20
21
  _balder/fixture_definition_scope.py,sha256=0MP0U2fcM9iS28Ytkfuu3TzZ4cUNG5u81GBWGBm9ucw,709
21
22
  _balder/fixture_execution_level.py,sha256=-y7-4bihTSMzhYvM2O1Qc40ovyvW7SP25rHvWHZpD6g,655
22
- _balder/fixture_manager.py,sha256=p5FzklRTlgN0UHbFkLru2M664y17oAafvKQwNqaEzKk,29240
23
+ _balder/fixture_manager.py,sha256=RjAQjpvBBGy-loCVCHlkArvyr35rr4shNWUpeY-0QP4,29227
23
24
  _balder/fixture_metadata.py,sha256=4vls8-I0bsRxLDNbD5Du4Cm2ZPYwxqfuSeEY6D654jE,872
24
25
  _balder/node_gateway.py,sha256=64mv7Nx82JVknnQ09UXC-AcdDl6i_OB6NOsq_uBxeYo,4710
25
26
  _balder/parametrization.py,sha256=SnaGeGpf7-5H-y107CBDx5V-onX-oiLS1KU1IquZwcU,2678
26
27
  _balder/plugin_manager.py,sha256=Ev2jnx4NtFHDsZ3C6h0HrJtQisqLO-V34JRM3wzTnFM,6921
27
28
  _balder/previous_executor_mark.py,sha256=gwpGu7d-kwPzQT8CmaPfuEG6fess2Upf5Q-zX6Oi6NY,835
28
- _balder/routing_path.py,sha256=6MJkhzBTHow2ESXzKQ2otwRFbPcKhLTYVy-zh7c5HeE,17172
29
+ _balder/routing_path.py,sha256=cHDjIIZbCeFHe_JX3kp3XADg3CApxGaKwTYQAPpCYZA,16767
29
30
  _balder/scenario.py,sha256=ATowBUl2HYQBmJHZ-eBpliqjPsWPnZAme9kwIeX3Tak,840
30
31
  _balder/setup.py,sha256=zSgtzNIWTVBjiZ5mn-qfpqIAnP3Im73t3Lqoaw0gWEI,763
31
- _balder/solver.py,sha256=S4FDYY6q4s5wJeQlRVZpa_DXXVxAKsbQkspR5EX3OCA,13109
32
- _balder/testresult.py,sha256=byJD3F84TNH40k30pjnxeLHXAAE-lqbVlk1JOSBtdNo,6783
32
+ _balder/solver.py,sha256=NbpAdvrGWdJTY6eZmNZFr7YDubyggY0yW64rDB3JkT0,13121
33
+ _balder/testresult.py,sha256=Tm5m0Rnpn3JgdQp22izsMIPoVxRU0ngJjUuS73eRboM,6826
33
34
  _balder/unmapped_vdevice.py,sha256=oKr01YVTLViWtZkYz8kx8ccTx-KmwgNrHuQqqD4eLQw,513
34
- _balder/utils.py,sha256=2kcX6bZIJW9Z8g-Hv0ue2mdOLBQYq4T2XSZpH2in1MQ,3092
35
+ _balder/utils.py,sha256=7bfjap7KKpFaRFusCimMpk-UYR4X1LR-pdA_q7DN28E,4271
35
36
  _balder/vdevice.py,sha256=fc2xuMnTuN1RyfWh9mqFgLdSO9yGA75eERobTXUQ9JA,215
37
+ _balder/cnnrelations/__init__.py,sha256=LDnjVlJmclxmfKs3snKsK2RDMg8N7Xc6OeDVioxHR58,187
38
+ _balder/cnnrelations/and_connection_relation.py,sha256=mrio_jyMuJ2VmJtiFAKQ8BMqjHYiKIpWmuc4KpgcIMM,8048
39
+ _balder/cnnrelations/base_connection_relation.py,sha256=s9DufjB9EHkqVUHhjDurMGiPxtTte-yvwCQ2nFAHZeY,11402
40
+ _balder/cnnrelations/or_connection_relation.py,sha256=hPqC86qXRRgaOA6SeIzGnqxY6zd9OJ1KU5jwKbERo7s,2730
36
41
  _balder/console/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
37
42
  _balder/console/balder.py,sha256=rF1qgW6h35hKqGijGbZgGD2_y0Sd9Mbs_EXF2v_EUCk,2581
38
43
  _balder/controllers/__init__.py,sha256=UNb6QzMj4TqPI15OSvXyUJlA-NSai0CKkQhV5JIsba0,570
39
44
  _balder/controllers/base_device_controller.py,sha256=g-vY2SqKFUC9yGOvHLfbdmILT3sK2YyaWKSfvTRcC0o,3174
40
45
  _balder/controllers/controller.py,sha256=XGRE5LKWxxftEf-bZODvKxXwULu09iG131wMwRoz4Fk,803
41
- _balder/controllers/device_controller.py,sha256=6ndZmFdC1XEQ540CQxHEDa4ibSZhe94iZPZ0ZtmnFos,23477
42
- _balder/controllers/feature_controller.py,sha256=jaIbKbiEOdYRpYWuGdaByQBtlThK-u7OAr_xYhAfnEg,43737
43
- _balder/controllers/normal_scenario_setup_controller.py,sha256=bWR8GOGoRQ0B_sbLSX-u9IjHzvC3xcYRRSJfvQPQ-aY,21928
44
- _balder/controllers/scenario_controller.py,sha256=CNJikLNNYECs1vFyJDG_dwJwtaT_o2kziFeXQzVSQuE,22405
45
- _balder/controllers/setup_controller.py,sha256=iNIMFjawYJWaSToUUfpmRK6ssycPyZGNlcvms8c7GKM,7135
46
+ _balder/controllers/device_controller.py,sha256=MXX_Jr7MFhsEq-2GzneA0c09X-wdcPGEPfiYLlrtiSc,23985
47
+ _balder/controllers/feature_controller.py,sha256=ve7t9zwhkPP-L_LZbKghdD6An2LO2TYWErAfN9dfRdQ,41405
48
+ _balder/controllers/normal_scenario_setup_controller.py,sha256=w7VBxnrFu7_NBeTRD-XZBRflBjA8MPD_aL0DTh7w_pU,21924
49
+ _balder/controllers/scenario_controller.py,sha256=sfCpR4NfWgEIksVV3dP8gko95vu_6FBMseU5Pb_CBZk,22354
50
+ _balder/controllers/setup_controller.py,sha256=1jX_K_7iHQ2jWBZv-urC0_9lCi4RjrwxvtW7oWMVb7s,7082
46
51
  _balder/controllers/vdevice_controller.py,sha256=6-PidCKgvUteZVJsbGkKX69f3cYYYnolONl5Gja16W8,5777
47
52
  _balder/executor/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
48
53
  _balder/executor/basic_executable_executor.py,sha256=Mta7a9stCiKPMQ6Hafe4jhlhLSeP6Bk7EWIPXUzrwNE,5135
@@ -51,15 +56,15 @@ _balder/executor/executor_tree.py,sha256=I3zy5qOrQWoT3_3YnGDvGvfJE829J0X9xT7WtSr
51
56
  _balder/executor/parametrized_testcase_executor.py,sha256=uR_CwdIRxiL1vqJP2P2htc0JPPevMGarIQs7cqHNzmU,2106
52
57
  _balder/executor/scenario_executor.py,sha256=3-CkamjyIatDxS3INcYGTXDOtGR-bokcMLaMxC10Ytg,11344
53
58
  _balder/executor/setup_executor.py,sha256=Icn-b3MHLMCGGOIGAPB01KWC6LkkZ-ikD_0XqcQjK0Y,8570
54
- _balder/executor/testcase_executor.py,sha256=EZAPus0hsWJwHlqc7rEyULV8Ue2pyCwoOR1jLsbIQGA,7816
59
+ _balder/executor/testcase_executor.py,sha256=xSOjDexvcUET6vfwn1ogOs1Xi-9yeCt2AsnivXZkTao,7702
55
60
  _balder/executor/unresolved_parametrized_testcase_executor.py,sha256=nwScqqiJD7Clkk3YcrPqXJnGEWjvunAlUYAwYvpUI2s,9075
56
- _balder/executor/variation_executor.py,sha256=6wApsXwzt7dxZkL6hTIMYVL5NQX7dW8IubgtU5AJPo4,54314
61
+ _balder/executor/variation_executor.py,sha256=lfBVnGC5O8DeS8e9rJQjDlRauAMa7Vrhtcd7Smrwagg,53649
57
62
  _balder/objects/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
58
63
  _balder/objects/connections/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
59
64
  _balder/objects/connections/osi_1_physical.py,sha256=74lKWJd6ETEtvNXH0_dmTbkZlStJ_af218pQkUht0aA,2189
60
65
  _balder/objects/connections/osi_2_datalink.py,sha256=0k1imyx6x_YeSvtf5CG27rcLeDzpmz76DUbjWyIGJqg,875
61
- _balder/objects/connections/osi_3_network.py,sha256=qbDAIdgvQu7gs_BTYKeWug3bSWLVDPX2-W57I5Tygw0,1173
62
- _balder/objects/connections/osi_4_transport.py,sha256=dXp4pbEK6VW9FaKQbH1utEEfut-XwlwEX0h2xVSts3k,981
66
+ _balder/objects/connections/osi_3_network.py,sha256=7s4gEYxR38LE3yUTPoDaYT6kJiWBQdcU9OBFO29E2j0,1175
67
+ _balder/objects/connections/osi_4_transport.py,sha256=9INPME_TWiZQ9rXUzIV__yOPsLQXcdf-7F336WijFOo,983
63
68
  _balder/objects/connections/osi_5_session.py,sha256=cMSIBMGk80VSgmFdqWaYI3HQLOvJHi4uTaqDMqWaU5Q,390
64
69
  _balder/objects/connections/osi_6_presentation.py,sha256=zCQXocR14CC8rFONFHUethvsoHh4b92e0CC3nLDqNZs,394
65
70
  _balder/objects/connections/osi_7_application.py,sha256=VPTlKKCEd9FFusce2wVbScIBPzpikPQtpSPE7PHxMUI,2304
@@ -70,9 +75,9 @@ balder/connections.py,sha256=H6rf7UsiVY_FeZLngZXCT9WDw9cQqpiDiPbz_0J4yjM,2331
70
75
  balder/devices.py,sha256=zupHtz8yaiEjzR8CrvgZU-RzsDQcZFeN5mObfhtjwSw,173
71
76
  balder/exceptions.py,sha256=iaR4P2L7K3LggYSDnjCGLheZEaGgnMilxDQdoYD5KHQ,1954
72
77
  balder/parametrization.py,sha256=R8U67f6DEnXdDc9cGOgS8yFTEAfhglv1v9mnAUAExUg,150
73
- baldertest-0.1.0b10.dist-info/LICENSE,sha256=Daz9qTpqbiq-klWb2Q9lYOmn3rJ5oIQnbs62sGcqOZ4,1084
74
- baldertest-0.1.0b10.dist-info/METADATA,sha256=CxZJgsDYz6akqzwst785srtsXfO8F0PylLbV1Ylujao,15784
75
- baldertest-0.1.0b10.dist-info/WHEEL,sha256=R06PA3UVYHThwHvxuRWMqaGcr-PuniXahwjmQRFMEkY,91
76
- baldertest-0.1.0b10.dist-info/entry_points.txt,sha256=hzqu_nrMKTCi5IJqzS1fhIXWEiL7mTGZ-kgj2lUYlRU,65
77
- baldertest-0.1.0b10.dist-info/top_level.txt,sha256=RUkIBkNLqHMemx2C9aEpoS65dpqb6_jU-oagIPxGQEA,15
78
- baldertest-0.1.0b10.dist-info/RECORD,,
78
+ baldertest-0.1.0b11.dist-info/LICENSE,sha256=Daz9qTpqbiq-klWb2Q9lYOmn3rJ5oIQnbs62sGcqOZ4,1084
79
+ baldertest-0.1.0b11.dist-info/METADATA,sha256=zFBAEOFb5RiSNIk31ATneqnYvTrqD6d-oLZjG_vOklU,15784
80
+ baldertest-0.1.0b11.dist-info/WHEEL,sha256=In9FTNxeP60KnTkGw7wk6mJPYd_dQSjEZmXdBdMCI-8,91
81
+ baldertest-0.1.0b11.dist-info/entry_points.txt,sha256=hzqu_nrMKTCi5IJqzS1fhIXWEiL7mTGZ-kgj2lUYlRU,65
82
+ baldertest-0.1.0b11.dist-info/top_level.txt,sha256=RUkIBkNLqHMemx2C9aEpoS65dpqb6_jU-oagIPxGQEA,15
83
+ baldertest-0.1.0b11.dist-info/RECORD,,
@@ -1,5 +1,5 @@
1
1
  Wheel-Version: 1.0
2
- Generator: setuptools (75.5.0)
2
+ Generator: setuptools (75.8.0)
3
3
  Root-Is-Purelib: true
4
4
  Tag: py3-none-any
5
5