-
-
Notifications
You must be signed in to change notification settings - Fork 565
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
Ignored OSErrors in test output on Cygwin #25107
Comments
comment:1
I suspect this probably started with #24343 somehow. |
comment:2
Obvious question: is it a Sage or Python bug? I don't have a high opinion of Python's |
Author: Erik Bray |
Commit: |
comment:4
This should resolve the issue for now--considering that this is a blocker AFAIC this workaround should be good enough for now. In the meantime I would like to continue to rethink this code and how it handles files. New commits:
|
Branch pushed to git repo; I updated commit sha1. This was a forced push. New commits:
|
comment:6
Oops, rebased on correct branch. |
comment:7
Can you wrap it in a if-cygwin branch instead of making assumptions about which temp file implementation is used? |
comment:8
It's not making assumptions--as written it's making a feature check that isn't necessarily platform specific, which is usually preferable. |
comment:9
Do we really need to close the file there? Maybe a different and simpler solution would be to just remove that |
comment:10
I alluded to this in [#comment:3 3] but the file will be deleted when the object is closed anyways, whether that close is explicit, or comes sometime later when the object goes out of scope and its Anyways, that was added for avoiding |
comment:11
OK, I think I understand the reasons now, but it wasn't obvious from reading the code (including the comments). So I agree with the fix, but the comment should be improved. I'll think about that tomorrow. |
comment:12
The real problem is that the file is closed twice: once in the master process and once in the child. It can only be deleted once. |
comment:13
Replying to @jdemeyer:
Right, that's whole point. I more or less wrote that in the comment but I guess it should have been clearer... |
comment:14
Perhaps to give slightly more detail as well, regarding the usage/implementation of the In Sage here we are using the However, there is also The problem arises here because the
So the problem is that on Cygwin the This has actually been a problem for a long time, and I've seen it show up in the tests before rather randomly. But it was relatively uncommon since most of the time the file was closed first in the parent process and we didn't see the message from the child process. |
comment:15
Also, while I'm calling the behavior of |
Branch pushed to git repo; I updated commit sha1. New commits:
|
comment:17
I improved (I think) the comment and also linked to my comment above for more detail. I don't think it's such a deep problem though (albeit annoying)... New commits:
|
Reviewer: Jeroen Demeyer |
Changed branch from u/embray/cygwin/temp-file-wrapper-del to |
When running the test suite on Cygwin, whether a test passes or fails the test log is full (for each test module of output like):
in particular this of course causes tests of the doctest runner itself to fail, and it's also making all the patchbot runs fail.
Component: porting: Cygwin
Author: Erik Bray
Branch/Commit:
85576e9
Reviewer: Jeroen Demeyer
Issue created by migration from https://trac.sagemath.org/ticket/25107
The text was updated successfully, but these errors were encountered: