#5991: [with patch, needs work] Add a standard constructor for dynamic classes
-------------------------+--------------------------------------------------
 Reporter:  nthiery      |       Owner:  nthiery                                
         
     Type:  enhancement  |      Status:  assigned                               
         
 Priority:  major        |   Milestone:  sage-4.1                               
         
Component:  misc         |    Keywords:  dynamic classes, pickling, unique 
representation
 Reviewer:  David Roe    |      Author:  Nicolas Thiery                         
         
   Merged:               |  
-------------------------+--------------------------------------------------

Comment(by boothby):

 Doctest failures:

 {{{
 sage -t -long devel/sage/sage/structure/dynamic_class.py
 **********************************************************************
 File "/space/boothby/sage-4.0.3/devel/sage-
 main/sage/structure/dynamic_class.py", line 210:
     sage: loads(dumps(BarFoo))
 Exception raised:
     Traceback (most recent call last):
       File "/space/boothby/sage-4.0.3/local/bin/ncadoctest.py", line 1231,
 in run_one_test
         self.run_one_example(test, example, filename, compileflags)
       File "/space/boothby/sage-4.0.3/local/bin/sagedoctest.py", line 38,
 in run_one_example
         OrigDocTestRunner.run_one_example(self, test, example, filename,
 compileflags)
       File "/space/boothby/sage-4.0.3/local/bin/ncadoctest.py", line 1172,
 in run_one_example
         compileflags, 1) in test.globs
       File "<doctest __main__.example_1[23]>", line 1, in <module>
         loads(dumps(BarFoo))###line 210:
     sage: loads(dumps(BarFoo))
       File "sage_object.pyx", line 604, in
 sage.structure.sage_object.dumps (sage/structure/sage_ob$
         return comp.compress(cPickle.dumps(obj, protocol=2))
     PicklingError: Can't pickle <class '__main__.BarFoo'>: attribute
 lookup __main__.BarFoo failed
 **********************************************************************
 File "/space/boothby/sage-4.0.3/devel/sage-
 main/sage/structure/dynamic_class.py", line 224:
     sage: import sage.misc.cPickle as cPickle
 Exception raised:
     Traceback (most recent call last):
       File "/space/boothby/sage-4.0.3/local/bin/ncadoctest.py", line 1231,
 in run_one_test
         self.run_one_example(test, example, filename, compileflags)
       File "/space/boothby/sage-4.0.3/local/bin/sagedoctest.py", line 38,
 in run_one_example
         OrigDocTestRunner.run_one_example(self, test, example, filename,
 compileflags)
       File "/space/boothby/sage-4.0.3/local/bin/ncadoctest.py", line 1172,
 in run_one_example
         compileflags, 1) in test.globs
       File "<doctest __main__.example_1[30]>", line 1, in <module>
         import sage.misc.cPickle as cPickle###line 224:
     sage: import sage.misc.cPickle as cPickle
     ImportError: No module named cPickle
 **********************************************************************
 File "/space/boothby/sage-4.0.3/devel/sage-
 main/sage/structure/dynamic_class.py", line 225:
     sage: cPickle.loads(cPickle.dumps(FooBar)) == FooBar
 Exception raised:
     Traceback (most recent call last):
       File "/space/boothby/sage-4.0.3/local/bin/ncadoctest.py", line 1231,
 in run_one_test
         self.run_one_example(test, example, filename, compileflags)
       File "/space/boothby/sage-4.0.3/local/bin/sagedoctest.py", line 38,
 in run_one_example
         OrigDocTestRunner.run_one_example(self, test, example, filename,
 compileflags)
       File "/space/boothby/sage-4.0.3/local/bin/ncadoctest.py", line 1172,
 in run_one_example
         compileflags, 1) in test.globs
       File "<doctest __main__.example_1[31]>", line 1, in <module>
         cPickle.loads(cPickle.dumps(FooBar)) == FooBar###line 225:
     sage: cPickle.loads(cPickle.dumps(FooBar)) == FooBar
     NameError: name 'cPickle' is not defined
 **********************************************************************
 File "/space/boothby/sage-4.0.3/devel/sage-
 main/sage/structure/dynamic_class.py", line 238:
     sage: loads(dumps(FooUnique)) is FooUnique
 Exception raised:
     Traceback (most recent call last):
       File "/space/boothby/sage-4.0.3/local/bin/ncadoctest.py", line 1231,
 in run_one_test
         self.run_one_example(test, example, filename, compileflags)
       File "/space/boothby/sage-4.0.3/local/bin/sagedoctest.py", line 38,
 in run_one_example
         OrigDocTestRunner.run_one_example(self, test, example, filename,
 compileflags)
       File "/space/boothby/sage-4.0.3/local/bin/ncadoctest.py", line 1172,
 in run_one_example
         compileflags, 1) in test.globs
       File "<doctest __main__.example_1[35]>", line 1, in <module>
         loads(dumps(FooUnique)) is FooUnique###line 238:
     sage: loads(dumps(FooUnique)) is FooUnique
       File "sage_object.pyx", line 604, in
 sage.structure.sage_object.dumps (sage/structure/sage_ob$
         return comp.compress(cPickle.dumps(obj, protocol=2))
     PicklingError: Can't pickle <class '__main__.Foo'>: it's not the same
 object as __main__.Foo
 **********************************************************************
 1 items had failures:
    4 of  36 in __main__.example_1
 ***Test Failed*** 4 failures.
 }}}

-- 
Ticket URL: <http://trac.sagemath.org/sage_trac/ticket/5991#comment:9>
Sage <http://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