Spec-Zone.ru › MariaDB

Параметры mariadb-test-run.pl

Синтаксис

./mariadb-test-run.pl [ OPTIONS ] [ TESTCASE ]

Где тестовый случай может быть указан как: testcase[.test] Запускает тестовый случай с именем 'testcase' из всех наборов

path-to-testcase
[suite.]testcase[,combination]

Примеры

alias main.alias 'main' - это имя набора для директории 't'.

rpl.rpl_invoked_features,mix,xtradb_plugin
suite/rpl/t/rpl.rpl_invoked_features

Параметры

Параметры для управления запуском движка/варианта

Параметр Описание
--embedded-server Использовать встроенный сервер, т.е. без демонов mysqld.
--ps-protocol Использовать бинарный протокол между клиентом и сервером.
--cursor-protocol Использовать протокол курсора между клиентом и сервером (подразумевает --ps-protocol).
--view-protocol Создать представление для выполнения всех не обновляющих запросов.
--sp-protocol Создать хранимую процедуру для выполнения всех запросов.
--compress Использовать сжатый протокол между клиентом и сервером, если оба поддерживают его.
--ssl Если mariadb-test-run.pl запущен с параметром --ssl, он устанавливает безопасное соединение для всех тестовых случаев. В этом случае, если mysqld не поддерживает TLS, mariadb-test-run.pl завершается с сообщением об ошибке: Couldn´t find support for SSL.
--skip-ssl Не запускать сервер с поддержкой TLS-соединений.
--vs-config Конфигурация Visual Studio, используемая для создания исполняемых файлов (по умолчанию: переменная среды MTR_VS_CONFIG).
--parallel=num Сколько параллельных тестов следует запускать. По умолчанию 1, используйте --parallel=auto для автоматической настройки num.
--defaults-file=<config template> Использовать фиксированный шаблон конфигурации для всех тестов.
--defaults_extra_file=<config template> Дополнительный шаблон конфигурации для добавления ко всем сгенерированным конфигурациям.
--combination=<opt> Дополнительные параметры для передачи в mysqld. Значение должно состоять из одного или нескольких параметров mysqld, разделенных запятыми. Этот параметр аналогичен --mysqld, но должен быть задан два или более раз. mariadb-test-run.pl выполняет несколько тестовых запусков, используя параметры для каждого экземпляра --combination в последовательных запусках. Если --combination задан только один раз, он не оказывает никакого действия. Для тестовых запусков, специфичных для данного тестового набора, альтернативой использованию --combination является создание файла комбинаций в каталоге набора. Файл должен содержать раздел параметров для каждого тестового запуска.
--dry-run Не запускать тесты, вывести список тестов, выбранных для выполнения.

Параметры для управления используемыми директориями

Параметр Описание
--tmpdir=DIR Каталог, где хранятся временные файлы (по умолчанию: ./var/tmp). Переменная среды MYSQL_TMP_DIR будет установлена в путь к этому каталогу, независимо от того, имеет ли он значение по умолчанию или установлено явное значение. На это можно ссылаться в тестах.
--vardir=DIR Каталог, где хранятся файлы, сгенерированные во время тестового запуска (по умолчанию: ./var). Указание ramdisk или tmpfs ускорит тесты. Переменная среды MYSQLTEST_VARDIR будет установлена в путь к этому каталогу, независимо от того, имеет ли он значение по умолчанию или установлено явное значение. На это можно ссылаться в тестах.
--mem Запустить набор тестов в «памяти», используя tmpfs или ramdisk. Это может значительно сократить время тестирования, особенно если вы запускаете тесты через удаленную файловую систему. Пытается найти подходящее местоположение, используя встроенный список стандартных местоположений для tmpfs (/dev/shm). Параметр также может быть установлен с помощью переменной среды MTR_MEM=[DIR]. Если DIR задан, он добавляется в начало списка местоположений для поиска, поэтому он имеет приоритет над любыми встроенными местоположениями. После того, как вы запустили тесты с --mem в директории mariadb-test, будет создана символическая ссылка var во временный каталог, и она будет использоваться при следующем запуске, пока символическая ссылка не будет удалена. Таким образом, вам не нужно повторять параметр --mem в следующий раз.
--client-bindir=PATH Путь к каталогу, где расположены клиентские бинарные файлы.
--client-libdir=PATH Путь к каталогу, где расположены клиентские библиотеки.

Параметры для управления тем, какие наборы тестов или случаи запускать

