Spec-Zone .ru
спецификации, руководства, описания, API

22.1.2. MySQL Test Suite

Система тестирования, которая включается в источник Unix и двоичные дистрибутивы, позволяет пользователям и разработчикам выполнить регрессионные тесты на коде MySQL. Эти тесты могут быть выполнены на Unix.

Можно также записать свои собственные прецеденты. Для получения информации о MySQL Test Framework, включая системные требования, см. руководство, доступное в http://dev.mysql.com/doc/mysqltest/2.0/en/.

Текущий набор прецедентов не тестирует все в MySQL, но это должно поймать большинство очевидных ошибок в коде обработки SQL, операционной системе или проблемах библиотеки, и довольно полно в тестировании репликации. Наша цель состоит в том, чтобы иметь тестовое покрытие 100 % кода. Мы приветствуем вклады нашему тестовому комплекту. Можно особенно хотеть внести тесты, которые исследуют функциональность, критическую по отношению к Вашей системе, потому что это гарантирует, что весь будущий MySQL выпускает работу хорошо с Вашими приложениями.

Система тестирования состоит из тестового интерпретатора языка (mysqltest), сценарий Perl, чтобы выполнить все тесты (mysql-test-run.pl), фактические прецеденты, записанные на специальном тестовом языке, и их ожидаемых результатах. Чтобы выполнить тестовый комплект на Вашей системе после создавания, тип делает тест из исходного корневого каталога, или расположение изменения к mysql-test каталог и тип./mysql-test-run.pl. Если Вы установили двоичное распределение, измените расположение на mysql-test каталог под корневым каталогом установки (например, /usr/local/mysql/mysql-test), и выполненный./mysql-test-run.pl. Все тесты должны успешно выполниться. Если кто-либо не делает, не стесняйтесь пытаться узнать, почему и сообщают о проблеме, если она указывает на ошибку в MySQL. См. Раздел 1.7, "Как Сообщить об Ошибках или проблемах".

Если один тест перестал работать, следует выполнить mysql-test-run.pl с --force опция, чтобы проверить, перестали ли какие-либо другие тесты работать.

Если у Вас есть копия работы mysqld машины, где Вы хотите выполнить тестовый комплект, Вы не должны остановить это, пока это не использует порты 9306 или 9307. Если любой из тех портов берется, следует установить MTR_BUILD_THREAD переменная окружения к соответствующему значению, и тестовый комплект будут использовать различный набор портов для ведущего устройства, ведомого устройства, и NDB). Например:

shell> export MTR_BUILD_THREAD=31shell> ./mysql-test-run.pl [options] [test_name]

В mysql-test каталог, можно выполнить отдельный прецедент с./mysql-test-run.pl test_name.

Если Вы имеете вопрос о тестовом комплекте, или имеете прецедент, чтобы способствовать, отправьте электронное письмо MySQL internals список рассылки. См. Раздел 1.6.1, "MySQL Mailing Lists".