2008-11-30 3 views
1

Я говорю о тестировании пакета, который вы строите, особенно тот, который порождает демона и/или скриптов с init.d.Какой метод (ы) вы используете для тестирования пакета debian/ubuntu?

Вы заходите в какой-то chroot? Создаете ли вы виртуализованный дистрибутив и оторвите его? Как вы проверяете свои зависимости от времени выполнения и набор тестов, не нарушая работу своего компьютера-разработчика в следующий раз, когда вы запускаете свои тесты?

ответ

0

chroots обычно используются для тестирования пакетов.

+0

Но разве chroot не попадает под такие вещи, как скрипты init.d? pbuilder, конечно, с этим трудно справиться. – andrew 2008-11-30 22:07:09

2

Виртуализированная машина, которую вы сбросили до «чистого» состояния после тестирования, была бы самой простой. Функции VMWare и Parallels «Snapshot» идеально подходят для этого.

Вы должны установить Debian или Ubuntu, затем сделать снимок (How-to for VMware и Parallels). Затем вы установите свой пакет и протестируете установку, использование и удаление.

После того, как вы сделали, это тривиально, чтобы восстановить снимок вы взяли (гораздо быстрее, чем переустановка полностью)

+0

Не сбросил ли снимок на снимки и все изменения, внесенные в вашу кодовую базу? – andrew 2008-11-30 22:43:01

0

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

Чтобы протестировать сборки пакетов, вам необходимо использовать инструмент на основе chroot, такой как pbuilder, cowbuilder или sbuild. Это гарантирует, что пакет будет построен с правильной зависимостью от целевого дистрибутива.

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

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

Вы можете работать только с одним снимком, но VirtualBox поддерживает несколько снимков, которые дают дополнительную гибкость при сложных тестах.

Смежные вопросы