Параметр Описание
--force Обычно mariadb-test-run.pl завершается, если тестовый случай завершается неудачей. --force позволяет продолжить выполнение независимо от результата тестового случая.
--with-ndbcluster-only Запускать только тесты, которые содержат "ndb" в имени файла.
--skip-ndb[cluster] Пропускать все тесты, которым нужен кластер. По умолчанию.
--do-test=PREFIX or REGEX Запускать тестовые случаи с именами, начинающимися с PREFIX или удовлетворяющими REGEX. Например, --do-test=testa соответствует тестам, которые начинаются с testa, --do-test=main.testa соответствует тестам в основном тестовом наборе, которые начинаются с testa, и --do-test=main.*testa соответствует именам тестов, которые содержат main, за которым следует testa с чем-либо между ними. В последнем случае сопоставление шаблонов не привязано к началу имени теста, поэтому оно также соответствует именам, таким как xmainytestz.
--skip-test=PREFIX or REGEX Пропускать тестовые случаи с именами, начинающимися с PREFIX или удовлетворяющими REGEX. См. -do-test для примеров.
--start-from=PREFIX Сортирует список имен тестовых случаев, которые будут запущены, а затем начинает с теста с префиксом PREFIX, где префикс может быть suite.testname или просто testname.
--suite[s]=NAME1,..,NAMEN Список имен наборов, разделенных запятыми, которые нужно запустить. По умолчанию, начиная с MariaDB 10.4.5, это:
"main-, archive-, binlog-, binlog_encryption-, csv-, compat/oracle-, encryption-, federated-, funcs_1-, funcs_2-, gcol-, handler-, heap-, innodb-, innodb_fts-, innodb_gis-, innodb_zip-, json-, maria-, mariabackup-, multi_source-, optimizer_unfixed_bugs-, parts-, perfschema-, plugins-, roles-, rpl-, sys_vars-, sql_sequence-, unit-, vcol-, versioning-,period-".
--skip-rpl Пропускать тестовые случаи репликации.
--big-test Разрешить запуск тестов, помеченных как "большие". Тесты могут быть помечены таким образом, включив строку --source include/big_test.inc, и они будут запущены только если указан этот параметр или если переменная среды BIG_TEST установлена в 1. Повторите этот параметр дважды, чтобы запустить только "большие" тесты. Это обычно используется для тестов, которые занимают очень много времени или используют много ресурсов, поэтому они не подходят для запуска в рамках обычного запуска набора тестов.
--staging-run Запустить ограниченное количество тестов (без медленных тестов). Используется для запуска промежуточных деревьев с valgrind.
--enable-disabled Игнорировать любой файл disabled.def и также запускать тесты, помеченные как отключенные. Успех или неудача этих тестов будут сообщаться так же, как и другие тесты.
--print-testcases Не запускать тесты, а вывести подробную информацию о всех выбранных тестах в том порядке, в котором они будут запущены.
--skip-test-list=FILE Пропускать тесты, перечисленные в FILE. Каждая строка в файле является записью и должна быть отформатирована следующим образом: <TESTNAME> : <COMMENT>

Параметры, указывающие порты

Параметр Описание
--[mtr-]port-base=num База для номеров портов. Порты с этого номера до номера+9 зарезервированы. Должно делиться на 10; в противном случае будет округлено вниз. Может быть установлено с помощью переменной среды MTR_PORT_BASE. Если это значение установлено и не равно "auto", оно переопределяет build-thread.
--[mtr-]build-thread=num Укажите уникальный номер для вычисления номера(ов) порта. Может быть установлен в переменной среды MTR_BUILD_THREAD. Установите MTR_BUILD_THREAD="auto", чтобы автоматически получить идентификатор потока сборки, уникальный для текущего хоста. Более логичный --port-base поддерживается в качестве альтернативы.

Параметры для написания тестовых случаев

Параметр Описание
--record TESTNAME (Пере)генерировать файл результата для TESTNAME.
--check-testcases Проверить тестовые случаи на наличие побочных эффектов. Это делается путем проверки состояния системы до и после каждого тестового случая; если есть какие-либо различия, будет выведено предупреждение об этом, но тестовый случай не будет помечен как неудачный из-за этого. Эта проверка включена по умолчанию. Используйте --nocheck-testcases для отключения.
mark-progress Записать номер строки и затраченное время в <testname>.progress

Параметры, которые передают параметры

Параметр Описание
--mysqld=ARGS Указать дополнительные аргументы для "mysqld"
--mysqltest=ARGS Указать дополнительные аргументы для "mariadb-test". Используйте дополнительные параметры --mysqld-env, чтобы установить более одной переменной.

Параметры для запуска теста на запущенном сервере

Параметр Описание
extern option=value Использовать уже запущенный сервер. Пара опция/значение необходима клиенту mariadb для подключения к серверу. Каждый параметр --extern может принимать только одну пару опция/значение в качестве аргумента, поэтому вам нужно повторить --extern для каждой необходимой пары. Пример: ./mariadb-test-run.pl --extern socket=var/tmp/mysqld.1.sock alias. Примечание: Если тестовый случай имеет файл .opt, который требует перезапуска сервера с определенными параметрами, файл не будет использоваться. В результате тестовый случай, скорее всего, завершится неудачей.

