> Is there an apparent common reason for most of these failing tests? Such 
> as code that makes assumptions on sorting (which, IIRC, is different in 
> Python 2 and Python 3)? 
>

Many many methods were relying on sorted list of vertices and edges. We 
have done significant progresses to reduce that.

Another source of problems is that the order of keys of dictionary, i.e., 
list(mydict.keys()) or list(myset), might be different in py2 and py3. This 
breaks many doctests, but may be more complicated, it changes the order in 
which the neighbors of a vertex are visited (check 
G._backend.iterator_nbrs??). Consequently, the returned solution of some 
algorithms might be differents (but still correct). A solution is to tag 
doctests with py2 and py3.

The most complicated issue is certainly edges of Graph: we sort the 
vertices of an edge before returning it... I have no solution for this 
issue. We can decide to stop ordering the vertices, but then we will have 
to update a very large number of algorithms. We could also design a method 
to compare object of different types. 
In fact, the main issue is that we use and compare vertices by id instead 
of mapping vertices to integer and work only with these integers. That 
would ease our life, but it's not easy to change that.

David.

-- 
You received this message because you are subscribed to the Google Groups 
"sage-devel" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to sage-devel+unsubscr...@googlegroups.com.
To post to this group, send email to sage-devel@googlegroups.com.
Visit this group at https://groups.google.com/group/sage-devel.
For more options, visit https://groups.google.com/d/optout.

Reply via email to