diff options
Diffstat (limited to 'gitosis/test/test_util.py')
-rw-r--r-- | gitosis/test/test_util.py | 46 |
1 files changed, 46 insertions, 0 deletions
diff --git a/gitosis/test/test_util.py b/gitosis/test/test_util.py new file mode 100644 index 0000000..3f17cd3 --- /dev/null +++ b/gitosis/test/test_util.py @@ -0,0 +1,46 @@ +from nose.tools import eq_ as eq, assert_raises + +import os +import errno + +from ConfigParser import RawConfigParser + +from gitosis import util + +# Nose interferes with this test case, and 'except' block inside _sysfunc does +# not recieve the error. +#def test_sysfunc_raise_ignore(): +# def foo(): +# os.mkdir('/does/not/exist/anywhere') +# util._sysfunc(foo, [errno.EEXIST]) + +def test_sysfunc_raise_catch(): + def foo(): + raise OSError(errno.EEXIST) + assert_raises(OSError, util._sysfunc, foo, [errno.ENOENT]) + +def test_getRepositoryDir_cfg_missing(): + cfg = RawConfigParser() + d = util.getRepositoryDir(cfg) + eq(d, os.path.expanduser('~/repositories')) + +def test_getRepositoryDir_cfg_empty(): + cfg = RawConfigParser() + cfg.add_section('gitosis') + cfg.set('gitosis', 'repositories', '') + d = util.getRepositoryDir(cfg) + eq(d, os.path.expanduser('~/')) + +def test_getRepositoryDir_cfg_relative(): + cfg = RawConfigParser() + cfg.add_section('gitosis') + cfg.set('gitosis', 'repositories', 'foobar') + d = util.getRepositoryDir(cfg) + eq(d, os.path.expanduser('~/foobar')) + +def test_getRepositoryDir_cfg_absolute(): + cfg = RawConfigParser() + cfg.add_section('gitosis') + cfg.set('gitosis', 'repositories', '/var/gitroot') + d = util.getRepositoryDir(cfg) + eq(d, '/var/gitroot') |