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. |
См. также
© 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/