[ADD] tools/config: started tests.
bzr revid: vmt@openerp.com-20110601115055-idoid8p0pnkfci38
This commit is contained in:
parent
4b3aa9c764
commit
b681b0ec75
|
@ -258,8 +258,10 @@ class configmanager(object):
|
|||
|
||||
self.parse_config()
|
||||
|
||||
def parse_config(self, args=[]):
|
||||
opt, args = self.parser.parse_args()
|
||||
def parse_config(self, args=None):
|
||||
if args is None:
|
||||
args = []
|
||||
opt, args = self.parser.parse_args(args)
|
||||
|
||||
def die(cond, msg):
|
||||
if cond:
|
||||
|
|
|
@ -0,0 +1,25 @@
|
|||
#!/usr/bin/env python
|
||||
# -*- coding: utf-8 -*-
|
||||
|
||||
import logging
|
||||
import os
|
||||
import signal
|
||||
import sys
|
||||
import threading
|
||||
import traceback
|
||||
import time
|
||||
|
||||
import openerp
|
||||
|
||||
openerp.tools.config.parse_config(sys.argv[1:])
|
||||
config = openerp.tools.config
|
||||
|
||||
for name in [
|
||||
'db_name',
|
||||
'addons_path',
|
||||
'demo',
|
||||
'osv_memory_count_limit',
|
||||
'osv_memory_age_limit',
|
||||
]:
|
||||
print "%s: %s - %s" % (name, config[name], type(config[name]))
|
||||
|
|
@ -0,0 +1,3 @@
|
|||
[options]
|
||||
osv_memory_count_limit = 5
|
||||
osv_memory_age_limit = 3.4
|
|
@ -0,0 +1,46 @@
|
|||
# -*- coding: utf-8 -*-
|
||||
|
||||
""" Tests for the configuration file/command-line arguments. """
|
||||
|
||||
# This test should be run from its directory.
|
||||
|
||||
# TODO A configmanager object cannot parse multiple times a config file
|
||||
# and/or the command line, preventing to 'reload' a configuration.
|
||||
|
||||
import os
|
||||
|
||||
import config
|
||||
|
||||
config_file_00 = os.path.join(os.path.dirname(__file__),'test-config-values-00.conf')
|
||||
|
||||
# 1. No config file, no command-line arguments (a.k.a. default values)
|
||||
|
||||
conf = config.configmanager()
|
||||
conf.parse_config()
|
||||
|
||||
assert conf['osv_memory_age_limit'] == 1.0
|
||||
assert os.path.join(conf['root_path'], 'addons') == conf['addons_path']
|
||||
|
||||
# 2. No config file, some command-line arguments
|
||||
|
||||
conf = config.configmanager()
|
||||
# mess with the optparse.Option definition to allow an invalid path
|
||||
conf.casts['addons_path'].action = 'store'
|
||||
conf.parse_config(['--addons-path=/xyz/dont-exist', '--osv-memory-age-limit=2.3'])
|
||||
|
||||
assert conf['osv_memory_age_limit'] == 2.3
|
||||
assert conf['addons_path'] == '/xyz/dont-exist'
|
||||
|
||||
# 3. Config file, no command-line arguments
|
||||
|
||||
conf = config.configmanager()
|
||||
conf.parse_config(['-c', config_file_00])
|
||||
|
||||
assert conf['osv_memory_age_limit'] == 3.4
|
||||
|
||||
# 4. Config file, and command-line arguments
|
||||
|
||||
conf = config.configmanager()
|
||||
conf.parse_config(['-c', config_file_00, '--osv-memory-age-limit=2.3'])
|
||||
|
||||
assert conf['osv_memory_age_limit'] == 2.3
|
Loading…
Reference in New Issue