ALT Linux Team development discussions
 help / color / mirror / Atom feed
From: Igor Vlasenko <vlasenko@imath.kiev.ua>
To: devel@lists.altlinux.org
Subject: [devel] repocop 0.07 changes
Date: Mon, 24 Mar 2008 21:05:36 +0200
Message-ID: <20080324190536.GA19045@dad.imath.kiev.ua> (raw)

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

В сизифе сейчас 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



             reply	other threads:[~2008-03-24 19:05 UTC|newest]

Thread overview: 5+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2008-03-24 19:05 Igor Vlasenko [this message]
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

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20080324190536.GA19045@dad.imath.kiev.ua \
    --to=vlasenko@imath.kiev.ua \
    --cc=devel@lists.altlinux.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link

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