Есть ли подобный virtualenv инструмент для c ++? - PullRequest
6 голосов
/ 29 августа 2011

Я обнаружил проблему с тестовой средой в проблеме c ++.

У нас есть машина, которая загружает код из системы контроля версий и, собирает его и выполняет модульный тест, ничего нового.

Проблема возникает, когда мы добавляем новую зависимость в наш проект.Мы разрабатываем много функций одновременно, и это довольно распространенное явление.В этом случае мы должны дать совет тестировщикам и дать им простой способ воспроизвести среду компиляции ...

И я подумал, есть ли другой простой способ пройти через это ... не знаюкакой-то инструмент, например virtualenv или buildout для python.

Я искал в Google, но безуспешно.

Любая помощь будет оценена.

Ответы [ 2 ]

1 голос
/ 29 августа 2011

Вы всегда можете добавить все зависимости в систему контроля версий и предоставить автоматические сценарии, которые установят необходимые подсистемы. Где я работаю, если вы просто загружаете текущую версию из репозитория, вы можете за один шаг создать образ ISO, который может быть установлен тестировщиками на любом компьютере, который они хотят. Образ содержит все, от ОС до приложения.

В зависимости от конкретной ситуации вы можете начать с более мелких шагов, таких как добавление зависимостей в хранилище и проверка там тестировщиками, появляется ли новый файл или изменяется версия.

0 голосов
/ 29 августа 2011

Нет готового инструмента, AFAIK, за исключением, может быть, CMake , который может управлять такими вещами для вас.

Для C ++ довольно легко управлять "вручную", так как вы можете установитьПеременные среды LIB, LIBPATH и PATH для тщательно отобранных каталогов.Никаких site.py, яиц, файлов .pth и т. П., Как в Python.

Мы делаем это в нашем магазине, тщательно настраивая нашу среду сборки / разработки и контролируем все ревизии (в основном скрипты, которые загружают огромныемолнии готовых библиотек и распаковка их в нужных местах).

Маленькие библиотеки копируются в обычные каталоги, большие получают свои собственные записи в env-vars.

Это работает одинаково хорошо для Pythonи Java.Еще не пробовал другие языки ... пока.:)

...