From 3506d5965876b5ff892d482373272d10c5908aa3 Mon Sep 17 00:00:00 2001 From: ofiryanai Date: Sun, 19 Jul 2026 11:06:36 +0300 Subject: [PATCH] env: allow substituting Env subclass via Defaults.env_class Co-Authored-By: Claude Opus 4.8 (1M context) --- RLTest/env.py | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/RLTest/env.py b/RLTest/env.py index eb630cc..ed6e68d 100644 --- a/RLTest/env.py +++ b/RLTest/env.py @@ -154,6 +154,8 @@ class Defaults: redis_config_file = None dualTLS = False startup_grace_secs = 0.1 + # Lets a consumer substitute a subclass for bare Env(...) construction (e.g. enterprise test envs). + env_class = None def getKwargs(self): kwargs = { @@ -188,6 +190,11 @@ class Env: 'useRdbPreamble', 'forceTcp', 'enableDebugCommand', 'enableProtectedConfigs', 'enableModuleCommand', 'protocol', 'password'] + def __new__(cls, *args, **kwargs): + if cls is Env and Defaults.env_class is not None: + cls = Defaults.env_class + return super().__new__(cls) + def compareEnvs(self, env): if env is None: return False