mongodb/mongo-php-driver — pull request #306 by bjori (2013-02-02 01:12:37+00:00)
Title: Implemented new test suite

This test suite, based upon the mongo shell, allows us to test all possible aspects of mongod behaviour.

Failovers, authentication, sharding and whatever you can think of is easily testable.

A "every day run" of the testsuite only takes 18seconds!!

> Number of tests : 385 333
> Tests skipped : 52 ( 13.5%) --------
> Tests warned : 0 ( 0.0%) ( 0.0%)
> Tests failed : 0 ( 0.0%) ( 0.0%)
> Expected fail : 0 ( 0.0%) ( 0.0%)
> Tests passed : 333 ( 86.5%) (100.0%)
> ---------------------------------------------------------------------
> Time taken : 18 seconds

While a total full blown execution, including the new _failover tests_ just over 200 seconds:

> Number of tests : 385 346
> Tests skipped : 39 ( 10.1%) --------
> Tests warned : 0 ( 0.0%) ( 0.0%)
> Tests failed : 0 ( 0.0%) ( 0.0%)
> Expected fail : 0 ( 0.0%) ( 0.0%)
> Tests passed : 346 ( 89.9%) (100.0%)
> ---------------------------------------------------------------------
> Time taken : 212 seconds

There is a new `make` target the creates a "daemon" bridge between the test suite and the mongod testing infrastructure, which also spins up all the required servers.

$ make servers

To tear everything down again

$ make stop-servers

Note: The `make servers` target can take up to 3minutes to run.
You only have to run this once.

Tests can be executed individually by the normal means of passing them into the `make test` target:

$ make test TESTS="tests/replicaset"

There is _one_ configuration option that needs to be personalized, the `$SHELL` variable in `tests/utils/cfg.inc[.template]`