[devel] Python2 policy: тесты в подпакетах
Vitaly Lipatov
lav на altlinux.ru
Пт Окт 30 03:25:43 MSK 2020
У нас бесконечно устарело python policy. Как минимум, оно требует
обновления в связи с python3.
Но я хотел бы выяснить, зачем было рекомендовано запаковывать тесты:
> Рекомендуется запаковывать тесты и примеры (содержимое каталогов
> %python_sitelibdir/*/test* и %python_sitelibdir/*/example*) в отдельный
> пакет (с одним из суффиксов: -devel, -tests, .tests, -testing,
> -examples).
https://www.altlinux.org/Python_Policy
У нас для python3 такая статистика по суффиксам test*:
8 test
544 tests
Вот эти пакеты-герои, которые просто test:
python3-module-Naked-test - Test for Naked
python3-module-twisted-core-test - Unit tests for Twisted Core (Python
3)
python3-test - The test modules from the main python 3 package
python3-module-numdifftools-test - Test suite for Numdifftools
python3-module-bunch-test - Test for bunch
python3-module-pytools-test - Test for Pytools (Python 3)
python3-module-nine-test - Test for nine
python3-module-pathod-test - Test for pathod
По моим представлениям, тесты нужны для тестирования самого пакета.
Возможно, в редких случаях тесты пакета используются в других тестах, но
в основном паковать тесты не имеет смысла и даже вредно, потому что
из-за этого возникают незамечаемые зависимости нормальных пакетов от
тестовых.
Да, пакеты -tests используются при сборке 346 пакетов.
Но в 70 случаях, например, в этот список попал
python3-module-jsonschema-tests из-за того, что он по ошибке тянется
пакетом python3-module-jsonschema.
Вот слишком популярные тесты, используемые при сборке:
90 python3-module-stevedore-tests
69 python3-module-jsonschema-tests
28 python3-module-sympy-tests
28 python3-module-click-tests
17 python3-module-pygraphviz-tests
17 python3-module-numexpr-tests
16 python3-module-pandas-tests
16 python3-module-numpy-tests
Также выяснилось, что следующие пакеты требуют тестовые (имеют
установочные зависимости на -tests). В ряде случаев зависимость
наверняка излишняя.
python3-module-h5py-2.10.0-alt2:sisyphus+247694.200.3.3 на 1584382664
python3-module-graphcanvas-4.1.0-alt1:sisyphus+239534.100.1.1 на 1571643621
python3-module-sqlalchemy_monetdb-1.0.0-alt1.1:sisyphus+228373.1000.2.3 на 1556720798
python3-module-greentest-1.4.0-alt2:sisyphus+245000.21776.79.1 на 1583233340
python3-module-numexpr-1:2.6.2-alt4:sisyphus+245000.26700.79.1 на 1583243505
python3-module-pygraphviz-1.5-alt3:sisyphus+245000.6200.84.1 на 1583632822
python3-module-Chaco-4.8.0-alt2:sisyphus+247694.400.3.3 на 1584382930
python3-module-blosc-1.5.1-alt3:sisyphus+245000.27700.79.1 на 1583245296
python3-module-infrae.testbrowser-2.0.2-alt3:sisyphus+245390.200.1.1 на 1580717877
python3-module-scikits.statsmodels-1:0.11.1-alt1:sisyphus+256803.2200.7.1 на 1598543643
python3-module-pandas-1.1.1-alt2:sisyphus+257610.300.8.1 на 1599840378
python3-module-dask-2.10.1-alt1:sisyphus+245499.40.2.1 на 1580904835
python3-module-xarray-0.15.0-alt1:sisyphus+245497.20.3.1 на 1580858418
python3-module-silx-examples-0.10.1-alt1:sisyphus+245000.54200.84.1 на 1583666545
python3-module-appier_extras-0.19.4-alt1:sisyphus+231292.200.1.1 на 1559406746
python3-module-testrepository-0.0.20-alt2:sisyphus+227532.1300.1.3 на 1555940636
python3-module-testtools-2.3.0-alt2:sisyphus+227976.100.1.2 на 1555992585
python3-module-pallets-sphinx-themes-1.1.3-alt2:sisyphus+242803.100.1.1 на 1576141249
python3-module-flask-1.1.1-alt1:sisyphus+236914.300.4.1 на 1567169521
python3-module-mailman3-3.2.2-alt2:sisyphus+233553.300.1.1 на 1561975698
python3-module-numba-0.51.2-alt1:sisyphus+259194.200.1.1 на 1601903259
python3-module-jsonschema-3.2.0-alt1:sisyphus+254429.700.1.1 на 1593798463
python3-module-xlutils-2.0.0-alt2:sisyphus+244055.240.3.1 на 1578662159
python3-module-mdp-3.5-alt1:sisyphus+240461.200.1.1 на 1573206274
python3-module-oslo.versionedobjects-2.0.2-alt1:sisyphus+253719.2500.3.1 на 1592658301
openstack-ironic-common-1:15.0.0-alt1:sisyphus+253530.600.3.1 на 1592440913
python3-module-falcon-1.4.1-alt1:sisyphus+228348.100.2.1 на 1556629111
python3-module-stevedore-1.32.0-alt1:sisyphus+252870.2540.8.1 на 1591619880
python3-module-theano-1.0.5-alt1:sisyphus+256803.1600.3.1 на 1598456025
python3-module-sympy-1:1.6.1-alt1:sisyphus+254668.400.6.1 на 1597133252
Например, в python3-module-jsonschema был запакован каталог benchmarks,
использующий тесты, поэтому он их тянул.
Или в пакет borg был упакован testsuite, нужный только на этапе
сборочных тестов, и опять же, тянул за собой тесты.
И последнее — следующие модули тащат за собой python3-module-pytest,
хотя вряд ли он им нужен:
python3-module-pyannotate-1.2.0-alt1:sisyphus+260350.100.1.1 на 1603565173
python3-module-soupsieve-2.0-alt1 на 1591873207
python3-module-smpplib-2.1.0-alt1 на 1591873871
python3-module-Flask-Script-2.0.6-alt1 на 1591874781
borg-1.1.13-alt2:sisyphus+260657.100.1.1 на 1604014819
python3-module-hypothesis-5.37.3-alt1:sisyphus+255737.4640.19.1 на 1603374308
python3-module-tox-3.20.1-alt1:sisyphus+260250.100.2.1 на 1603460131
python3-module-translate-3.1.1-alt1:sisyphus+258948.100.1.1 на 1601484536
python3-module-spyder-4.0.1-alt1:sisyphus+245364.4.7.1 на 1580852815
python3-module-xarray-0.15.0-alt1:sisyphus+245497.20.3.1 на 1580858418
python3-module-weasyprint-47-alt1:sisyphus+233460.340.4.1 на 1561830382
python3-module-validictory-1.1.2-alt1:sisyphus+255445.340.2.1 на 1595853021
python3-module-trio-0.10.0-alt1:sisyphus+227470.1400.1.1 на 1555687900
python3-module-tinycss2-1.0.2-alt1:sisyphus+252631.100.1.1 на 1591000665
python3-module-testlink-0.8.1-alt2:sisyphus+240051.100.1.1 на 1572523725
python3-module-testfixtures-6.14.1-alt1:sisyphus+255737.5400.19.1 на 1603374514
python3-module-sniffio-1.0.0-alt1:sisyphus+227470.500.1.1 на 1555687422
python3-module-seaborn-0.10.1-alt1:sisyphus+256803.1500.3.1 на 1598455842
python3-module-remoto-1.1.4-alt1:sisyphus+246578.200.1.1 на 1582029865
python3-module-pyqtgraph-0.11.0-alt2.rc0:sisyphus+245073.100.2.1 на 1581301999
python3-module-pyfakefs-3.7.1-alt1:sisyphus+246069.200.1.1 на 1581604472
python3-module-plumbum-1.6.3-alt2:sisyphus+257359.100.1.1 на 1599157520
python3-module-openpyxl-2.6.2-alt2:sisyphus+258176.100.1.1 на 1600290668
python3-module-nibabel-3.1.1-alt1:sisyphus+256803.1200.3.1 на 1598455737
python3-module-nbclient-0.5.0-alt1:sisyphus+258053.2600.5.1 на 1600242708
python3-module-miio-0.5.3-alt1:sisyphus+258499.100.1.1 на 1600768674
python3-module-mando-0.7.0-alt1:sisyphus+255589.100.1.1 на 1596154107
python3-module-imageio-2.9.0-alt1:sisyphus+256236.200.3.1 на 1597404268
python3-module-h11-0.9.0-alt1:sisyphus+252379.100.1.1 на 1590695967
python3-module-gabbi-1.34.0-alt2:sisyphus+249737.100.1.1 на 1586528957
python3-module-fs-2.4.11-alt2:sisyphus+257603.700.3.2 на 1599686926
python3-module-flit-2.3.0-alt2:sisyphus+256113.100.1.1 на 1597067357
python3-module-erf-1.0.1-alt2:sisyphus+257337.100.1.1 на 1599146938
python3-module-dask-2.10.1-alt1:sisyphus+245499.40.2.1 на 1580904835
python3-module-cssselect2-0.2.1-alt1.1:sisyphus+235505.100.1.1 на 1565020851
python3-module-colorlog-4.2.1-alt1:sisyphus+255462.100.1.1 на 1595872134
python3-module-cairocffi-1.0.2-alt1:sisyphus+233460.140.4.1 на 1561830232
python3-module-async_generator-1.10-alt1:sisyphus+227465.1400.1.2 на 1555756792
python3-module-aspectlib-1.4.2-alt3:sisyphus+245603.100.1.1 на 1580978574
python3-module-SQLObject-3.7.3-alt1:sisyphus+242468.40.2.1 на 1575702292
python3-module-QtAwesome-0.7.2-alt1:sisyphus+255560.100.1.1 на 1596120565
python3-module-pytest-watch-4.2.0-alt1:sisyphus+238682.100.1.1 на 1570207452
python3-module-pytest-services-2.0.1-alt1:sisyphus+242204.100.1.1 на 1575399642
python3-module-libcloud-2.5.0-alt1:sisyphus+231298.100.1.1 на 1559408637
python3-module-iso8601-0.1.11-alt1:sisyphus+227495.1100.1.3 на 1555843037
python3-module-characteristic-14.3.0-alt1.1.1.1 на 1517660577
python3-module-ipython-7.18.1-alt2:sisyphus+258220.400.1.1 на 1600330137
guake-3.7.0-alt1:sisyphus+245894.200.2.1 на 1581507387
codespell-1.17.1-alt1:sisyphus+252230.100.2.1 на 1590403814
python3-module-ceph-common-15.2.5-alt1:sisyphus+258345.300.3.1 на 1600564481
python3-module-wavelets-1.1.1-alt1:sisyphus+256190.400.1.1 на 1597223583
python3-module-scikits.statsmodels-1:0.11.1-alt1:sisyphus+256803.2200.7.1 на 1598543643
python3-module-scikit-learn-0.23.2-alt1:sisyphus+256112.500.1.1 на 1597065953
python3-module-numpy-testing-1:1.19.1-alt1:sisyphus+256803.200.2.1 на 1598449250
python3-module-numdifftools-test-0.9.12-alt2.git20150828.1:sisyphus+249205.100.1.1 на 1585839379
python3-module-libsass-0.20.1-alt1:sisyphus+257025.100.1.1 на 1598765985
python3-module-tinycss-0.4.0-alt1:sisyphus+233577.3100.3.2 на 1562121468
python3-module-ipatests-4.8.9-alt1:sisyphus+257014.1100.9.1 на 1602206763
python3-module-flaky-3.7.0-alt1:sisyphus+257831.100.1.1 на 1599752523
python3-module-sybil-1.4.0-alt1:sisyphus+255737.5300.19.1 на 1603374464
--
С уважением,
Виталий Липатов,
ALT Linux Team
Подробная информация о списке рассылки Devel