-
Notifications
You must be signed in to change notification settings - Fork 280
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
TST: yt/visualization/volume_rendering/tests/test_scene.py::test_annotations
is failing in CI
#4785
Comments
Notes:
|
I just confirmed this over in #4786:
|
was trying to re-run the failed test with might also be worth doing a run that randomizes test order? |
Ideally yes, though I suspect that would be very unstable if we did it now because pollution in our test is possibly high, and it's likely that some of them are only passing because of other tests' side effects (I've put a lid on this for a while ...). |
ok, well i've narrowed down the subset of tests that you need to run to get the failure: just running the tests in
no indication of why yet. Also, when re-running the failed test, it does pass on second run. |
very close to an answer! I used the https://github.com/asottile/detect-test-pollution pytest plugin to find that
when reversing the order, tests pass no problem. Looking at |
Great job ! I may be able to give a second read to those tests as early as tomorrow. Meanwhile: friendly ping @agurvich |
OK. I think i'm done for the day, but one extra note: I still get the failure when I change |
don't talk about my trash like that! hahaha. I don't have a working The situation with the symlinks is that the firefly data needs to be written out to disk in order to be read in by the browser (unless it's passed through a websocket using flask). However, because of browser security features, websites (or webapps) can't read files just anywhere on disk, they have to be subdirectories of the app itself. So when you're hosting this app locally on your computer, the data has to be visible from a path that's a subdirectory of the app files (which int he case of being installed via pip, is hidden in your Or will I have to build |
haha, many apologies :D I don't actually think that the symlinks are the culprit, I was just grasping at straws cause I'm rather baffled by this failure. Here's a quick summary of the issue:
here's an example of the failing test that reads back in an image that was written to disk. |
So here is what I get when I build locally, which seems consistent with ageller/Firefly#177 . The solution there was to remove the dependency on My hypothesis is that depending on the order/whether the test has been run is that |
@chrishavlin I was so close to finishing my message before you posted, haha! What do you think of my hypothesis? What is the best way to proceed? |
Ah... looking at the error you posted above, I would be very surprised if the
How could something like this fail because of whether or not something is imported into the environment...? Maybe the |
and it doesn't look like Pyarrow is being installed in the test run either (but I liked the idea :) ) |
ooOOoo, I'd say it is progress. maybe pyarrow is being installed and I didn't search the logs properly |
and I just reproduced it as well after installing PyArrow! |
3rd time was not the charm, still getting the above assertion error in test_annotations when I do
seemingly no matter how many times I do it (which seems unlike the situation in the CI environment?). |
Hey!!! I'll call that progress!!!! |
Well, it passes if you change the order so that
|
I gotta run now, thank you for your help so far!! |
Ahhh I see, yes, can confirm, that passed for me. |
NP. At this point I'm gonna leave it to you and @neutrinoceros now that you can get your hands dirty locally, but let me know if you want me in the trenches as well. |
Thank you both for working on this. There seem to be some confusion around
So, I don't think pyarrow is necessary to reproduce locally, it just helps dodging pandas' deprecation warning, but I think downgrading pandas would have the same effect. To help reduce confusion I'd suggest merging #4784 😇 |
Ok, we have an answer! and not pyarrow related after all. So turns out when you import firefly, it modifies the default matplotlib
prints
In yt, |
and @agurvich thanks for you help yesterday! |
I think I found where this change happens: abg_python is a dependency to Firefly, and it leaks Matplotlib configuration on import. The reason we're finding out now is that the culprit commit is from Nov 2022, but there was no release of so, at the risk of being called names: ping @agurvich 🙈 |
moving the discussion upstream as there's nothing left to be done on our side: agurvich/abg_python#5 |
Bug report
The following test is currently failing in CI, however I couldn't reproduce the error locally
yt/visualization/volume_rendering/tests/test_scene.py::test_annotations
see https://github.com/yt-project/yt/actions/runs/7626456177/job/20772882827
The text was updated successfully, but these errors were encountered: