uncomment more test
authorEmmanuel Garette <egarette@cadoles.com>
Mon, 14 Apr 2014 21:00:37 +0000 (23:00 +0200)
committerEmmanuel Garette <egarette@cadoles.com>
Mon, 14 Apr 2014 21:00:37 +0000 (23:00 +0200)
test/test_dereference.py
test/test_slots.py

index 9d17e3d..51daa9e 100644 (file)
@@ -7,77 +7,71 @@ from tiramisu.option import BoolOption, IntOption, OptionDescription
 import weakref
 
 
-#def test_deref_storage():
-#    b = BoolOption('b', '')
-#    o = OptionDescription('od', '', [b])
-#    c = Config(o)
-#    w = weakref.ref(c.cfgimpl_get_values()._p_)
-#    del(c)
-#    assert w() is None
-#
-#
-#def test_deref_value():
-#    b = BoolOption('b', '')
-#    o = OptionDescription('od', '', [b])
-#    c = Config(o)
-#    w = weakref.ref(c.cfgimpl_get_values())
-#    del(c)
-#    assert w() is None
-#
-#
-#def test_deref_setting():
-#    b = BoolOption('b', '')
-#    o = OptionDescription('od', '', [b])
-#    c = Config(o)
-#    w = weakref.ref(c.cfgimpl_get_settings())
-#    del(c)
-#    assert w() is None
-#
-#
-#def test_deref_config():
-#    b = BoolOption('b', '')
-#    o = OptionDescription('od', '', [b])
-#    c = Config(o)
-#    w = weakref.ref(c)
-#    del(c)
-#    assert w() is None
-#
-#
-#def test_deref_option():
-#    b = BoolOption('b', '')
-#    o = OptionDescription('od', '', [b])
-#    w = weakref.ref(b)
-#    del(b)
-#    assert w() is not None
-#    del(o)
-#    #FIXME
-#    #assert w() is None
-#
-#
-#def test_deref_optiondescription():
-#    b = BoolOption('b', '')
-#    o = OptionDescription('od', '', [b])
-#    w = weakref.ref(o)
-#    del(b)
-#    assert w() is not None
-#    del(o)
-#    #FIXME
-#    #assert w() is None
-
-
-#def test_deref_option_cache():
-#    FIXME quand c'est un dico, il faut garder la reference
-#    mais la comme c'est dans la base, forcement c'est dereference
-#    b = BoolOption('b', '')
-#    o = OptionDescription('od', '', [b])
-#    o.impl_build_cache_option()
-#    w = weakref.ref(b)
-#    del(b)
-#    assert w() is not None
-#    del(o)
-#    #FIXME l'objet n'est plus en mémoire mais par contre reste dans la base
-#    #Voir comment supprimer (et quand)
-#    #assert w() is None
+def test_deref_storage():
+    b = BoolOption('b', '')
+    o = OptionDescription('od', '', [b])
+    c = Config(o)
+    w = weakref.ref(c.cfgimpl_get_values()._p_)
+    del(c)
+    assert w() is None
+
+
+def test_deref_value():
+    b = BoolOption('b', '')
+    o = OptionDescription('od', '', [b])
+    c = Config(o)
+    w = weakref.ref(c.cfgimpl_get_values())
+    del(c)
+    assert w() is None
+
+
+def test_deref_setting():
+    b = BoolOption('b', '')
+    o = OptionDescription('od', '', [b])
+    c = Config(o)
+    w = weakref.ref(c.cfgimpl_get_settings())
+    del(c)
+    assert w() is None
+
+
+def test_deref_config():
+    b = BoolOption('b', '')
+    o = OptionDescription('od', '', [b])
+    c = Config(o)
+    w = weakref.ref(c)
+    del(c)
+    assert w() is None
+
+
+def test_deref_option():
+    b = BoolOption('b', '')
+    o = OptionDescription('od', '', [b])
+    w = weakref.ref(b)
+    del(b)
+    assert w() is not None
+    del(o)
+    assert w() is None
+
+
+def test_deref_optiondescription():
+    b = BoolOption('b', '')
+    o = OptionDescription('od', '', [b])
+    w = weakref.ref(o)
+    del(b)
+    assert w() is not None
+    del(o)
+    assert w() is None
+
+
+def test_deref_option_cache():
+    b = BoolOption('b', '')
+    o = OptionDescription('od', '', [b])
+    o.impl_build_cache_option()
+    w = weakref.ref(b)
+    del(b)
+    assert w() is not None
+    del(o)
+    assert w() is None
 
 
 def test_deref_optiondescription_cache():
@@ -88,22 +82,20 @@ def test_deref_optiondescription_cache():
     del(b)
     assert w() is not None
     del(o)
-    #FIXME
-    #assert w() is None
+    assert w() is None
 
 
-#def test_deref_option_config():
-#    b = BoolOption('b', '')
-#    o = OptionDescription('od', '', [b])
-#    c = Config(o)
-#    w = weakref.ref(b)
-#    del(b)
-#    assert w() is not None
-#    del(o)
-#    assert w() is not None
-#    del(c)
-#    #FIXME meme chose
-#    #assert w() is None
+def test_deref_option_config():
+    b = BoolOption('b', '')
+    o = OptionDescription('od', '', [b])
+    c = Config(o)
+    w = weakref.ref(b)
+    del(b)
+    assert w() is not None
+    del(o)
+    assert w() is not None
+    del(c)
+    assert w() is None
 
 
 #FIXME rien a voir mais si je fais un config.impl_get_path_by_opt() ca me retourne la methode !
index 1ce874b..225ccce 100644 (file)
@@ -9,157 +9,157 @@ from tiramisu.option import ChoiceOption, BoolOption, IntOption, FloatOption,\
     URLOption, FilenameOption
 
 
-#def test_slots_option():
-#    c = ChoiceOption('a', '', ('a',))
-#    raises(AttributeError, "c.x = 1")
-#    c = BoolOption('a', '')
-#    raises(AttributeError, "c.x = 1")
-#    c = IntOption('a', '')
-#    raises(AttributeError, "c.x = 1")
-#    c = FloatOption('a', '')
-#    raises(AttributeError, "c.x = 1")
-#    c = StrOption('a', '')
-#    raises(AttributeError, "c.x = 1")
-#    c = SymLinkOption('b', c)
-#    raises(AttributeError, "c.x = 1")
-#    c = UnicodeOption('a', '')
-#    raises(AttributeError, "c.x = 1")
-#    c = IPOption('a', '')
-#    raises(AttributeError, "c.x = 1")
-#    c = OptionDescription('a', '', [])
-#    raises(AttributeError, "c.x = 1")
-#    c = PortOption('a', '')
-#    raises(AttributeError, "c.x = 1")
-#    c = NetworkOption('a', '')
-#    raises(AttributeError, "c.x = 1")
-#    c = NetmaskOption('a', '')
-#    raises(AttributeError, "c.x = 1")
-#    c = DomainnameOption('a', '')
-#    raises(AttributeError, "c.x = 1")
-#    c = EmailOption('a', '')
-#    raises(AttributeError, "c.x = 1")
-#    c = URLOption('a', '')
-#    raises(AttributeError, "c.x = 1")
-#    c = FilenameOption('a', '')
-#    raises(AttributeError, "c.x = 1")
-#
-#
-#def test_slots_option_readonly():
-#    a = ChoiceOption('a', '', ('a',))
-#    b = BoolOption('b', '')
-#    c = IntOption('c', '')
-#    d = FloatOption('d', '')
-#    e = StrOption('e', '')
-#    g = UnicodeOption('g', '')
-#    h = IPOption('h', '')
-#    i = PortOption('i', '')
-#    j = NetworkOption('j', '')
-#    k = NetmaskOption('k', '')
-#    l = DomainnameOption('l', '')
-#    o = EmailOption('o', '')
-#    p = URLOption('p', '')
-#    q = FilenameOption('q', '')
-#    m = OptionDescription('m', '', [a, b, c, d, e, g, h, i, j, k, l, o, p, q])
-#    a._requires = 'a'
-#    b._requires = 'b'
-#    c._requires = 'c'
-#    d._requires = 'd'
-#    e._requires = 'e'
-#    g._requires = 'g'
-#    h._requires = 'h'
-#    i._requires = 'i'
-#    j._requires = 'j'
-#    k._requires = 'k'
-#    l._requires = 'l'
-#    m._requires = 'm'
-#    o._requires = 'o'
-#    p._requires = 'p'
-#    q._requires = 'q'
-#    Config(m)
-#    raises(AttributeError, "a._requires = 'a'")
-#    raises(AttributeError, "b._requires = 'b'")
-#    raises(AttributeError, "c._requires = 'c'")
-#    raises(AttributeError, "d._requires = 'd'")
-#    raises(AttributeError, "e._requires = 'e'")
-#    raises(AttributeError, "g._requires = 'g'")
-#    raises(AttributeError, "h._requires = 'h'")
-#    raises(AttributeError, "i._requires = 'i'")
-#    raises(AttributeError, "j._requires = 'j'")
-#    raises(AttributeError, "k._requires = 'k'")
-#    raises(AttributeError, "l._requires = 'l'")
-#    raises(AttributeError, "m._requires = 'm'")
-#    raises(AttributeError, "o._requires = 'o'")
-#    raises(AttributeError, "p._requires = 'p'")
-#    raises(AttributeError, "q._requires = 'q'")
-#
-#
-#def test_slots_option_readonly_name():
-#    a = ChoiceOption('a', '', ('a',))
-#    b = BoolOption('b', '')
-#    c = IntOption('c', '')
-#    d = FloatOption('d', '')
-#    e = StrOption('e', '')
-#    f = SymLinkOption('f', c)
-#    g = UnicodeOption('g', '')
-#    h = IPOption('h', '')
-#    i = PortOption('i', '')
-#    j = NetworkOption('j', '')
-#    k = NetmaskOption('k', '')
-#    l = DomainnameOption('l', '')
-#    o = DomainnameOption('o', '')
-#    p = DomainnameOption('p', '')
-#    q = DomainnameOption('q', '')
-#    m = OptionDescription('m', '', [a, b, c, d, e, f, g, h, i, j, k, l, o, p, q])
-#    raises(AttributeError, "a._name = 'a'")
-#    raises(AttributeError, "b._name = 'b'")
-#    raises(AttributeError, "c._name = 'c'")
-#    raises(AttributeError, "d._name = 'd'")
-#    raises(AttributeError, "e._name = 'e'")
-#    raises(AttributeError, "f._name = 'f'")
-#    raises(AttributeError, "g._name = 'g'")
-#    raises(AttributeError, "h._name = 'h'")
-#    raises(AttributeError, "i._name = 'i'")
-#    raises(AttributeError, "j._name = 'j'")
-#    raises(AttributeError, "k._name = 'k'")
-#    raises(AttributeError, "l._name = 'l'")
-#    raises(AttributeError, "m._name = 'm'")
-#    raises(AttributeError, "o._name = 'o'")
-#    raises(AttributeError, "p._name = 'p'")
-#    raises(AttributeError, "q._name = 'q'")
-#
-#
-##def test_slots_description():
-##    # __slots__ for OptionDescription should be complete for __getattr__
-##    slots = set()
-##    for subclass in OptionDescription.__mro__:
-##        if subclass is not object:
-##            slots.update(subclass.__slots__)
-##    assert slots == set(OptionDescription.__slots__)
-#
-#
-#def test_slots_config():
-#    od1 = OptionDescription('a', '', [])
-#    od2 = OptionDescription('a', '', [od1])
-#    c = Config(od2)
-#    raises(AttributeError, "c.x = 1")
-#    raises(AttributeError, "c.cfgimpl_x = 1")
-#    sc = c.a
-#    assert isinstance(sc, SubConfig)
-#    raises(AttributeError, "sc.x = 1")
-#    raises(AttributeError, "sc.cfgimpl_x = 1")
-#
-#
-#def test_slots_setting():
-#    od1 = OptionDescription('a', '', [])
-#    od2 = OptionDescription('a', '', [od1])
-#    c = Config(od2)
-#    s = c.cfgimpl_get_settings()
-#    raises(AttributeError, "s.x = 1")
-#
-#
-#def test_slots_value():
-#    od1 = OptionDescription('a', '', [])
-#    od2 = OptionDescription('a', '', [od1])
-#    c = Config(od2)
-#    v = c.cfgimpl_get_values()
-#    raises(AttributeError, "v.x = 1")
+def test_slots_option():
+    c = ChoiceOption('a', '', ('a',))
+    raises(AttributeError, "c.x = 1")
+    c = BoolOption('a', '')
+    raises(AttributeError, "c.x = 1")
+    c = IntOption('a', '')
+    raises(AttributeError, "c.x = 1")
+    c = FloatOption('a', '')
+    raises(AttributeError, "c.x = 1")
+    c = StrOption('a', '')
+    raises(AttributeError, "c.x = 1")
+    c = SymLinkOption('b', c)
+    raises(AttributeError, "c.x = 1")
+    c = UnicodeOption('a', '')
+    raises(AttributeError, "c.x = 1")
+    c = IPOption('a', '')
+    raises(AttributeError, "c.x = 1")
+    c = OptionDescription('a', '', [])
+    raises(AttributeError, "c.x = 1")
+    c = PortOption('a', '')
+    raises(AttributeError, "c.x = 1")
+    c = NetworkOption('a', '')
+    raises(AttributeError, "c.x = 1")
+    c = NetmaskOption('a', '')
+    raises(AttributeError, "c.x = 1")
+    c = DomainnameOption('a', '')
+    raises(AttributeError, "c.x = 1")
+    c = EmailOption('a', '')
+    raises(AttributeError, "c.x = 1")
+    c = URLOption('a', '')
+    raises(AttributeError, "c.x = 1")
+    c = FilenameOption('a', '')
+    raises(AttributeError, "c.x = 1")
+
+
+def test_slots_option_readonly():
+    a = ChoiceOption('a', '', ('a',))
+    b = BoolOption('b', '')
+    c = IntOption('c', '')
+    d = FloatOption('d', '')
+    e = StrOption('e', '')
+    g = UnicodeOption('g', '')
+    h = IPOption('h', '')
+    i = PortOption('i', '')
+    j = NetworkOption('j', '')
+    k = NetmaskOption('k', '')
+    l = DomainnameOption('l', '')
+    o = EmailOption('o', '')
+    p = URLOption('p', '')
+    q = FilenameOption('q', '')
+    m = OptionDescription('m', '', [a, b, c, d, e, g, h, i, j, k, l, o, p, q])
+    a._requires = 'a'
+    b._requires = 'b'
+    c._requires = 'c'
+    d._requires = 'd'
+    e._requires = 'e'
+    g._requires = 'g'
+    h._requires = 'h'
+    i._requires = 'i'
+    j._requires = 'j'
+    k._requires = 'k'
+    l._requires = 'l'
+    m._requires = 'm'
+    o._requires = 'o'
+    p._requires = 'p'
+    q._requires = 'q'
+    Config(m)
+    raises(AttributeError, "a._requires = 'a'")
+    raises(AttributeError, "b._requires = 'b'")
+    raises(AttributeError, "c._requires = 'c'")
+    raises(AttributeError, "d._requires = 'd'")
+    raises(AttributeError, "e._requires = 'e'")
+    raises(AttributeError, "g._requires = 'g'")
+    raises(AttributeError, "h._requires = 'h'")
+    raises(AttributeError, "i._requires = 'i'")
+    raises(AttributeError, "j._requires = 'j'")
+    raises(AttributeError, "k._requires = 'k'")
+    raises(AttributeError, "l._requires = 'l'")
+    raises(AttributeError, "m._requires = 'm'")
+    raises(AttributeError, "o._requires = 'o'")
+    raises(AttributeError, "p._requires = 'p'")
+    raises(AttributeError, "q._requires = 'q'")
+
+
+def test_slots_option_readonly_name():
+    a = ChoiceOption('a', '', ('a',))
+    b = BoolOption('b', '')
+    c = IntOption('c', '')
+    d = FloatOption('d', '')
+    e = StrOption('e', '')
+    f = SymLinkOption('f', c)
+    g = UnicodeOption('g', '')
+    h = IPOption('h', '')
+    i = PortOption('i', '')
+    j = NetworkOption('j', '')
+    k = NetmaskOption('k', '')
+    l = DomainnameOption('l', '')
+    o = DomainnameOption('o', '')
+    p = DomainnameOption('p', '')
+    q = DomainnameOption('q', '')
+    m = OptionDescription('m', '', [a, b, c, d, e, f, g, h, i, j, k, l, o, p, q])
+    raises(AttributeError, "a._name = 'a'")
+    raises(AttributeError, "b._name = 'b'")
+    raises(AttributeError, "c._name = 'c'")
+    raises(AttributeError, "d._name = 'd'")
+    raises(AttributeError, "e._name = 'e'")
+    raises(AttributeError, "f._name = 'f'")
+    raises(AttributeError, "g._name = 'g'")
+    raises(AttributeError, "h._name = 'h'")
+    raises(AttributeError, "i._name = 'i'")
+    raises(AttributeError, "j._name = 'j'")
+    raises(AttributeError, "k._name = 'k'")
+    raises(AttributeError, "l._name = 'l'")
+    raises(AttributeError, "m._name = 'm'")
+    raises(AttributeError, "o._name = 'o'")
+    raises(AttributeError, "p._name = 'p'")
+    raises(AttributeError, "q._name = 'q'")
+
+
+#def test_slots_description():
+#    # __slots__ for OptionDescription should be complete for __getattr__
+#    slots = set()
+#    for subclass in OptionDescription.__mro__:
+#        if subclass is not object:
+#            slots.update(subclass.__slots__)
+#    assert slots == set(OptionDescription.__slots__)
+
+
+def test_slots_config():
+    od1 = OptionDescription('a', '', [])
+    od2 = OptionDescription('a', '', [od1])
+    c = Config(od2)
+    raises(AttributeError, "c.x = 1")
+    raises(AttributeError, "c.cfgimpl_x = 1")
+    sc = c.a
+    assert isinstance(sc, SubConfig)
+    raises(AttributeError, "sc.x = 1")
+    raises(AttributeError, "sc.cfgimpl_x = 1")
+
+
+def test_slots_setting():
+    od1 = OptionDescription('a', '', [])
+    od2 = OptionDescription('a', '', [od1])
+    c = Config(od2)
+    s = c.cfgimpl_get_settings()
+    raises(AttributeError, "s.x = 1")
+
+
+def test_slots_value():
+    od1 = OptionDescription('a', '', [])
+    od2 = OptionDescription('a', '', [od1])
+    c = Config(od2)
+    v = c.cfgimpl_get_values()
+    raises(AttributeError, "v.x = 1")