mirror of
https://github.com/sigmasternchen/php-doc-en
synced 2025-03-23 12:28:55 +00:00

git-svn-id: https://svn.php.net/repository/phpdoc/en/trunk@311360 c90b9560-bf6c-de11-be94-00142212c4b1
99 lines
3.4 KiB
XML
99 lines
3.4 KiB
XML
<?xml version="1.0" encoding="utf-8"?>
|
|
<!-- $Revision$ -->
|
|
|
|
<section xml:id="mongo.testing" xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink">
|
|
<title>Running the Driver's Tests</title>
|
|
|
|
<para>
|
|
The PECL package does not come with the tests, but they are available at
|
|
<link xlink:href="&url.mongodb.github;">Github</link>. There are two types of
|
|
tests: the PHPUnit tests and the C tests.
|
|
</para>
|
|
|
|
<section>
|
|
<title>PHPUnit Tests</title>
|
|
<para>
|
|
To run the tests, you must download the driver from Github (the tests are in
|
|
the <literal>tests/</literal> directory). You'll also need
|
|
<link xlink:href="&url.phpunit.install;">PHPUnit</link> to run the tests.
|
|
PHPUnit can be installed via PEAR (although you should look at the
|
|
installation instructions, it requires a couple of prerequisites).
|
|
</para>
|
|
<para>
|
|
Some tests expect warnings or errors, so you must set
|
|
<literal>error_reporting</literal> in <literal>php.ini</literal> to
|
|
<literal>E_STRICT | E_ALL</literal> for these tests to pass. If you do
|
|
not, you will get some failures that say the test was expecting a warning or
|
|
error.
|
|
</para>
|
|
<para>
|
|
To run the tests, make sure that there is a MongoDB server running locally on
|
|
port 27017. Before reporting errors, please try running the tests against the
|
|
latest development version of MongoDB: often there are tests for features that
|
|
aren't yet in the stable release.
|
|
</para>
|
|
<para>
|
|
The test suite uses the "phpunit" database. If you are using a database
|
|
called "phpunit" in your application, make sure point MongoDB at a different
|
|
data directory before running the tests.
|
|
</para>
|
|
<para>
|
|
Make sure you're in the main directory of the driver source you
|
|
downloaded from Github. Run:
|
|
</para>
|
|
<programlisting>
|
|
<![CDATA[
|
|
|
|
$ phpunit tests/MongoSuite.php
|
|
|
|
]]>
|
|
</programlisting>
|
|
</section>
|
|
|
|
<section>
|
|
<title>C Tests</title>
|
|
<para>
|
|
The C tests mostly check internal functions that are not exposed through PHP.
|
|
If you'd like to run these tests, you'll need to compile PHP with the
|
|
<literal>--enable-embed</literal> flag. Then switch to the
|
|
<filename>tests</filename> directory and run <literal>make</literal>. This
|
|
will create a binary called <literal>unit</literal>. Run
|
|
<literal>unit</literal> to execute the tests. These tests do no require a
|
|
database to be running.
|
|
</para>
|
|
|
|
<para>
|
|
If a test passes, it will print a ".". If a test fails, it will assert and
|
|
stop the tests. Please report any asserts.
|
|
</para>
|
|
|
|
<para>
|
|
If <literal>make</literal> cannot find your PHP embedded library (libphp5.so)
|
|
or header files, you may have to specify the <literal>PHP_PATH</literal>
|
|
variable.
|
|
</para>
|
|
|
|
<para>
|
|
Run <literal>make clean</literal> to remove all testing objects.
|
|
</para>
|
|
|
|
<para>
|
|
If you run these tests with <filename>valgrind</filename>, you should get no
|
|
invalid memory access errors and the "no leaks are possible" message at the
|
|
end.
|
|
</para>
|
|
</section>
|
|
|
|
<section>
|
|
<title>Reporting Errors</title>
|
|
<para>
|
|
Please report any failures or errors in the
|
|
<link xlink:href="&url.mongodb.jira;">bugtracker</link>. There may be skipped
|
|
tests, these are normal and can be ignored.
|
|
</para>
|
|
<para>
|
|
New tests are always welcome! Please feel free to contribute new tests of any
|
|
type testing any functionality.
|
|
</para>
|
|
</section>
|
|
</section>
|