[devel] [SCM] packages/apt: tags/0.5.15lorg2-alt76

Dmitry V. Levin ldv на altlinux.org
Ср Окт 23 15:00:57 MSK 2019


On Fri, Oct 18, 2019 at 09:42:06AM +0000, Aleksei Nikiforov wrote:
> Update of /people/darktemplar/packages/apt.git
> 
> Changes statistics since common ancestor `0.5.15lorg2-alt74' follows:
>  apt.be.po                                          |   9 +-
>  apt.ru.po                                          |   9 +-
>  apt.spec                                           |  44 +-
>  apt/apt-pkg/Makefile.am                            |   2 +-
>  apt/apt-pkg/packagemanager.cc                      |   4 +-
>  apt/apt-pkg/packagemanager.h                       |  30 +-
>  apt/apt-pkg/pkgcache.cc                            |   2 +-
>  apt/apt-pkg/pkgcache.h                             |  17 +-
>  apt/apt-pkg/rpm/rpmhandler.cc                      |  26 +-
>  apt/apt-pkg/rpm/rpmhandler.h                       |   2 +
>  apt/apt-pkg/rpm/rpmindexfile.cc                    |   8 +-
>  apt/apt-pkg/rpm/rpmpm.cc                           | 174 +++++-
>  apt/apt-pkg/rpm/rpmpm.h                            |  16 +-
>  apt/apt-pkg/rpm/rpmsystem.cc                       |  17 +-
>  apt/po/de_DE.po                                    |   9 +-
>  apt/po/es_ES.po                                    |   9 +-
>  apt/po/it_IT.po                                    |   9 +-
>  apt/po/ja.po                                       |   9 +-
>  apt/po/pt_BR.po                                    |   9 +-
>  apt/po/ru.po                                       |   9 +-
>  apt/test/integration/framework                     | 656 +++++++++++++++++++++
>  apt/test/integration/run-tests                     |  66 +++
>  .../specs/conflicting-package-distupgrade.spec     |  18 +
>  .../integration/specs/conflicting-package-one.spec |  17 +
>  .../integration/specs/conflicting-package-two.spec |  17 +
>  apt/test/integration/specs/missing-dependency.spec |  17 +
>  apt/test/integration/specs/simple-package-new.spec |  19 +
>  .../integration/specs/simple-package-noarch.spec   |  17 +
>  .../specs/simple-package-update-conflict.spec      |  17 +
>  .../integration/specs/simple-package-update.spec   |  15 +
>  apt/test/integration/specs/simple-package.spec     |  15 +
>  apt/test/integration/specs/simple-virtual.spec     |  17 +
>  apt/test/integration/test-apt-cache-depends-simple |  38 ++
>  apt/test/integration/test-apt-cache-dump           |  92 +++
>  apt/test/integration/test-apt-cache-dumpavail      | 115 ++++
>  apt/test/integration/test-apt-cache-pkgnames       |  32 +
>  apt/test/integration/test-apt-cache-search-simple  |  38 ++
>  apt/test/integration/test-apt-cache-show-simple    |  67 +++
>  apt/test/integration/test-apt-cache-showpkg-simple |  44 ++
>  apt/test/integration/test-apt-cache-stats          |  36 ++
>  apt/test/integration/test-apt-cache-unmet          |  31 +
>  .../integration/test-apt-cache-whatdepends-simple  |  43 ++
>  apt/test/integration/test-apt-check-simple         |  26 +
>  apt/test/integration/test-apt-config-dump          |  61 ++
>  apt/test/integration/test-apt-distupgrade-conflict |  30 +
>  .../test-apt-distupgrade-mutual-conflict           |  31 +
>  apt/test/integration/test-apt-distupgrade-obsolete |  26 +
>  apt/test/integration/test-apt-distupgrade-simple   |  23 +
>  .../test-apt-install-conflicting-packages          |  27 +
>  apt/test/integration/test-apt-install-double       |  17 +
>  apt/test/integration/test-apt-install-simple       |  13 +
>  apt/test/integration/test-apt-lua-simple           |  82 +++
>  apt/test/integration/test-apt-mark-simple          |  58 ++
>  apt/test/integration/test-apt-method-http          |  29 +
>  apt/test/integration/test-apt-method-https         |  56 ++
>  .../test-apt-method-https-invalid-cert-hostname    |  41 ++
>  apt/test/integration/test-apt-remove-double        |  22 +
>  apt/test/integration/test-apt-remove-simple        |  15 +
>  .../integration/test-apt-rpm-bash-scripts-simple   |  21 +
>  apt/test/integration/test-apt-update-simple        |  19 +
>  apt/test/integration/test-apt-upgrade-simple       |  26 +
>  61 files changed, 2371 insertions(+), 93 deletions(-)
> 
> Changelog since common ancestor `0.5.15lorg2-alt74' follows:
> commit 92edeb8815a77eccdbc221edf05680659807a571
> Author: Aleksei Nikiforov <darktemplar на altlinux>
> Date:   Tue Oct 8 11:11:38 2019 +0300
> 
>     0.5.15lorg2-alt76
>     
>     - Added integration test suite.

Тестирование apt'а критически важно и я всячески это приветствую.
Просьба обратить внимание на следующие моменты.

> commit 921b58bdef65edea9908d38bed16cb1e0fe5d0e3
> Author: Aleksei Nikiforov <darktemplar на altlinux>
> Date:   Fri Oct 11 16:47:43 2019 +0300
> 
>     Check subsecond modification time for cached files

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

По-хорошему, в commit message должно быть написано, что эта фича была
реализована в первую очередь для того, чтобы включить тестирование.

> commit 31b29bd8c12dbf2a5fcee3724e9b170a73deec63
> Author: Aleksei Nikiforov <darktemplar на altlinux>
> Date:   Fri Oct 4 11:04:45 2019 +0300
> 
>     Add initial integration tests
>     
>     Based on tests framework from Debian.

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

В данном случае это совсем просто сделать, достаточно сперва
импортировать каталог test из Debian apt в неизменном виде,
после чего вносить наши изменения.

Далее, очень важно иметь возможность видеть, что именно покрыто тестами,
без этого нет надёжного способа выяснить, было ли протестировано то или
иное нововведение.  Для этого есть готовые инструменты.  Поскольку проект
использует autoconf и automake, можно взять готовый ax_code_coverage.m4 из
проекта autoconf-archive и адаптировать сборочные файлы согласно описанию.
После этого можно будет проводить сборку в режиме --enable-code-coverage,
и при наличии пакета lcov в сборочной среде с помощью
"make code-coverage-capture" после выполнения тестов можно будет увидеть
тестовое покрытие.


-- 
ldv
----------- следующая часть -----------
Было удалено вложение не в текстовом формате...
Имя     : signature.asc
Тип     : application/pgp-signature
Размер  : 801 байтов
Описание: отсутствует
Url     : <http://lists.altlinux.org/pipermail/devel/attachments/20191023/d6fdb46b/attachment-0001.bin>


Подробная информация о списке рассылки Devel