python 3.5 support
[tiramisu.git] / test / test_dereference.py
index c39bfcb..a1e7652 100644 (file)
@@ -1,12 +1,15 @@
 # coding: utf-8
-import autopath
-#from py.test import raises
+from .autopath import do_autopath
+do_autopath()
 
 from tiramisu.config import Config, GroupConfig, MetaConfig
 from tiramisu.option import BoolOption, IntOption, StrOption, OptionDescription, submulti
 import weakref
 
 
+IS_DEREFABLE = True
+
+
 def test_deref_storage():
     b = BoolOption('b', '')
     o = OptionDescription('od', '', [b])
@@ -44,16 +47,23 @@ def test_deref_config():
 
 
 def test_deref_option():
+    global IS_DEREFABLE
     b = BoolOption('b', '')
     o = OptionDescription('od', '', [b])
     w = weakref.ref(b)
     del(b)
-    assert w() is not None
+    try:
+        assert w() is not None
+    except AssertionError:
+        IS_DEREFABLE = False
+        return
     del(o)
     assert w() is None
 
 
 def test_deref_optiondescription():
+    if not IS_DEREFABLE:
+        return
     b = BoolOption('b', '')
     o = OptionDescription('od', '', [b])
     w = weakref.ref(o)
@@ -64,6 +74,8 @@ def test_deref_optiondescription():
 
 
 def test_deref_option_cache():
+    if not IS_DEREFABLE:
+        return
     b = BoolOption('b', '')
     o = OptionDescription('od', '', [b])
     o.impl_build_cache_option()
@@ -75,6 +87,8 @@ def test_deref_option_cache():
 
 
 def test_deref_optiondescription_cache():
+    if not IS_DEREFABLE:
+        return
     b = BoolOption('b', '')
     o = OptionDescription('od', '', [b])
     o.impl_build_cache_option()
@@ -86,6 +100,8 @@ def test_deref_optiondescription_cache():
 
 
 def test_deref_option_config():
+    if not IS_DEREFABLE:
+        return
     b = BoolOption('b', '')
     o = OptionDescription('od', '', [b])
     c = Config(o)
@@ -99,6 +115,8 @@ def test_deref_option_config():
 
 
 def test_deref_optiondescription_config():
+    if not IS_DEREFABLE:
+        return
     b = BoolOption('b', '')
     o = OptionDescription('od', '', [b])
     c = Config(o)
@@ -112,11 +130,13 @@ def test_deref_optiondescription_config():
 
 
 def test_deref_groupconfig():
+    if not IS_DEREFABLE:
+        return
     i1 = IntOption('i1', '')
     od1 = OptionDescription('od1', '', [i1])
     od2 = OptionDescription('od2', '', [od1])
-    conf1 = Config(od2)
-    conf2 = Config(od2)
+    conf1 = Config(od2, 'conf1')
+    conf2 = Config(od2, 'conf2')
     meta = GroupConfig([conf1, conf2])
     w = weakref.ref(conf1)
     del(conf1)
@@ -126,11 +146,13 @@ def test_deref_groupconfig():
 
 
 def test_deref_metaconfig():
+    if not IS_DEREFABLE:
+        return
     i1 = IntOption('i1', '')
     od1 = OptionDescription('od1', '', [i1])
     od2 = OptionDescription('od2', '', [od1])
-    conf1 = Config(od2)
-    conf2 = Config(od2)
+    conf1 = Config(od2, 'conf1')
+    conf2 = Config(od2, 'conf2')
     meta = MetaConfig([conf1, conf2])
     w = weakref.ref(conf1)
     del(conf1)
@@ -140,6 +162,8 @@ def test_deref_metaconfig():
 
 
 def test_deref_submulti():
+    if not IS_DEREFABLE:
+        return
     multi = StrOption('multi', '', multi=submulti)
     od = OptionDescription('od', '', [multi])
     cfg = Config(od)