Ticket #11887 (closed defect: fixed)
cython.py: don't create .html and .c files when running compile_and_load
| Reported by: | jhpalmieri | Owned by: | jason |
|---|---|---|---|
| Priority: | blocker | Milestone: | sage-4.7.2 |
| Component: | misc | Keywords: | |
| Cc: | leif | Work issues: | |
| Report Upstream: | N/A | Reviewers: | Jeroen Demeyer |
| Authors: | Leif Leonhardy, John Palmieri | Merged in: | sage-4.7.2.rc0 |
| Dependencies: | Stopgaps: |
Description
This ticket should fix for the problem discussed at at #11680: the patch there causes some .c and .html files to be created when doctesting.
Attachments
Change History
comment:1 Changed 21 months ago by leif
I was just about to open such a ticket... (with priority "trivial" though) :)
If my patch is sufficient for you, you could review it... :P
comment:2 Changed 21 months ago by jhpalmieri
Leif: I've listed both of us as authors for the patch. I took your patch from #11680 and added a little bit. There is a lot more to be done here (see for example the "TODO" in the patch), but I don't want to work on it right now.
comment:3 Changed 21 months ago by jhpalmieri
- Status changed from new to needs_review
I'm happy with your part of the patch, by the way.
comment:4 Changed 21 months ago by leif
See the function :func:`sage.misc.cython.cython` for documentation
for the other inputs.
which leads to TODO... :)
I'm almost ok with your changes, will test them shortly, so we should have a positive review then.
I think compile_and_load() should also take keyword arguments, but that's for another ticket. Perhaps just add another TODO.
comment:5 follow-up: ↓ 6 Changed 21 months ago by jhpalmieri
I would consider the phrasing
The other inputs should be described in the documentation for the
function :func:`sage.misc.cython.cython`.
I couldn't think of any way to say it which wouldn't require changing if (when) the cython function actually gets documented.
comment:6 in reply to: ↑ 5 Changed 21 months ago by leif
Replying to jhpalmieri:
I would consider the phrasing
The other inputs should be described in the documentation for the
function :func:`sage.misc.cython.cython`.
I couldn't think of any way to say it which wouldn't require changing if (when) the cython function actually gets documented.
That's pretty ok XD
comment:7 Changed 21 months ago by dimpase
- Status changed from needs_review to needs_info
After applying this patch make ptestlong ends with
...
----------------------------------------------------------------------
The temporary doctesting directory
/home/dima/.sage/tmp/spms_banana-30578
was not removed: it is not empty, presumably because doctests
failed or doctesting was interrupted.
----------------------------------------------------------------------
The following tests failed:
sage -t -long -force_lib devel/sage/sage/interfaces/sage0.py # 11 doctests failed
----------------------------------------------------------------------
Total time for all tests: 2884.8 seconds
make: *** [ptestlong] Error 128
The test in question gives the following:
sage -t -long -force_lib "devel/sage/sage/interfaces/sage0.py"
**********************************************************************
File "/usr/local/src/sage/sage-4.7.2.alpha3/devel/sage/sage/interfaces/sage0.py", line 448:
sage: F == sage0(F)._sage_()
Exception raised:
Traceback (most recent call last):
File "/usr/local/src/sage/sage-4.7.2.alpha3/local/bin/ncadoctest.py", line 1231, in run_one_test
self.run_one_example(test, example, filename, compileflags)
File "/usr/local/src/sage/sage-4.7.2.alpha3/local/bin/sagedoctest.py", line 38, in run_one_example
OrigDocTestRunner.run_one_example(self, test, example, filename, compileflags)
File "/usr/local/src/sage/sage-4.7.2.alpha3/local/bin/ncadoctest.py", line 1172, in run_one_example
compileflags, 1) in test.globs
File "<doctest __main__.example_20[4]>", line 1, in <module>
F == sage0(F)._sage_()###line 448:
sage: F == sage0(F)._sage_()
File "/usr/local/src/sage/sage-4.7.2.alpha3/local/lib/python/site-packages/sage/interfaces/sage0.py", line 458, in _sage_
return load(P._local_tmpfile())
File "sage_object.pyx", line 775, in sage.structure.sage_object.load (sage/structure/sage_object.c:7811)
IOError: [Errno 2] No such file or directory: '/home/dima/.sage//temp/spms_banana/6133//interface//tmp6170.sobj'
**********************************************************************
File "/usr/local/src/sage/sage-4.7.2.alpha3/devel/sage/sage/interfaces/sage0.py", line 466:
sage: four_gcd(6)
Expected:
2
Got:
<BLANKLINE>
**********************************************************************
(truncated)
any clue?
Dima
comment:8 follow-up: ↓ 9 Changed 21 months ago by jhpalmieri
I'm unable to duplicate this failure. On the other hand, I think I've seen failures for the file sage0.py randomly and nonrepeatably, having nothing to do with this ticket. Is this failure repeatable, and if so, can you confirm that it happens because of the patch here?
comment:9 in reply to: ↑ 8 Changed 21 months ago by dimpase
- Status changed from needs_info to needs_review
Replying to jhpalmieri:
I'm unable to duplicate this failure. On the other hand, I think I've seen failures for the file sage0.py randomly and nonrepeatably, having nothing to do with this ticket. Is this failure repeatable, and if so, can you confirm that it happens because of the patch here?
Yesterday I had duplicated it like 5 or 6 times, and today it doesn't want to be duplicated. Scary...
comment:10 Changed 20 months ago by jdemeyer
This ticket is listed as the only remaining blocker for sage-4.7.2. Could somebody please review this ticket or somehow decide it's not worth merging in sage-4.7.2.
comment:11 Changed 20 months ago by jhpalmieri
I can give line 633 of the patch a positive review: that was contributed by Leif. The rest of it should be reviewed by someone other than me.
comment:12 Changed 20 months ago by jdemeyer
- Status changed from needs_review to closed
- Reviewers set to Jeroen Demeyer
- Resolution set to fixed
- Merged in set to sage-4.7.2.rc0
comment:13 Changed 20 months ago by jhpalmieri
See #11954 for a follow-up.

