AcademySoftwareFoundation / OpenCue

A render management system you can deploy for visual effects and animation productions.
https://www.opencue.io
Apache License 2.0
832 stars 202 forks source link

[rqd] Python tests for rqd only v2 #1548

Open lithorus opened 1 month ago

lithorus commented 1 month ago

Link the Issue(s) this Pull Request is related to. Is loosely related to https://github.com/AcademySoftwareFoundation/OpenCue/issues/1441

Summarize your change. Introduces small tests for RQD only on pull requests that tests "vanilla" python version from 3.7 to 3.11.

This is to make sure that rqd and basic pycue works with as many versions of python and not just the ones used by VFX platform and perhaps even prepare support for cutting edge python versions.

It also introduces the requirements directory to include more split up dependencies.

Edit : This is based on PR #1547 Have not added python 3.13 since it doesn't support 2to3 anymore. Will need another solution for that (perhaps a simple sed command?)

DiegoTavares commented 1 month ago

Sorry, I've accidentally marked this PR as ready.

DiegoTavares commented 1 month ago

I like where this PR is going.

There's one thing I've been wanting to change on the project for a long time related to how we declare dependencies on requirements.txt and the whole setup.py weirdness. Python now support project configuration using a toml file which seems to be easier to maintain and more readable.

I'm not proposing this should be tackled on this PR, but since it proposes a new directory for requirements, maybe it is a good time to investigate what it would take to convert the setup.py to toml.

There's a good guideline here: https://medium.com/@devsjc/the-complete-guide-to-pyproject-toml-replace-setup-py-and-requirements-txt-553f899dc267

lithorus commented 1 month ago

Very interesting. Looks much better than the directory structure and I really like the optional part. But this PR was a good exercise into splitting it up.

DiegoTavares commented 3 weeks ago

Looking at the unit tests for rqd, I get the sense they are not really being executed.

It looks like both runLinux and runDarwin are failing but the ci job is still being marked as Success

DiegoTavares commented 3 weeks ago

It turns out unittest was not reporting test interruptions, so only part of our test were running.

Here's my PR fixing some of the tests and replacing unittest with pytest (WIP) https://github.com/AcademySoftwareFoundation/OpenCue/pull/1560