Bug in run-tests.php for an extension which depends on another extension.

From: Date: Thu, 24 Apr 2014 10:31:49 +0000
Subject: Bug in run-tests.php for an extension which depends on another extension.
Groups: php.internals 
Request: Send a blank email to internals+get-73772@lists.php.net to get a copy of this message
Hello. Johannes Schlüter from pecl-dev has given me an advice to write to this maillist about my tiny patch to run-tests.php. Hope it could be helpful. Here is the pull request: https://github.com/php/php-src/pull/650 ======= 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).

« previous php.internals (#73772) next »