Update to English testing.xml

This commit is contained in:
Mikhail Alferov
2024-05-09 23:49:20 +03:00
committed by GitHub
parent 55b1b1b35e
commit 0e2f26d3d9

View File

@ -1,136 +1,130 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- EN-Revision: 5fcbcd6b56477034278a2199a8819635f3a0d9b9 Maintainer: tmn Status: ready -->
<!-- EN-Revision: f4c44b86948f70a7e89f582b500e2595452e00f0 Maintainer: tmn Status: ready -->
<!-- Reviewed: no -->
<section xml:id="oci8.test">
<title xmlns="http://docbook.org/ns/docbook">Тестирование</title>
<section xml:id="oci8.testing" xmlns="http://docbook.org/ns/docbook">
<para>
Набор тестов для OCI8 находится в директории
<filename>ext/oci8/tests</filename>. После прогона этих тестов, в этой
директории также окажутся файлы журналов произошедших событий и ошибок.
</para>
</section>
<section>
<para>
Перед запуском тестов необходимо отредактировать файл
<filename>details.inc</filename> и задать значения переменным
$user, $password и строке соединения $dbase. Набор тестов OCI8
разрабатывался с использованием учётной записи
<literal>SYSTEM</literal>. Некоторые тесты не будут выполняться, если
у тестирующего пользователя нет аналогичных прав доступа.
</para>
<para>
Для тестирования функции Oracle создания пулов соединений
(Database Resident Connection Pooling) необходимо установить переменную
$test_drcp в &true;, а также убедитесь, что в строке
соединения задан соответствующий адрес DRCP сервера.
</para>
<para>
В качестве альтернативы редактированию файла
<filename>details.inc</filename> можно задать значения переменным
окружения, например:
<programlisting>
<section xml:id="oci8.test" xmlns="http://docbook.org/ns/docbook">
<title>Тестирование</title>
<para>
Набор тестов для модуля OCI8 распологается в директории
<filename>ext/oci8/tests</filename>. После запуска тестов модуля OCI8
этот каталог также будет содержать журналы сбоев.
</para>
<para>
Перед запуском тестов PHP необходимо отредактировать файл
<filename>details.inc</filename> и задать значения переменным
$user, $password и строке соединения $dbase. Набор тестов OCI8
был разработан с учётной записью
<literal>SYSTEM</literal>. Некоторые тесты не будут выполняться, если
у тестирующего пользователя нет аналогичных разрешений.
</para>
<para>
Если тестируется пул резидентных подключений к базе данных Oracle
(Database Resident Connection Pooling), необходимо установить для переменной
$test_drcp значение &true; и проверить, что в строке
соединения установили сервер, который соответствует пулу DRCP.
</para>
<para>
В качестве альтернативы редактированию файла
<filename>details.inc</filename> выступает установка переменных
окружения, например:
<programlisting>
<![CDATA[
$ export PHP_OCI8_TEST_USER=system
$ export PHP_OCI8_TEST_PASS=oracle
$ export PHP_OCI8_TEST_DB=localhost/XE
$ export PHP_OCI8_TEST_DRCP=FALSE
]]>
</programlisting>
Обратите внимание, что в некоторых оболочках эти переменные могут
неправильно транслироваться в PHP процесс, и в тестах будут возникать
ошибки подключения к базе данных. Будьте аккуратны при использовании этого
метода настройки модуля.
</para>
<para>
Далее необходимо задать окружение базы данных Oracle. Если вы используете PHP
на тех же машинах, что и Oracle Database, вы можете запустить:
<programlisting>
</programlisting>
Обратите внимание, в ряде оболочек эти переменные транслируются
в PHP-процесс неправильно, и через этот метод тесты не смогут подключиться.
</para>
<para>
Затем необходимо установить необходимое окружение для базы данных Oracle. Если PHP
запускается на тех же машинах, что и база данных Orcale, можно запустить:
<programlisting>
<![CDATA[
$ . /usr/local/bin/oraenv
]]>
</programlisting>
</para>
<para>
Для Oracle 11<emphasis>g</emphasis>R2 XE:
<programlisting>
</programlisting>
</para>
<para>
В Oracle 11<emphasis>g</emphasis>R2 XE выполняют:
<programlisting>
<![CDATA[
$ . /u01/app/oracle/product/11.2.0/xe/bin/oracle_env.sh
]]>
</programlisting>
</para>
<para>
Некоторые оболочки требуют, чтобы в &php.ini; параметр
variables_order содержал литеру <literal>E</literal>, например:
<programlisting>
</programlisting>
</para>
<para>
Отдельные оболочки требуют, чтобы в файле &php.ini; параметр
variables_order содержал литеру <literal>E</literal>, например:
<programlisting>
<![CDATA[
variables_order = "EGPCS"
]]>
</programlisting>
</para>
<para>
Запуск всех PHP тестов можно осуществить командой:
<programlisting>
</programlisting>
</para>
<para>
Запуск всех PHP-тестов выполняют командой:
<programlisting>
<![CDATA[
$ cd your_php_src_directory
$ make test
]]>
</programlisting>
либо можно запустить только OCI8 тесты:
<programlisting>
</programlisting>
или запускают только OCI8-тесты:
<programlisting>
<![CDATA[
$ cd your_php_src_directory
$ make test TESTS=ext/oci8
]]>
</programlisting>
</para>
<para>
По завершении тестирования, просмотрите журналы на наличие ошибок.
На слабых машинах время выполнения некоторых тестов может превысить
значение настройки времени ожидания в файле <filename>run-tests.php</filename>.
Чтобы это исправить, задайте переменной окружения
<literal>TEST_TIMEOUT</literal> значение побольше (значение в секундах).
</para>
<para>
На быстрых вычислительных системах с локальной базой данных, рассчитанных
на небольшие нагрузки (например, Oracle 11<emphasis>g</emphasis>R2 XE), некоторые тесты могут
вызывать ORA-12516 или ORA-12520 ошибки. Для их предотвращения необходимо
увеличить значение параметра базы данных <literal>PROCESSES</literal>
по инструкции ниже:
</para>
<para>
Подключиться к базе данных в роли суперпользователя:
<programlisting>
</programlisting>
</para>
<para>
После завершения тестов просмотрите журналы на наличие ошибок.
На медленных системах отдельные тесты выполняются дольше, чем время ожидания теста
по умолчанию, которое указали в файле <filename>run-tests.php</filename>.
Чтобы это исправить, переменной окружения <literal>TEST_TIMEOUT</literal>
устанавливают большее количество секунд.
</para>
<para>
На быстрых машинах с локальной базой данных, которую настроили на небольшую нагрузку
(например, Oracle 11<emphasis>g</emphasis>R2 XE), часть тестов завершится
неудачно с ошибками ORA-12516 или ORA-12520. Чтобы предотвратить это,
значение параметра базы данных <literal>PROCESSES</literal> увеличивают
следующими действиями:
</para>
<para>
Подключиться к базе данных в роли суперпользователя:
<programlisting>
<![CDATA[
$ su - oracle
]]>
</programlisting>
</para>
<para>
Задать необходимое окружение с помощью сценариев
<filename>oracle_env.sh</filename> или
<filename>oraenv</filename>, как описано выше.
</para>
<para>
Запустить утилиту командной строки SQL*Plus и увеличить значение
<literal>PROCESSES</literal>
<programlisting>
</programlisting>
</para>
<para>
Установить необходимое окружение Oracle через сценарии
<filename>oracle_env.sh</filename> или
<filename>oraenv</filename>, как описали предыдущие параграфы.
</para>
<para>
Запустить утилиту командной строки SQL*Plus и увеличить значение
параметра <literal>PROCESSES</literal>
<programlisting>
<![CDATA[
$ sqlplus / as sysdba
SQL> alter system set processes=100 scope=spfile
]]>
</programlisting>
</para>
<para>
Перезапустить базу данных:
<programlisting>
</programlisting>
</para>
<para>
Перезапустить базу данных:
<programlisting>
<![CDATA[
SQL> startup force
]]>
</programlisting>
</para>
</section>
</section>
</programlisting>
</para>
</section>
<!-- Keep this comment at the end of the file
Local variables:
mode: sgml