Add cls.name when registering experiments (#136)

This commit is contained in:
PearsonWhite
2025-09-11 13:21:02 -04:00
committed by GitHub
parent 0a8b0ce735
commit acdafe0586
4 changed files with 10 additions and 15 deletions

View File

@@ -62,11 +62,9 @@ class NimRegressionNodes(BaseExperiment, BaseModel):
help="For nimlibp2p tests only. The delay before nodes activate in string format (eg. 1hr20min)",
)
@staticmethod
def add_parser(subparsers) -> None:
subparser = subparsers.add_parser(
"nimlibp2p-regression-nodes", help="Run a regression_nodes test using waku."
)
@classmethod
def add_parser(cls, subparsers) -> None:
subparser = subparsers.add_parser(cls.name, help="Run a regression_nodes test using waku.")
BaseExperiment.add_args(subparser)
NimRegressionNodes.add_args(subparser)

View File

@@ -15,11 +15,9 @@ logger = logging.getLogger(__name__)
class RegressionNodes:
"""Proxy for running waku-regression-nodes or nim-regression-nodes."""
@staticmethod
def add_parser(subparsers) -> None:
regression_nodes = subparsers.add_parser(
"regression-nodes", help="Run a regression_nodes test."
)
@classmethod
def add_parser(cls, subparsers) -> None:
regression_nodes = subparsers.add_parser(cls.name, help="Run a regression_nodes test.")
regression_nodes.add_argument(
"--type", type=str, choices=["waku", "nim"], required=True, help=""
)

View File

@@ -34,11 +34,9 @@ class WakuRegressionNodes(BaseExperiment, BaseModel):
deployment_dir: str = Field(default=Path(os.path.dirname(__file__)).parent.parent)
@staticmethod
def add_parser(subparsers) -> None:
subparser = subparsers.add_parser(
"waku-regression-nodes", help="Run a regression_nodes test using waku."
)
@classmethod
def add_parser(cls, subparsers) -> None:
subparser = subparsers.add_parser(cls.name, help="Run a regression_nodes test using waku.")
BaseExperiment.add_args(subparser)
def _build(

View File

@@ -102,6 +102,7 @@ def experiment(name, **metadata):
metadata["module_path"] = sys.modules[cls.__module__].__file__
exp_name = name if name is not None else cls.__name__
registry.add(exp_name, cls, **metadata)
cls.name = exp_name
return cls
return decorator