On Sun, Aug 28, 2022 at 09:52:02PM +0300, Dmitry Shachnev wrote:
> Your package still uses nose [1], which is an obsolete testing framework for
> Python, dead and unmaintained since 2015 [2][3].
> 
> If you received this bug report, it means that your package either has a
> build-dependency on python3-nose or uses that package in debian/tests/control.
> If that is not the case, please reply and CC me explicitly.
> 
> Please port your package to one of the alternatives: nose2 [4], pytest [5]
> or unittest from Python standard library [6].
> 
> There is a script called nose2pytest [7] which can assist with migrating from
> nose to pytest.

I had a go at fixing this, but it's hiding some more serious issues.

The tests were disabled in response to https://bugs.debian.org/978259,
so in principle we could just drop the build-dependency.  However, I'm
pretty sure that it's more a matter of the _package_ not working rather
than the _tests_ not working.  (I'm always very suspicious of "disable
the tests" commits for this kind of reason!)  I don't want to fix this
up if it doesn't actually work.

The code you need to initialize a database so that a test suite can
connect to it differs between MySQL versions and between MySQL and
MariaDB, and as far as I can see testing.mysqld only has what you need
for oldish versions of MySQL and not either newer versions of MySQL or
MariaDB; you can see evidence of this sort of thing in pytest-mysql, and
I remember adding similar logic to Storm's test suite based on
pytest-mysql a while back.

testing.mysqld hasn't had any upstream commits since 2018.  There's a
stalled PR for MySQL 8 support
(https://github.com/tk0miya/testing.mysqld/pull/9), but on its own I
think that would make things worse for MariaDB since (at least according
to pytest-mysql) you have to keep using
mysql_install_db/mariadb-install-db for MariaDB.  After hacking in
something like what pytest-mysql does, I found I still needed to add
--auth-root-authentication-method=normal to the mysql_install_db call
(or possibly some different approach would be better - see
https://github.com/tk0miya/testing.mysqld/issues/3).  Even after that,
there's still a test failure in one error case that I didn't get to the
bottom of.

Having said all this, I wondered whether it was worth the effort to fix
it, so I looked for reverse-(build-)dependencies and found that there
currently aren't any.  Thus I think we should just remove this from
Debian.

I've CCed people who've ever uploaded this package and might potentially
be interested.  If I don't hear objections in a week, I'll reassign this
to ftp.debian.org for removal.

Thanks,

-- 
Colin Watson (he/him)                              [cjwat...@debian.org]

Reply via email to