def run_class(self, cls):
        """Run a container class inside a module.

        The class is run as if it were a module, using the classes containing
        module. The class is just a container, and the run method should be a
        static method or class method.

        Arguments:
            class with run method:
                A class object with a run() method that takes a configuration
                object as it's single parameter.

        Returns:
            The return value of the class's run() method, or FAILED if the
            module raised an exception.
        """
        rpt = self.config.report
        cls.test_name = ".".join([cls.__module__, cls.__name__])
        ID = get_module_version(sys.modules[cls.__module__])
        rpt.add_message("MODULEVERSION", ID)
        rpt.add_message("USECASESTARTTIME", timelib.now())
        try:
            rv = self.run_object(cls)
        except KeyboardInterrupt:
            rpt.add_message("MODULEENDTIME", timelib.now())
            rpt.incomplete("Module aborted by user.")
            raise
        except:
            ex, val, tb = sys.exc_info()
            if self.config.flags.DEBUG:
                from pycopia import debugger
                debugger.post_mortem(tb, ex, val)
            rpt.add_message("MODULEENDTIME", timelib.now())
            rpt.incomplete((ex, val) % "Test container exception: %s (%s)")
            return constants.INCOMPLETE
        else:
            rpt.add_message("MODULEENDTIME", timelib.now())
            return rv
dataset/ETHPy150Open kdart/pycopia/QA/pycopia/QA/testrunner.py/TestRunner.run_class/swapped operands of `%`