Add: test for path sep in scripts in rq/default.yaml
Change-Id: I97977efc2ae21dff68752bba7836e2cc1e922db7
This commit is contained in:
parent
7b4cdaee78
commit
0942e2dcef
@ -22,21 +22,33 @@ from timmy import conf, tools
|
|||||||
|
|
||||||
|
|
||||||
class RQDefault(unittest.TestCase):
|
class RQDefault(unittest.TestCase):
|
||||||
def test_filelists(self):
|
def test_filelists_and_scripts(self):
|
||||||
def iter_dict(d):
|
def check_sep(val, err_text, err_text2):
|
||||||
|
self.assertEqual(os.path.sep in val, False,
|
||||||
|
err_text % (err_text2, val, err_text2))
|
||||||
|
|
||||||
|
def iter_dict(d, err_text, err_text2):
|
||||||
for el in d.values():
|
for el in d.values():
|
||||||
if type(el) is dict:
|
if type(el) is dict:
|
||||||
iter_dict(el)
|
# for sub-matches
|
||||||
|
iter_dict(el, err_text, err_text2)
|
||||||
elif type(el) is str:
|
elif type(el) is str:
|
||||||
|
# single value, not a list
|
||||||
self.assertEqual(os.path.sep in el, False, sep_error % el)
|
self.assertEqual(os.path.sep in el, False, sep_error % el)
|
||||||
else:
|
else:
|
||||||
for sub in el:
|
for sub in el:
|
||||||
self.assertEqual(os.path.sep in sub, False,
|
# list of values
|
||||||
sep_error % el)
|
if type(sub) is dict:
|
||||||
|
# for scripts with env. variables
|
||||||
|
for k in sub.keys():
|
||||||
|
check_sep(k, err_text, err_text2)
|
||||||
|
else:
|
||||||
|
# normal list of strings
|
||||||
|
check_sep(sub, err_text, err_text2)
|
||||||
|
|
||||||
sep_error = ('default filelist value %s has path separator(s) - this '
|
sep_error = ('default %s value %s has path separator(s) - this '
|
||||||
'will cause NodeManager to search the file by full path '
|
'will cause NodeManager to search the file by full path '
|
||||||
'instead of looking in the default rq/filelists path.')
|
'instead of looking in the default rq/%s path.')
|
||||||
config = conf.load_conf(None)
|
config = conf.load_conf(None)
|
||||||
for rqfile in config['rqfile']:
|
for rqfile in config['rqfile']:
|
||||||
f = rqfile['file']
|
f = rqfile['file']
|
||||||
@ -45,8 +57,8 @@ class RQDefault(unittest.TestCase):
|
|||||||
else:
|
else:
|
||||||
f = os.path.join(self.rqdir, f)
|
f = os.path.join(self.rqdir, f)
|
||||||
src = tools.load_yaml_file(f)
|
src = tools.load_yaml_file(f)
|
||||||
filelists = src['filelists']
|
iter_dict(src['filelists'], sep_error, 'filelists')
|
||||||
iter_dict(filelists)
|
iter_dict(src['scripts'], sep_error, 'scripts')
|
||||||
|
|
||||||
|
|
||||||
if __name__ == '__main__':
|
if __name__ == '__main__':
|
||||||
|
Loading…
x
Reference in New Issue
Block a user