(self, test, result)
| 140 | ################################ |
| 141 | |
| 142 | def _handleClassSetUp(self, test, result): |
| 143 | previousClass = getattr(result, '_previousTestClass', None) |
| 144 | currentClass = test.__class__ |
| 145 | if currentClass == previousClass: |
| 146 | return |
| 147 | if result._moduleSetUpFailed: |
| 148 | return |
| 149 | if getattr(currentClass, "__unittest_skip__", False): |
| 150 | return |
| 151 | |
| 152 | failed = False |
| 153 | try: |
| 154 | currentClass._classSetupFailed = False |
| 155 | except TypeError: |
| 156 | # test may actually be a function |
| 157 | # so its class will be a builtin-type |
| 158 | pass |
| 159 | |
| 160 | setUpClass = getattr(currentClass, 'setUpClass', None) |
| 161 | doClassCleanups = getattr(currentClass, 'doClassCleanups', None) |
| 162 | if setUpClass is not None: |
| 163 | _call_if_exists(result, '_setupStdout') |
| 164 | try: |
| 165 | try: |
| 166 | setUpClass() |
| 167 | except Exception as e: |
| 168 | if isinstance(result, _DebugResult): |
| 169 | raise |
| 170 | failed = True |
| 171 | try: |
| 172 | currentClass._classSetupFailed = True |
| 173 | except TypeError: |
| 174 | pass |
| 175 | className = util.strclass(currentClass) |
| 176 | self._createClassOrModuleLevelException(result, e, |
| 177 | 'setUpClass', |
| 178 | className) |
| 179 | if failed and doClassCleanups is not None: |
| 180 | doClassCleanups() |
| 181 | for exc_info in currentClass.tearDown_exceptions: |
| 182 | self._createClassOrModuleLevelException( |
| 183 | result, exc_info[1], 'setUpClass', className, |
| 184 | info=exc_info) |
| 185 | finally: |
| 186 | _call_if_exists(result, '_restoreStdout') |
| 187 | |
| 188 | def _get_previous_module(self, result): |
| 189 | previousModule = None |
no test coverage detected