Package mvpa :: Package tests :: Module test_base
[hide private]
[frames] | no frames]

Source Code for Module mvpa.tests.test_base

 1  #emacs: -*- mode: python-mode; py-indent-offset: 4; indent-tabs-mode: nil -*- 
 2  #ex: set sts=4 ts=4 sw=4 et: 
 3  ### ### ### ### ### ### ### ### ### ### ### ### ### ### ### ### ### ### ### ## 
 4  # 
 5  #   See COPYING file distributed along with the PyMVPA package for the 
 6  #   copyright and license terms. 
 7  # 
 8  ### ### ### ### ### ### ### ### ### ### ### ### ### ### ### ### ### ### ### ## 
 9  """Test some base functionality which did not make it into a separate unittests""" 
10   
11  import unittest 
12  import os.path 
13  import numpy as N 
14   
15  from mvpa import cfg 
16  from mvpa.base import externals 
17   
18   
19 -class TestBases(unittest.TestCase):
20
21 - def setUp(self):
22 self.backup = [] 23 # clean up externals cfg for proper testing 24 if cfg.has_section('externals'): 25 self.backup = cfg.items('externals') 26 cfg.remove_section('externals')
27 28
29 - def tearDown(self):
30 if len(self.backup): 31 if not cfg.has_section('externals'): 32 cfg.add_section('externals') 33 for o,v in self.backup: 34 cfg.set('externals', o,v)
35 36
37 - def testExternals(self):
38 self.failUnlessRaises(ValueError, externals.exists, 'BoGuS')
39 40
42 # no external should be checking twice (unless specified 43 # explicitely) 44 45 class Checker(object): 46 """Helper class to increment count of actual checks""" 47 def __init__(self): self.checked = 0 48 def check(self): self.checked += 1
49 50 checker = Checker() 51 52 externals._KNOWN['checker'] = 'checker.check()' 53 externals.__dict__['checker'] = checker 54 externals.exists('checker') 55 self.failUnlessEqual(checker.checked, 1) 56 externals.exists('checker') 57 self.failUnlessEqual(checker.checked, 1) 58 externals.exists('checker', force=True) 59 self.failUnlessEqual(checker.checked, 2) 60 externals.exists('checker') 61 self.failUnlessEqual(checker.checked, 2) 62 63 # restore original externals 64 externals.__dict__.pop('checker') 65 externals._KNOWN.pop('checker')
66 67
68 - def testExternalsCorrect2ndInvocation(self):
69 # always fails 70 externals._KNOWN['checker2'] = 'raise ImportError' 71 72 self.failUnless(not externals.exists('checker2'), 73 msg="Should be False on 1st invocation") 74 75 self.failUnless(not externals.exists('checker2'), 76 msg="Should be False on 2nd invocation as well") 77 78 externals._KNOWN.pop('checker2')
79 80
81 -def suite():
82 return unittest.makeSuite(TestBases)
83 84 85 if __name__ == '__main__': 86 import runner 87