Download Install Tutorial Docs FAQ Tools WikiLicense Team IRC Planet Involvement Shop Book

Changeset 1272

Show
Ignore:
Timestamp:
08/23/06 15:10:29
Author:
fumanchu
Message:

Fixes for Python 2.5rc1:

  1. When the WSGI server socket is closed, socket.accept now fails with a socket.error "Socket operation on non-socket" (see _cpwsgiserver.py diff).
  2. The output of Response.SimpleCookie? now has no trailing semicolon (see test_core.py diff).
  3. Some attributes of unittest.TestCase? moved from double-underscore to single (see webtest.py diff).
Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • trunk/cherrypy/_cpwsgiserver.py

    r1265 r1272  
    547547            return 
    548548        except socket.error, x: 
    549             if x.args[1] == "Bad file descriptor": 
     549            if x.args[1] in ("Bad file descriptor", 
     550                             "Socket operation on non-socket"): 
    550551                # Our socket was closed 
    551552                return 
  • trunk/cherrypy/test/test_core.py

    r1271 r1272  
    858858     
    859859    def testCookies(self): 
    860         self.getPage("/cookies/single?name=First", 
    861                      [('Cookie', 'First=Dinsdale;')]) 
    862         self.assertHeader('Set-Cookie', 'First=Dinsdale;') 
    863          
    864         self.getPage("/cookies/multiple?names=First&names=Last", 
    865                      [('Cookie', 'First=Dinsdale; Last=Piranha;'), 
    866                       ]) 
    867         self.assertHeader('Set-Cookie', 'First=Dinsdale;') 
    868         self.assertHeader('Set-Cookie', 'Last=Piranha;') 
     860        import sys 
     861        if sys.version_info >= (2, 5): 
     862            self.getPage("/cookies/single?name=First", 
     863                         [('Cookie', 'First=Dinsdale;')]) 
     864            self.assertHeader('Set-Cookie', 'First=Dinsdale') 
     865             
     866            self.getPage("/cookies/multiple?names=First&names=Last", 
     867                         [('Cookie', 'First=Dinsdale; Last=Piranha;'), 
     868                          ]) 
     869            self.assertHeader('Set-Cookie', 'First=Dinsdale') 
     870            self.assertHeader('Set-Cookie', 'Last=Piranha') 
     871        else: 
     872            self.getPage("/cookies/single?name=First", 
     873                         [('Cookie', 'First=Dinsdale;')]) 
     874            self.assertHeader('Set-Cookie', 'First=Dinsdale;') 
     875             
     876            self.getPage("/cookies/multiple?names=First&names=Last", 
     877                         [('Cookie', 'First=Dinsdale; Last=Piranha;'), 
     878                          ]) 
     879            self.assertHeader('Set-Cookie', 'First=Dinsdale;') 
     880            self.assertHeader('Set-Cookie', 'Last=Piranha;') 
    869881     
    870882    def testMaxRequestSize(self): 
  • trunk/cherrypy/test/webtest.py

    r1257 r1272  
    206206        sys.exit() 
    207207     
    208     def __call__(self, result=None): 
    209         if result is None
    210             result = self.defaultTestResult() 
    211         result.startTest(self
    212         testMethod = getattr(self, self._TestCase__testMethodName
    213         try: 
     208    if sys.version_info >= (2, 5): 
     209        def __call__(self, result=None)
     210            if result is None: 
     211                result = self.defaultTestResult(
     212            result.startTest(self
     213            testMethod = getattr(self, self._testMethodName) 
    214214            try: 
    215                 self.setUp() 
    216             except (KeyboardInterrupt, SystemExit): 
    217                 raise 
    218             except: 
    219                 result.addError(self, self._TestCase__exc_info()) 
    220                 return 
    221              
    222             ok = 0 
     215                try: 
     216                    self.setUp() 
     217                except (KeyboardInterrupt, SystemExit): 
     218                    raise 
     219                except: 
     220                    result.addError(self, self._exc_info()) 
     221                    return 
     222                 
     223                ok = 0 
     224                try: 
     225                    testMethod() 
     226                    ok = 1 
     227                except self.failureException: 
     228                    result.addFailure(self, self._exc_info()) 
     229                except (KeyboardInterrupt, SystemExit): 
     230                    raise 
     231                except: 
     232                    result.addError(self, self._exc_info()) 
     233                 
     234                try: 
     235                    self.tearDown() 
     236                except (KeyboardInterrupt, SystemExit): 
     237                    raise 
     238                except: 
     239                    result.addError(self, self._exc_info()) 
     240                    ok = 0 
     241                if ok: 
     242                    result.addSuccess(self) 
     243            finally: 
     244                result.stopTest(self) 
     245    else: 
     246        def __call__(self, result=None): 
     247            if result is None: 
     248                result = self.defaultTestResult() 
     249            result.startTest(self) 
     250            testMethod = getattr(self, self._TestCase__testMethodName) 
    223251            try: 
    224                 testMethod() 
    225                 ok = 1 
    226             except self.failureException: 
    227                 result.addFailure(self, self._TestCase__exc_info()) 
    228             except (KeyboardInterrupt, SystemExit): 
    229                 raise 
    230             except: 
    231                 result.addError(self, self._TestCase__exc_info()) 
    232              
    233             try: 
    234                 self.tearDown() 
    235             except (KeyboardInterrupt, SystemExit): 
    236                 raise 
    237             except: 
    238                 result.addError(self, self._TestCase__exc_info()) 
     252                try: 
     253                    self.setUp() 
     254                except (KeyboardInterrupt, SystemExit): 
     255                    raise 
     256                except: 
     257                    result.addError(self, self._TestCase__exc_info()) 
     258                    return 
     259                 
    239260                ok = 0 
    240             if ok: 
    241                 result.addSuccess(self) 
    242         finally: 
    243             result.stopTest(self) 
     261                try: 
     262                    testMethod() 
     263                    ok = 1 
     264                except self.failureException: 
     265                    result.addFailure(self, self._TestCase__exc_info()) 
     266                except (KeyboardInterrupt, SystemExit): 
     267                    raise 
     268                except: 
     269                    result.addError(self, self._TestCase__exc_info()) 
     270                 
     271                try: 
     272                    self.tearDown() 
     273                except (KeyboardInterrupt, SystemExit): 
     274                    raise 
     275                except: 
     276                    result.addError(self, self._TestCase__exc_info()) 
     277                    ok = 0 
     278                if ok: 
     279                    result.addSuccess(self) 
     280            finally: 
     281                result.stopTest(self) 
    244282     
    245283    def assertStatus(self, status, msg=None): 

Hosted by WebFaction

Log in as guest/cpguest to create tickets