Spec-Zone.ru › MariaDB

mariadb-test и mariadb-test-embedded

Программа mariadb-test выполняет тестовый случай против сервера MariaDB или MySQL и необязательно сравнивает вывод с файлом результатов. Эта программа считывает входные данные, написанные на специальном тестовом языке. Обычно вы вызываете mariadb-test через mariadb-test-run.pl вместо прямого вызова.

mariadb-test_embedded аналогичен, но построен с поддержкой libmariadbd встроенного сервера.

Функции mariadb-test:

  • Может отправлять SQL-запросы на сервер для выполнения
  • Может выполнять внешние командные оболочки
  • Может проверить, соответствует ли результат из SQL-запроса или командной оболочки ожидаемому
  • Может подключаться к одному или нескольким автономным серверам mariadbd и переключаться между подключениями
  • Может подключаться к встроенному серверу (libmariadbd), если MariaDB скомпилирован с поддержкой libmariadbd. (В этом случае исполняемый файл называется mariadb-test_embedded, а не mariadb-test.)

По умолчанию mariadb-test считывает тестовый случай со стандартного ввода. Чтобы запустить mariadb-test таким образом, вы обычно вызываете его так:

shell> mariadb-test **[options] [db_name]** < //test_file//

Вы также можете назвать файл тестового случая с опцией --test-file=file_name.

Значение выхода из mariadb-test равно 0 при успехе, 1 при ошибке и 62, если он пропускает тестовый случай (например, если после проверки некоторых предварительных условий он принимает решение не запускать тест).

Параметры

mariadb-test поддерживает следующие параметры:

Параметр Описание
--help, -? Отобразить сообщение справки и выйти.
--basedir=dir, -b dir Базовая директория для тестов.
--character-sets-dir=path Директория, где установлены кодировки символов.
--compress, -C Сжимать всю информацию, отправляемую между клиентом и сервером, если обе стороны поддерживают сжатие.
--connect-timeout=N Это можно использовать для установки параметра MYSQL_OPT_CONNECT_TIMEOUT mysql_options для изменения количества секунд до истечения срока действия неудачной попытки подключения.
--continue-on-error Продолжить тест, даже если возникла ошибка. Это в основном полезно при тестировании движка хранения, чтобы увидеть, что из файла теста он может выполнить, или чтобы найти все синтаксические ошибки в недавно созданном большом тестовом файле
--cursor-protocol Использовать курсоры для подготовленных запросов.
--database=db_name, -D db_name База данных по умолчанию для использования.
--debug[=debug_options], -#[debug_options] Записать отладочный журнал, если MariaDB построен с поддержкой отладки. Значение debug_options по умолчанию равно d:t:S:i:O,/tmp/mysqltest.trace на Unix и d:t:i:O,\mysqld.trace на Windows.
--debug-check Вывести некоторую отладочную информацию при завершении работы программы.
--debug-info Выводить отладочную информацию и статистику использования памяти и ЦП при завершении работы программы.
--host=host_name, -h host_name Подключиться к серверу на указанном хосте.
--logdir=dir_name Директория для использования файлов журналов.
--mark-progress Записывать номер строки и время выполнения в test_file.progress.
--max-connect-retries=num Максимальное количество попыток подключения при подключении к серверу.
--max-connections=num Максимальное количество одновременных подключений к серверу на один клиент (то есть на один тест). Если не задано, максимум 128. Минимальный допустимый предел – 8, максимальный – 5120.
--no-defaults Не читать параметры по умолчанию из каких-либо файлов параметров. При использовании этот параметр должен быть первым.
--non-blocking-api Использовать неблокирующий API клиента для связи.
--overlay-dir=name Директория наложения.
--password[=password], -p[password] Пароль для подключения к серверу. Если вы используете короткую форму параметра (-p), вы не можете ставить пробел между параметром и паролем. Если вы опустите значение пароля после параметра --password или -p в командной строке, вам будет предложено его ввести.
plugin-dir Директория для плагинов на стороне клиента.
--port=port_num, -P port_num Номер TCP/IP-порта для подключения или 0 для использования значения по умолчанию, в порядке приоритета: my.cnf, $MYSQL_TCP_PORT, /etc/services, встроенное значение по умолчанию (3306).
--prologue=name Включить содержимое указанного файла перед обработкой содержимого тестового файла. Включенный файл должен иметь тот же формат, что и другие тестовые файлы mariadb-test. Этот параметр эквивалентен команде --source file_name, указанной в первой строке тестового файла.
--protocol=name Протокол для использования при подключении (tcp, socket, pipe, memory).
--ps-protocol Использовать протокол подготовленных запросов для связи.
--quiet Запретить весь обычный вывод. Это синоним параметра --silent.
--record, -r Записать вывод, полученный в результате выполнения тестового файла, в файл, имя которого задано параметром --result-file, если этот параметр указан. Использование этого параметра без параметра --result-file является ошибкой.
--result-file=file_name, -R file_name Этот параметр указывает файл ожидаемых результатов тестового случая. --result-file, вместе с --record, определяет, как mariadb-test обрабатывает фактические и ожидаемые результаты тестового случая:

Если тест не производит никаких результатов, mariadb-test завершается с сообщением об ошибке, если не указан параметр --result-file и указанный файл пустой.

В противном случае, если параметр --result-file не указан, mariadb-test отправляет результаты теста в стандартный вывод.

С параметром --result-file, но без параметра --record, mariadb-test считывает ожидаемые результаты из указанного файла и сравнивает их с фактическими результатами. Если результаты не совпадают, mariadb-test записывает файл отторжения в ту же директорию, что и файл результата, выводит разницу между двумя файлами и завершается с ошибкой.

С параметрами --result-file и --record, mariadb-test обновляет указанный файл, записывая в него фактические результаты теста.
--result-format-version=# Версия формата файла результатов для использования.
--server-arg=value, -A value Передать аргумент в качестве аргумента встроенному серверу. Например, --server-arg=--tmpdir=/tmp или --server-arg=--core. Можно задать до 64 аргументов.
--server-file=file_name, -F file_name Считывать аргументы для встроенного сервера из указанного файла. Файл должен содержать по одному аргументу в строке.
--shared-memory-base-name Имя общей памяти для использования при подключениях Windows, использующих общую память с локальным сервером (запущенным с параметром --shared-memory). Регистрозависимое.
--silent, -s Запретить весь обычный вывод.
--sleep=num, -T num Заставить все команды sleep в тестовом файле спать num секунд. Этот параметр не влияет на команды real_sleep. Значение параметра 0 может быть использовано, что эффективно отключает команды sleep в тестовом случае.
--socket=path, -S path Файл сокета для использования при подключении к localhost (который является хостом по умолчанию).
--sp-protocol Выполнять DML-запросы в рамках хранимой процедуры. Для каждого DML-запроса mariadb-test создает и вызывает хранимую процедуру, которая выполняет запрос, а не выполняет запрос напрямую.
--ssl Включить TLS для безопасного подключения (автоматически включен с другими флагами). Отключить с помощью --skip-ssl.
--ssl-ca=name Файл CA в формате PEM (проверьте документацию OpenSSL, подразумевает --ssl).
--ssl-capath=name Директория CA (проверьте документацию OpenSSL, подразумевает --ssl).
--ssl-cert=name Сертификат X509 в формате PEM (подразумевает --ssl).
--ssl-cipher=name Использовать шифр SSL (подразумевает --ssl).
--ssl-key=name Ключ X509 в формате PEM (подразумевает --ssl).
--ssl-crl=name Список отзыва сертификатов (подразумевает --ssl).
--ssl-crlpath=name Путь к списку отзыва сертификатов (подразумевает --ssl).
--ssl-verify-server-cert Проверять "общее имя" сервера в его сертификате по отношению к имени хоста, используемому при подключении. Этот параметр отключен по умолчанию.
--suite-dir=name Директория набора.
--tail-lines=nn Указать, сколько строк результата включить в вывод, если тест завершился ошибкой из-за ошибки SQL-запроса. По умолчанию 0, что означает, что строки результата не выводятся.
--test-file=file_name, -x file_name Считывать тестовый ввод из этого файла. По умолчанию считывается со стандартного ввода.
--timer-file=file_name, -m file_name При указании, количество микросекунд, затраченных на выполнение теста, будет записано в этот файл. Это используется mariadb-test-run.pl для отчетности.
--tmpdir=dir_name, -t dir_name Временная директория, где создаются файлы сокетов.
--user=user_name, -u user_name Имя пользователя для подключения к серверу.
--verbose, -v Режим подробной информации. Выводить больше информации о том, что делает программа.
--version, -V Показать информацию о версии и выйти.
--view-protocol Каждый запрос SELECT обернут в представление.
--wait-longer-for-timeouts Дожидаться дольше при таймаутах. Полезно при запуске под valgrind.

См. также

  • Новые возможности mysqltest в MariaDB
Содержимое, воспроизведенное на этом сайте, является собственностью соответствующих владельцев, и это содержимое не проверяется предварительно компанией MariaDB. Мнения, информация и мнения, выраженные в этом содержании, не обязательно отражают точку зрения MariaDB или любой другой стороны.

© 2023 MariaDB
Licensed under the Creative Commons Attribution 3.0 Unported License and the GNU Free Documentation License.
https://mariadb.com/kb/en/mariadb-test-and-mariadb-test-embedded/

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API