Песня про тесты
Oct. 3rd, 2024 05:38 pm![[personal profile]](https://www.dreamwidth.org/img/silk/identity/user.png)
Вот почему-то в голове у современных opensource разработчиков не укладывается, что тестировать программу надо не только на той системе, где она собрана.
(я уж не говорю что у многих разработчиков не укладывается в голове что крупный программный проект надо делить на рантайм и девел-пакеты, и если что-то там можно использовать при сборке, то надеяться на наличие этого на продакшн-системе совершенно опрометчиво. В постгресе таким pg_config).
Сегодня выяснилось что мезон подготавливая информацию для запуска тестов берет полные пути и пропивсывает их в бинарный файл meson_test_setup.dat. И как-то очень неудобно получается если у нас сборка на windows делается в одном jenkins-овском workspace, а тесты гоняются совсем в другом. Правда выяснилось что этот бинарный файл сделелан питноовским модулем pickle и расковырять его вполне реально. Ну вот почему pickle, а не json, yaml или результат питновской функции repr? В старо й сборочной системе под window конфиг Data::Dumper-ом писался.
Вообще у нас регулярно возникает эта проблема.
Мы собираем постгрес или там postgis каокй-нибудь для rhel, а протестировать надо кроме rhel, на rocky, alma и oraclelinux. Собираем для Alt SP 8.2, а тестировать надо и на 8.2 и на 8.4. И так далее. Даже виндов у нас в тестовой системе штук пять - 10, 11, 2016, 2019 и 2022.
А еще бывает какая-нибудь экзотика, которую хорошо бы протестировать на чужом железе. Например, на настоящем железном мейнфрейме или PowerDome. А у нас такого нет, надо тащить на железо заказчика или какого-нибудь интегратора. И как-то светить там наши исходники очень не хочется. А пойди запусти любые регрессионные тесты без исходников.