DBM Session test shouldn't use default database.
------------------------------------------------

         Key: MODPYTHON-119
         URL: http://issues.apache.org/jira/browse/MODPYTHON-119
     Project: mod_python
        Type: Bug
  Components: core  
    Versions: 3.2    
    Reporter: Graham Dumpleton


The test_Session_Session_conf() of test/test.py doesn't override the default 
DBM session database name that would be used for prefork/worker MPM variants. 
This means that if there is already an instance of Apache running as its 
designated user which has already created the session database and the tests 
are run as a different user, the test will fail. Further, if mod_python has 
never previously been used and no session database exists, the test will 
succeed, but when someone goes to use sessions in the installed mod_python, it 
will fail in the case where the session database created by the test was as a 
different user to that which Apache runs as.

The test suite should ensure that it overrides any defaults and stores such 
databases in test suite document tree. It should possibly also ensure that such 
transient files are removed so as not to create a problem on subsequent tests.

Test might therefore be changed to:

    def test_Session_Session_conf(self):

        database = os.path.join(TESTHOME,"mp_sess_test.dbm")

        c = VirtualHost("*",
                        ServerName("test_Session_Session"),
                        DocumentRoot(DOCUMENT_ROOT),
                        Directory(DOCUMENT_ROOT,
                                  PythonOption('session_dbm "%s"' % database),
                                  SetHandler("mod_python"),
                                  PythonHandler("tests::Session_Session"),
                                  PythonDebug("On")))
        return str(c)


-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
   http://issues.apache.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see:
   http://www.atlassian.com/software/jira

Reply via email to