Параметры для отладки продукта

В mariadb-test-run.pl существует понятие «отладчик». «Отладчик» — это инструмент, который mariadb-test-run.pl будет выполняться вместо mariadbd. Этот инструмент затем запустит mariadbd и сможет управлять его выполнением по своему усмотрению. Поддерживаются следующие «отладчики»:

Имя Описание
gdb Отладчик GNU
ddd Графический интерфейс для gdb
dbx https://en.wikipedia.org/wiki/Dbx_(debugger)
devenv Отладчик Visual Studio
windbg https://en.wikipedia.org/wiki/WinDbg
lldb Отладчик из проекта LLVM
valgrind Обнаружение проблем с управлением памятью и многое другое
strace Трейсер системных вызовов
rr "Запись и воспроизведение" — запись выполнения программы, а затем её воспроизведение вперёд, назад или в любом другом направлении

Каждый «отладчик» из приведенного выше списка поддерживает следующий набор опций (замените XXX ниже именем отладчика)

Опция Описание
--XXX Запустить процесс mariadbd в отладчике
--client-XXX Запустить процесс mariadb-test в отладчике
--boot-XXX Перед запуском тестов mariadb-test-run выполняет mariadbd для инициализации, подготовки каталога данных. Эта опция заставляет выполнение этой инициализации mariadbd процесса в отладчике.
--manual-XXX Ничего не запускать, а вместо этого вывести команду, которую пользователь должен выполнить, чтобы запустить mariadbd в отладчике. Затем подождать.

Каждая опция из вышеперечисленного принимает необязательный аргумент. Он может быть использован для задания дополнительных опций командной строки для инструмента. Или дополнительных команд, которые инструмент выполнит при запуске. Или и то, и другое. Команды разделяются друг от друга и от опций точкой с запятой. Например:

./mtr 1st --strace
./mtr 1st --client-rr=--chaos
./mtr 1st --manual-gdb='b mysql_parse;r'
./mtr 1st --boot-gdb='--quiet --tui;b mysql_parse;r'

Дополнительные опции, связанные с отладкой

Опция Описание
--debug Вывод трассировочных данных для всех серверов и клиентских программ.
--debug-common То же, что и --debug, но устанавливает флаги отладки 'd' в "query,info,error,enter,exit"
--debug-server Использовать отладочную версию сервера, но без включения трассировки.
--max-save-core Ограничить количество сохранённых core-файлов (чтобы избежать заполнения дисков при сильных сбоях сервера). По умолчанию 5, 0 — без ограничений. Устанавливается по умолчанию с помощью MTR_MAX_SAVE_CORE.
--max-save-datadir Ограничить количество сохранённых каталогов данных (чтобы избежать заполнения дисков при сильных сбоях сервера). По умолчанию 20, 0 — без ограничений. Устанавливается по умолчанию с помощью MTR_MAX_SAVE_DATDIR.
--max-test-fail Ограничить количество сбоев тестов перед прерыванием текущей тестовой сессии. По умолчанию 10, 0 — без ограничений. Устанавливается по умолчанию с помощью MTR_MAX_TEST_FAIL.

Дополнительные опции

