Если используемая версия MySQL не проходит через тестовый пакет, следует поступать следующим образом:
Прежде всего, не отсылайте отчет об ошибке, пока не соберете максимального количества сведений по проблеме, с которой вы столкнулись! Большая просьба к вам - используйте для этого сценарий
mysqlbug, чтобы мы имели возможность получить как можно больше информации о вашей системе и версии MySQL (see Раздел 1.8.1.3, «Как отправлять отчеты об ошибках или проблемах»).Проследите за тем, чтобы в отчет был включен вывод
mysql-test-run, а также содержимое всех файлов.rejectиз каталогаmysql-test/r.-
Если тест из тестового пакета терпит неудачу, проверьте, будет ли он также неуспешным при выполнении его самого по себе:
cd mysql-test mysql-test-run --local test-name
Если тест не проходит, то следует сконфигурировать MySQL с
--with-debugи запуститьmysql-test-runс опцией--debug. Если он не пройдет и в этом случае, следует положить трассировочный файлvar/tmp/master.traceна ftp://support.mysql.com/pub/mysql/secret, чтобы мы могли его изучить. Пожалуйста, не забудьте также включить полное описание используемой системы, версию исполняемого файлаmysqldи описание того, как он был скомпилирован. Попробуйте также выполнить
mysql-test-runс опцией--force, чтобы выяснить, есть ли еще тесты, которые система не проходит.Если вы компилировали MySQL собственноручно, сверьтесь с нашим руководством в той его части, где дается описание компиляции MySQL на используемой платформе или (что более предпочтительно) используйте одну из откомпилированных нами для вас бинарных поставок https://www.mysql.com/downloads/. Все наши стандартные бинарные дистрибутивы должны проходить тестовый пакет!
Если получена ошибка, подобная
Result length mismatchилиResult content mismatch, то это означает, что нет точного совпадения между выходными данными теста и контрольными выходными данными. Это может говорить об ошибке в MySQL или о том, что при некоторых обстоятельствах используемая версияmysqldвыдает слегка отличающиеся результаты. Результаты неудачных тестов помещаются в файл с тем же именем, что и у файла результатов, но с расширением.reject. Если контрольный тест терпит неудачу, то по этим двум файлам следует выполнитьdiff. Если не удается обнаружить, в чем их отличия, исследуйте оба файла с помощьюod -c, а также проверьте их размеры.Если тест полностью потерпел фиаско, то для выяснения причины неполадок следует обратиться к файлам журналов в каталоге
mysql-test/var/log.Если MySQL был скомпилирован в отладочном режиме, то можно попробовать выполнить отладку, запустив
mysql-test-runс опциями--gdbи/или-debug(see Раздел D.1.2, «Создание трассировочных файлов»). Если MySQL не был скомпилирован для отладки, то это стоит сделать - просто задайте опции--with-debugдляconfigure! Обращайтесь к разделу See Раздел 2.3, «Установка исходного дистрибутива MySQL».