Hi, afaik symfony unit tests are run through the binaries you find in test/bin (you don't have symfony task for symfony build :-)) or by running them directly through php (e.g. php "test/unit/storage/sfPDOSessionStorage.php") sfPDOSessionStorageTest is running fine for me.
Martino On Fri, Feb 6, 2009 at 10:14 AM, Leon (sfExtjsThemePlugin) <[email protected]> wrote: > > Hi Dev-ers > > I have extended the sfPDOSessionStorage with encryption functionality > for the session data in my sfPDOSecureSessionStorage class. This is > working fine in my browsers, but I wanted to add a unit test to secure > this. > > I simply copied the original unit-test from the sfPDOSessionStorage- > class and modified it to fit my secure sfPDOSecureSessionStorage- > class. However I cannot seem to run the unit-test. It does not seem to > be related to my secure-session-class, but more probably due to the > session_set_save_handler that seems to create two instances of the > sfPDOSessionStorage. One for sessionOpen, the other for sessionWrite. > > How is the sfPDOSessionStorageTest been run before a new symfony > version is released? > I run > symfony test:unit sfPDOSecureSessionStorage > > but it tells me > /symfony test:unit sfPDOSecureSessionStorage > 1..15 > ok 1 - sfPDOSecureSessionStorage is an instance of sfStorage > ok 2 - sfPDOSecureSessionStorage is an instance of > sfDatabaseSessionStorage > > Fatal error: Call to a member function prepare() on a non-object in / > home/leree/workspace/mijnoverheid-symfony/lib/symfony/lib/storage/ > sfPDOSessionStorage.class.php on line 162 > > Call Stack: > 0.0003 60604 1. {main}() /home/leree/workspace/mijnoverheid- > symfony/symfony:0 > 0.0047 307676 2. include('/home/leree/workspace/mijnoverheid- > symfony/lib/symfony/lib/command/cli.php') /home/leree/workspace/ > mijnoverheid-symfony/symfony:14 > 0.2310 4728120 3. sfSymfonyCommandApplication->run() /home/ > leree/workspace/mijnoverheid-symfony/lib/symfony/lib/command/cli.php: > 20 > 0.2398 4892204 4. sfTask->runFromCLI() /home/leree/workspace/ > mijnoverheid-symfony/lib/symfony/lib/command/ > sfSymfonyCommandApplication.class.php:72 > 0.2399 4892204 5. sfBaseTask->doRun() /home/leree/workspace/ > mijnoverheid-symfony/lib/symfony/lib/task/sfTask.class.php:75 > 0.4838 4935972 6. sfTestUnitTask->execute() /home/leree/ > workspace/mijnoverheid-symfony/lib/symfony/lib/task/ > sfBaseTask.class.php:62 > 0.4875 4971296 7. include('/home/leree/workspace/mijnoverheid- > symfony/test/unit/sfPDOSecureSessionStorageTest.php') /home/leree/ > workspace/mijnoverheid-symfony/lib/symfony/lib/task/test/ > sfTestUnitTask.class.php:64 > 0.5919 8600344 8. sfPDOSecureSessionStorage->sessionWrite() / > home/leree/workspace/mijnoverheid-symfony/test/unit/ > sfPDOSecureSessionStorageTest.php:29 > 0.5926 8600344 9. sfPDOSessionStorage->sessionWrite() /home/ > leree/workspace/mijnoverheid-symfony/lib/storage/ > sfPDOSecureSessionStorage.class.php:141 > > Looks like you planned 15 tests but only ran > 2. > > > I can only explain this with the assumption that > session_set_save_handler creates two instances, one for the > sessionOpen-event where $db gets instantiated, and the second for the > sessionWrite-event where $db is used to call the prepare statement, > but since this is a new instance, the sessionOpen has never been > executed for this instance which explains why $db is a non-object. > > As said in my browser everything works out OK, but the unit test seems > to be impossible. So can anyone tell me what goes wrong or how I can > fix this. I assume this unit test has run everytime before Symfony > gets released... > > > > --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "symfony developers" group. To post to this group, send email to [email protected] To unsubscribe from this group, send email to [email protected] For more options, visit this group at http://groups.google.com/group/symfony-devs?hl=en -~----------~----~----~----~------~----~------~--~---
