ALT Linux Team development discussions
 help / color / mirror / Atom feed
* [devel] repocop 0.07 changes
@ 2008-03-24 19:05 Igor Vlasenko
  2008-03-24 19:18 ` Alexey Tourbin
  0 siblings, 1 reply; 5+ messages in thread
From: Igor Vlasenko @ 2008-03-24 19:05 UTC (permalink / raw)
  To: devel

Уважаемые коллеги,

В сизифе сейчас repocop 0.06, ориентированный на тесты без состояние.
Хочу рассказать о направлении разработки repocop 0.07.

repocop 0.07 полностью совместим и будет совместим c существующими
тестами, но в нем будет одно важное улучшение.
Больше всего в repocop 0.06 меня напрягала необходимость 2 часа прогонять
через тест весь репозиторий, если в тесте хоть что-то меняется.

Новая архитектура должна устранить этот недостаток.

Многие тесты совместно используют одни и те же данные. Примером может 
служить база данных rpm.db, которая создается в процессе работы repocop 0.07. 
Для каждого пакета в ней содержатся список файлов, значения
полей Group:, URL:, Requires:, Provides, скрипты %postun, и т. д., 
т.е. вся информация, которая содержится в заголовке rpm пакета.

Кроме того, логика обработки данных меняется гораздо чаще, 
чем структура хранения данных. 

Чтобы повысить повторную используемость кода и не прогонять весь репозиторий 
через тесты каждый раз, когда в тесте меняется логика, в repocop 0.07 введена 
новая сущность - коллекторы (сборщики данных).
Коллекторы устроены в точности как тесты, но не возвращают никаких результатов, 
а только собирают данные для своей базы. Собранные коллекторами данные могут 
использоваться в тестах при вызове скриптов <testname>/done.

Это позволяет дорогие по машинному времени вызовы <testname>/test 
сосредоточить в коллекторах, а в тестах использовать дешевые вызовы 
<testname>/done.

Рекомендуемый формат хранения собранных коллектором данных - файл SQLite. 
Архитектура repocop не запрещает альтернативные форматы хранения, 
но разнородные форматы данных могут затруднить обработку данных тестами. 
Например, данные из разных файлов SQLite можно обработать одним запросом 
SQLite, чего не скажешь о разнородных форматах.

-- 

Dr. Igor Vlasenko
--------------------
Topology Department
Institute of Math
Kiev, Ukraine



^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2008-03-28 21:39 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2008-03-24 19:05 [devel] repocop 0.07 changes Igor Vlasenko
2008-03-24 19:18 ` Alexey Tourbin
2008-03-24 19:34   ` Igor Vlasenko
2008-03-28 20:28     ` Alexey Tourbin
2008-03-28 21:39       ` Igor Vlasenko

ALT Linux Team development discussions

This inbox may be cloned and mirrored by anyone:

	git clone --mirror http://lore.altlinux.org/devel/0 devel/git/0.git

	# If you have public-inbox 1.1+ installed, you may
	# initialize and index your mirror using the following commands:
	public-inbox-init -V2 devel devel/ http://lore.altlinux.org/devel \
		devel@altlinux.org devel@altlinux.ru devel@lists.altlinux.org devel@lists.altlinux.ru devel@linux.iplabs.ru mandrake-russian@linuxteam.iplabs.ru sisyphus@linuxteam.iplabs.ru
	public-inbox-index devel

Example config snippet for mirrors.
Newsgroup available over NNTP:
	nntp://lore.altlinux.org/org.altlinux.lists.devel


AGPL code for this site: git clone https://public-inbox.org/public-inbox.git