Add the __contains__ function to the rtevalCfgSection class to make "in" function correctly. For example in cyclictest.py, self.__cfg is not a dictionary, it is an instance of the rtevalCfgSection class, therefore key in self.__cfg does not work as expected. In order to make sure this is fixed everywhere, instead of comparing to self.__cfg.keys() everywhere this is used, implement the __contains__ function so that "in" works as expected. This bug was introduced by the commit fd3b732f714d ("rteval: 2to3 transformations") Reported-by: Atsushi Nemoto <atsushi.nemoto@xxxxxxxxxx> Signed-off-by: John Kacur <jkacur@xxxxxxxxxx> --- rteval/rtevalConfig.py | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/rteval/rtevalConfig.py b/rteval/rtevalConfig.py index 578aaa3ab58f..b6fccc45ab7f 100644 --- a/rteval/rtevalConfig.py +++ b/rteval/rtevalConfig.py @@ -126,6 +126,10 @@ class rtevalCfgSection: return self.__cfgdata[key] return None + def __contains__(self, key): + if key in self.__cfgdata.keys(): + return self.__cfgdata[key] + return None def items(self): return list(self.__cfgdata.items()) -- 2.31.1