#9967: Allow concurrent running/testing of multiple sage branches
---------------------------------------+------------------------------------
   Reporter:  robertwb                 |       Owner:  ddrake    
       Type:  defect                   |      Status:  needs_work
   Priority:  major                    |   Milestone:  sage-4.6  
  Component:  doctest                  |    Keywords:            
     Author:  Robert Bradshaw          |    Upstream:  N/A       
   Reviewer:  Dan Drake, John Cremona  |      Merged:            
Work_issues:                           |  
---------------------------------------+------------------------------------

Comment(by robertwb):

 Replying to [comment:22 ddrake]:
 > Replying to [comment:21 robertwb]:
 > > >Maybe another way to say this: I want at least one of these
 statements to be true: * "a running session / set of doctests / etc will
 never get confused if the symlink gets switched around"
 > > This should be true. On starting sage, SAGE_BRANCH gets set right away
 if it wasn't set before, so you shouldn't confuse a running/testing sage
 by swapping the symlink out from under it. (All sub-proceses will inherit
 the environment variable.)
 >
 > Hmmm, I'm not sure this is true. Here's what I did:
 >
 > * switch to branch "bar" with "sage -b".
 > * start some doctests in branch foo: {{{env SAGE_BRANCH=foo ./sage -tp 8
 devel/sage-foo/sage/combinat}}}
 > * do {{{rm -fr devel/sage-bar}}}
 >
 > The doctests should continue running and not be effected by the bar
 branch being deleted...but they immediately start failing:
 >
 > {{{
 > sage -t  devel/sage-foo/sage/combinat/q_analogues.py
 > Traceback (most recent call last):
 >   File "/home/drake/.sage//tmp/q_analogues.py", line 2, in <module>
 >     from sage.all_cmdline import *;
 >   File "/home/drake/s/sage-4.6.alpha3/local/lib/python/site-
 packages/sage/all_cmdline.py", line 14, in <module>
 >     from sage.all import *
 >   File "/home/drake/s/sage-4.6.alpha3/local/lib/python/site-
 packages/sage/all.py", line 83, in <module>
 >     from sage.modular.all    import *
 >   File "/home/drake/s/sage-4.6.alpha3/local/lib/python/site-
 packages/sage/modular/all.py", line 9, in <module>
 >   File "/home/drake/s/sage-4.6.alpha3/local/lib/python/site-
 packages/sage/modular/abvar/all.py", line 7, in <module>
 >   File "/home/drake/s/sage-4.6.alpha3/local/lib/python/site-
 packages/sage/modular/abvar/constructor.py", line 22, in <module>
 >   File "/home/drake/s/sage-4.6.alpha3/local/lib/python/site-
 packages/sage/modular/abvar/abvar_newform.py", line 26, in <module>
 >   File "/home/drake/s/sage-4.6.alpha3/local/lib/python/site-
 packages/sage/modular/abvar/abvar.py", line 44, in <module>
 >   File "/home/drake/s/sage-4.6.alpha3/local/lib/python/site-
 packages/sage/groups/all.py", line 8, in <module>
 >   File "/home/drake/s/sage-4.6.alpha3/local/lib/python/site-
 packages/sage/groups/perm_gps/all.py", line 16, in <module>
 >   File "/home/drake/s/sage-4.6.alpha3/local/lib/python/site-
 packages/sage/groups/perm_gps/cubegroup.py", line 110, in <module>
 >   File "/home/drake/s/sage-4.6.alpha3/local/lib/python/site-
 packages/sage/plot/all.py", line 1, in <module>
 >   File "/home/drake/s/sage-4.6.alpha3/local/lib/python/site-
 packages/sage/plot/plot.py", line 4157, in <module>
 > ImportError: No module named disk
 > }}}
 >
 > and various other ImportErrors. So something is following
 local/lib/python/site-packages/sage and not going directly to the branch
 given by SAGE_BRANCH.

 Argh, I thought I had tested this. Well, more work to be done then.

 > > Is there anything else that needs work on this?
 >
 > We're getting there. Sorry for being so picky!

 No, it's good, something like this needs a thorough review.

 > One thing I see: {{{sage-sdist}}} uses {{{SAGE_ROOT/devel/sage/sage}}}
 -- it follows the symlink and packages up the default branch. That's fine,
 but that script calls {{{sage-make_devel_packages}}}, which uses
 {{{SAGE_ROOT/devel/sage-main}}}. This could cause some serious confusion!
 (Then again, setting {{{SAGE_BRANCH}}} won't affect this, and we've gone
 through who-knows-how-many releases with the scripts like this...so
 perhaps we can ignore that issue here.)

 I didn't touch any of the building/packaging stuff. I think a lot of this
 was written by people who just make a whole new copy of sage rather than
 using branches/clones...

-- 
Ticket URL: <http://trac.sagemath.org/sage_trac/ticket/9967#comment:23>
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 post to this group, send email to [email protected].
To unsubscribe from this group, send email to 
[email protected].
For more options, visit this group at 
http://groups.google.com/group/sage-trac?hl=en.

Reply via email to