Giter Site home page Giter Site logo

Comments (7)

rmast avatar rmast commented on June 30, 2024

I thought I had some nose run tests on 22.04, just with these commands:

sudo apt install python3-pip gir1.2-gexiv2-0.10 libexempi-dev libboost-python-dev libexiv2-dev libpng-dev libtiff-dev djvulibre-bin exiv2 python3-pil
pip install py3exiv2
pip install python-xmp-toolkit
pip install nose

from didjvu.

FriedrichFroebel avatar FriedrichFroebel commented on June 30, 2024

According to my tests with CI, this currently affects Python 3.10 only. As Ubuntu 22.04 still uses Python 3.9 according to https://packages.ubuntu.com/search?suite=jammy&section=all&arch=any&keywords=python3-dev&searchon=names, you should have been safe.

Unfortunately, this nose issue seems to occur differently depending on the setup, where your Python version comes from and how you install it. For this reason, it might work in certain setup, while it does not for others. (Similar example from CI: Everything is built on Ubuntu 20.04, shipping with Python 3.8 by default. For this reason we cannot use the convenient python3-x packages there and have to build Boost.Python manually which you normally do not have to.)

This does not change anything about nose being deprecated for quite some time now. Migrating to some up-to-date test runner is an open task for this reason - whether we actually face issues with nose or not in our setup.

from didjvu.

rmast avatar rmast commented on June 30, 2024

from didjvu.

FriedrichFroebel avatar FriedrichFroebel commented on June 30, 2024

No need to re-test it - if it does not work for one setup, we will have to evaluate alternatives anyway, as outlined in my last comment.

from didjvu.

rmast avatar rmast commented on June 30, 2024

For this reason we cannot use the convenient python3-x packages there and have to build Boost.Python manually which you normally do not have to.)

Boost.Python missing the 3.10 support was the reason I found Jammy, as that has 3.10 support in it's Boost.Python apt-package. I didn't put the effort in building it, I preferred a distribution that comes closest to the upcoming 22.04 and that appears to be the developer version of 22.04.

from didjvu.

rmast avatar rmast commented on June 30, 2024

I already dropped the Azure Jammy-image, however for as far as I remember I saw Python 3.10. ... I can retest it.

I now retested with a daily image of a few days back. You're right about the nose incompatibility. I think I was confused by 3.9.10.

from didjvu.

FriedrichFroebel avatar FriedrichFroebel commented on June 30, 2024

Judging from a quick glance and some quick testing, replacing nose with plain unittest (and coverage.py) means some larger refactoring of the tests. Reason is that all assertion methods are imported from nose and all legacy code uses method-based tests instead of the unittest module of the standard library.

The migration process probably looks like this:

  • Create a custom test case class deriving from unittest.TestCase which includes our custom assertions.
  • Migrate all existing tests to a class-based structure, using our custom test case as base class.
  • Replace the nose runners for tests and coverage with unittest.main().
  • Check if tests.tools.fork_isolation is required or can be omitted.

from didjvu.

Related Issues (10)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.