|
@@ -495,21 +495,11 @@ class BaseState(Base, ABC, extra=pydantic.Extra.allow):
|
|
|
if cls.get_name() in set(
|
|
|
c.get_name() for c in parent_state.class_subclasses
|
|
|
):
|
|
|
- if is_testing_env():
|
|
|
- # Clear existing subclass with same name when app is reloaded via
|
|
|
- # utils.prerequisites.get_app(reload=True)
|
|
|
- parent_state.class_subclasses = set(
|
|
|
- c
|
|
|
- for c in parent_state.class_subclasses
|
|
|
- if c.get_name() != cls.get_name()
|
|
|
- )
|
|
|
- else:
|
|
|
- # During normal operation, subclasses cannot have the same name, even if they are
|
|
|
- # defined in different modules.
|
|
|
- raise StateValueError(
|
|
|
- f"The substate class '{cls.get_name()}' has been defined multiple times. "
|
|
|
- "Shadowing substate classes is not allowed."
|
|
|
- )
|
|
|
+ # This should not happen, since we have added module prefix to state names in #3214
|
|
|
+ raise StateValueError(
|
|
|
+ f"The substate class '{cls.get_name()}' has been defined multiple times. "
|
|
|
+ "Shadowing substate classes is not allowed."
|
|
|
+ )
|
|
|
# Track this new subclass in the parent state's subclasses set.
|
|
|
parent_state.class_subclasses.add(cls)
|
|
|
|