Опция Описание
--user=USER Пользователь для подключения к mysqld (по умолчанию: root)
--comment=STR Запись STR в выходной поток в строках, заполненных символом #, в качестве баннера.
--timer Показать время выполнения тестового случая. Использовать no-timer, чтобы отключить.
--verbose Более подробный вывод (используйте несколько раз для ещё большего подробного вывода).
--verbose-restart Запись времени и причины перезапуска серверов между тестовыми случаями.
--start Только инициализация и запуск серверов, используя параметры запуска для первого указанного тестового случая. Пример: ./mariadb-test-run.pl --start alias & start-dirty Только запуск серверов (без инициализации) для первого указанного тестового случая.
--start-and-exit Аналогично --start, но mariadb-test-run завершается и оставляет только работающий сервер.
--start-dirty Это аналогично --start, но пропустит фазу инициализации базы данных и предположит, что файлы базы данных уже доступны. Обычно это означает, что вы должны были запустить другой тест ранее.
--user-args В сочетании с параметрами start* и без имени теста, отбрасывает аргументы mysqld, кроме тех, что указаны с помощью --mysqld (если таковые имеются).
--wait-all Если используется опция --start или --start-dirty, подождать, пока все серверы завершат работу, прежде чем завершить процесс. В противном случае, процесс завершится, если один (из нескольких) серверов перезапустится.
--fast Не выполнять контролируемое завершение работы, когда серверы необходимо перезапустить или по завершении выполнения теста. Это эквивалентно использованию --shutdown-timeout=0.
--force-restart Всегда перезапускать серверы между тестами.
--parallel=N Запуск тестов в N параллельных потоках (по умолчанию 1). Используйте parallel=auto для автоматической настройки N.
--repeat=N Запуск каждого теста N раз.
--retry=N Если тест завершится неудачно, он будет повторён до максимального числа запусков (по умолчанию 1). Повторные попытки также ограничены максимальным числом ошибок до остановки, задаваемым опцией --retry-failure. Эта опция не имеет эффекта, если не используется также --force; без неё выполнение теста завершится после первой неудачи. Опции --retry и --retry-failure не влияют на то, сколько раз тест, повторённый с --repeat, может завершиться неудачно в сумме, поскольку каждая попытка считается новым тестовым случаем, который в свою очередь может быть повторён, если он завершится неудачно.
--retry-failure=N При использовании опции --retry для повторных попыток неудачных тестов, останавливаться, когда произошло N неудач (по умолчанию 2). Установка значения 0 или 1 фактически отключает повторные попытки.
--reorder Переупорядочить тесты, чтобы уменьшить количество перезапусков серверов. Это поведение по умолчанию. Нет гарантии, что конкретный набор тестов всегда будет в одном и том же порядке. Используйте -no-reorder, чтобы отключить.
--help Отображение текста справки.
--testcase-timeout=MINUTES Максимальное время выполнения тестового случая в минутах (по умолчанию 15).
--suite-timeout=MINUTES Максимальное время выполнения набора тестов в минутах (по умолчанию 360).
--shutdown-timeout=SECONDS Максимальное время в секундах ожидания завершения сервера перед его убийством (по умолчанию 10).
--warnings Просмотр файлов журналов на наличие предупреждений и отчёт о подозрительных; если такие обнаружены, тест будет помечен как неудачный. Используйте --nowarnings, чтобы отключить.
--stop-file=file Если этот файл обнаружен, mariadb-test не будет запускать новые тесты до тех пор, пока файл не будет удалён (также переменная среды MTR_STOP_FILE).
--stop-keep-alive=sec Работает с --stop-file, выводит сообщения каждые sec секунд, когда mariadb-test ожидает удаления файла (для buildbot) (также переменная среды MTR_STOP_KEEP_ALIVE).
--sleep=SECONDS Передаётся в mariadb-test; будет использоваться как фиксированное время ожидания.
--debug-sync-timeout=NUM Установить значение по умолчанию для таймаута действий синхронизации отладки WAIT_FOR. Отключить возможность с NUM=0.
--gcov Собрать информацию о покрытии кода после теста. Результатом является файл dgcov на каждый файл исходного кода и заголовков и файл last_changes.dgcov в vardir с покрытием для несохранённых изменений, если таковые имеются (или последней коммита).
--gprof Собрать информацию о профилировании, используя инструмент gprof для профилирования.
--experimental=<file> Указать файл, содержащий список тестовых случаев, которые должны отображаться с кодом [ exp-fail ] вместо [ fail ], если они завершатся неудачно. Пример файла, который может быть указан с помощью этой опции, см. в mariadb-test/collections/default.experimental.
--report-features Сначала запустить "тест", который сообщает о возможностях MariaDB, отображая вывод SHOW ENGINES и SHOW VARIABLES. Это можно использовать для проверки того, что двоичные файлы собраны со всеми необходимыми функциями.
--timestamp Печать метки времени перед каждой строкой отчёта о тесте, показывая время завершения теста.
--timediff Используется с --timestamp, также выводит время, прошедшее с момента запуска предыдущего теста.
--max-connections=N Максимальное количество одновременных подключений к серверу, которые могут быть использованы на тест. По умолчанию 128. Минимальное значение 8, максимальное 5120. Соответствует той же опции для mariadb-test.
--default-myisam Установить движок хранения по умолчанию на MyISAM для тестов, не использующих InnoDB. Это необходимо после переключения движка хранения по умолчанию на InnoDB.
--report-times Отчёт о том, сколько времени было потрачено на различные фазы выполнения теста.
--stress=ARGS Запуск стресс-теста, предоставляя параметры для mysql-stress-test.pl. Параметры разделены запятыми.
xml-report=<file> Вывод файла jUnit xml результатов. Начиная с MariaDB 10.1.45, MariaDB 10.2.32, MariaDB 10.3.23, MariaDB 10.4.13, MariaDB 10.5.3
tail-lines=N Количество строк результата, которые следует включить в отчёт об ошибке. Начиная с MariaDB 10.3.4.
Содержание, воспроизведённое на этом сайте, является собственностью соответствующих владельцев, и это содержание не проверяется предварительно компанией 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-run-pl-options/

Spec-Zone.ru

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