Допиливаем компиляторы, чтобы повысить качество тестирования кода PostgreSQL
Анализ показателей покрытия кода (code coverage) помогает понять, какие части кода покрыли тесты, а какие — нет, чтобы выявить потенциальные слабые места.
Для сбора покрытия кода в PostgreSQL есть компилятор clang — он использует хэширование для генерации имен файлов при записи данных о покрытии.
Иногда разным данным ошибочно соответствовал один и тот же хэш. Из-за этого несколько процессов пытались записать информацию в один и тот же файл, что вызывало ошибки.
На Хабре рассказали, как в сотрудничестве с ИСП РАН наш разработчик Николай Шаплов нашел решение этой проблемы и как удалось доработать clang.
Post #809
1.91K

- 🔥 15
- 👍 7