I am testing a new version of the standard spkg eclib, see
https://trac.sagemath.org/ticket/27360. I am getting doctesting failures caused *only* because of changes in output buffering resulting in the tail end of the output of one command appearing at the beginning of the output of the next. For example if you do
sage: E = mwrank_EllipticCurve([0,0,1,-7,6])
sage: EQ = mwrank_MordellWeil(E)
sage: EQ.search(2)
as in src/sage/libs/eclib/interface.py near the end, then the last of those commands causes eclib (which is a C++ library) to output some progress to stdout. In that files there are several examples of that sort, causing output to stdout as a side-effect. In 8.7.beta5 (and all previous versions including many previous versions of eclib) all is well, but after building the new eclib version (which makes no relevant changes whatsoever) I find that half of the last line of the side-effect output is not being sent to the output stream until the next doctest is run, with the result that both test fail since the output is not what was expected.
I based my working branch on 8.7.beta5 which works fine. I tried adding some sys.stdout.flush() commands in the code and/or the doctests but it makes no difference -- presumably eclib's stdout is not the same channel as python's.
Any suggestions other than "you must have made some change in eclib which caused this"? Since I didn't!?
John