On Tue, 28 Mar 2006 22:29:13 -0700, David Reid <dreid@wolfwood.twistedmatrix.com> wrote:
Author: dreid Date: Tue Mar 28 22:29:11 2006 New Revision: 16495
Modified: branches/childNotFound-1596/twisted/web2/test/test_cgi.py Log: test that scripts wrapped in a CGIDirectory resource actually execute
Modified: branches/childNotFound-1596/twisted/web2/test/test_cgi.py ============================================================================== --- branches/childNotFound-1596/twisted/web2/test/test_cgi.py (original) +++ branches/childNotFound-1596/twisted/web2/test/test_cgi.py Tue Mar 28 22:29:11 2006 @@ -161,7 +161,7 @@
self.failUnless(isinstance(resource, (twcgi.CGIScript,)))
- def testAnotherDirectory(self): + def testSubDirectory(self): resource, segments = self.root.locateChild(None, ('directory', 'paths', 'that', @@ -170,4 +170,46 @@
self.failUnless(isinstance(resource, twcgi.CGIDirectory))
- + def createScript(self, filename): + cgiFile = open(filename, 'wt') + cgiFile.write("#!%s\n\n%s" % (sys.executable, + DUMMY_CGI)) + cgiFile.close() + os.chmod(filename, 0700) + + def testScriptsExecute(self): + cgiBinDir = os.path.abspath(self.mktemp()) + os.mkdir(cgiBinDir) + root = twcgi.CGIDirectory(cgiBinDir) + + self.createScript(os.path.join(cgiBinDir, 'dummy')) + + cgiSubDir = os.path.join(cgiBinDir, 'sub') + os.mkdir(cgiSubDir) + + self.createScript(os.path.join(cgiSubDir, 'dummy')) + + self.p = reactor.listenTCP(0, channel.HTTPFactory(server.Site(root))) + portnum = self.p.getHost().port + + def _firstResponse(res): + self.failUnlessEqual(res, "cgi output%s" % os.linesep) + + return client.getPage('http://localhost:%d/sub/dummy' % portnum) + + def _secondResponse(res): + self.failUnlessEqual(res, "cgi output%s" % os.linesep) + + def _cleanup(res): + d = self.p.stopListening() + d.addCallback(lambda ign: res) + return d + + d = client.getPage('http://localhost:%d/dummy' % portnum) + + d.addCallback(_firstResponse + ).addCallback(_secondResponse + ).addBoth(_cleanup) + + return d + testScriptsExecute.timeout=10
Tabs? Jean-Paul