#18558: Test all installed optional packages by default
-------------------------------------+-------------------------------------
Reporter: ncohen | Owner:
Type: enhancement | Status: needs_review
Priority: major | Milestone: sage-6.8
Component: doctest framework | Resolution:
Keywords: | Merged in:
Authors: Nathann Cohen, | Reviewers:
Jeroen Demeyer | Work issues:
Report Upstream: N/A | Commit:
Branch: u/jdemeyer/18558 | 59af6983b05b6581ef1282cdec41d6e63ad82459
Dependencies: #18456, #18124, | Stopgaps:
#18559, #18563 |
-------------------------------------+-------------------------------------
Comment (by kcrisman):
> > I disagree, because this means that the (old) default behavior of not
getting doctest failures will be replaced (possibly) by lots of perhaps-
very-confusing doctest errors, with this branch.
>
> Okay. So let us have this conversation here. For a start, do we agree
that we are talking about users running doctests with optional packages
installed? If so, we cannot call them beginners.
Disagree already. There are lots of places it warns people to run
doctests to check that Sage works, and likewise there are a number of
optional packages that people "just need". In R certainly optional
packages are pretty much the whole point of using the system - not so much
in Sage, but for instance I can very easily imagine someone using #18536
installing `gambit` brainlessly for the sole purpose of solving non-
cooperative games.
> Since you insist on having this conversation here, I also wonder why you
think that it is doctest-related. If you are thinking of users running an
old version of a package, which would thus break Sage code, then clearly
it is a problem of a much wider scope than doctest testing, isn't it ?
?? Not at all; using an old version of a package might not at all break
any existing Sage code. It might only change something like (again using
the game example) the example decimal representation of a specific answer,
for instance, and one that would only be noted if one were using that
optional package.
> In particular, I do not believe that there is anything related to that
which can be dealt with at the level of doctest. What you request is a way
to detect that the installed package is too old to be used for this or
that feature, and such a feature cannot be implemented without knowing
each package individually.
Maybe... I think instead I am imagining that Sage could detect whether the
latest version (for a given version of Sage) was installed. R does this
all the time. But maybe that is too hard now because we don't really have
a concept of "version of Sage required for this version of optional
package X" or vice versa.
> If such a thing should be implemented, then we would need the
`is_package_installed` function to be able to deal with version numbers,
and thus be able to check whether the current version is sufficiently new.
Yes, or something analogous to that. After all, aren't the current
package numbers already in `build/pkgs/pkg_name/version` or something? It
could just check that the packages which are installed match. (Not
necessarily for old-style, but that is presumably yet another snag.)
> It is a question for sage-devel, unless you have strong reasons to
believe that it should be addressed by this ticket.
>
The only reason I think it belongs on this ticket is because this ticket
would expose the problem. I would say it would do so rather dramatically
except I don't have any evidence for it. But again, here is what I
anticipate:
1. User occasionally runs doctests because is told it's a good idea to
make sure their Sage works.
1. User updates Sage but not some package they use, because that wasn't
announced somewhere they saw it (git logs are not announcements)
1. User runs doctests and gets mysterious failures that seem to be related
to updating Sage, but are actually related to not updating package.
1. User sends email to sage-devel or sage-release or sage-support or
ask.sagemath or whatever.
1. Someone whose time is better spent on real bugs has to figure out what
the heck happened.
Without this ticket, that is much less likely to happen, since the person
would have to be running optional doctests - and I would agree that such a
person is not so likely to be a beginner. But that's not what would
happen here.
Anyway, if two people (e.g. you and Jeroen) feel like it's not worth
dealing with here (and it probably would be a big change) I won't complain
further, except to say "I told you so" if it happens and to be very happy
if it turns out it doesn't. I did want to make sure it got raised,
though.
--
Ticket URL: <http://trac.sagemath.org/ticket/18558#comment:91>
Sage <http://www.sagemath.org>
Sage: Creating a Viable Open Source Alternative to Magma, Maple, Mathematica,
and MATLAB
--
You received this message because you are subscribed to the Google Groups
"sage-trac" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
To post to this group, send email to [email protected].
Visit this group at http://groups.google.com/group/sage-trac.
For more options, visit https://groups.google.com/d/optout.