php/php-src — pull request #650 by DmitryKoterov (2014-04-24 10:20:58+00:00)
Title: Bug in run-tests.php for an extension which depends on another extension.

Now run-tests.php does not clearly support testing of extensions which depend on other extensions.
It produces nasty warnings in this case when I run "phpize; ./configure; make test" (it's a pity that
this warning is useless: it is produced not in test logic, but in the informational block generating code).
I am the author of such extension (my extension depends on dom.so), and I suppose I see an easy
way to fix this warning.

Assume we created an extension A.so, which depends on another extension (e.g. dom.so).
And we run "phpize; ./configure; make test" on A extension. In this case Makefile of A
calls "run-tests.php ... -d extension=A.so", which calls the following inside itself:

php -n -c '~/A/tmp-php.ini' ... -d extension_dir=~/A/modules/ -d extension=A.so run-test-info.php

But you see that it doesn't include "-d extension=dom.so" as well, because it has no idea about
extension dependencies. So the run-test-info.php below fails with:

PHP Warning: Cannot load module 'A' because required module 'dom' is not loaded.

BTW all phpt tests of A extension succeed: they HAVE informations about extension dependencies
via "--EXTENSIONS--" section in phpt files, which mentions dom.so dependency. So, we do not
need "-d extension=-..." during internal call of run-test-info.php, this is only an informational call
(to print out PHP SAPI version etc.). Real phpt tests are executed separately (and they, of course,
have "-d extension=A.so" not removed).