Add test for #8796: use does not inherit require. False test actually

This commit is contained in:
regilero 2013-11-25 11:06:37 +01:00
parent 95556d8f97
commit 8024df8404
2 changed files with 97 additions and 0 deletions

View file

@ -0,0 +1,58 @@
# Complex require/require_in graph, using use for some require
# issue #8796: use does not inherit require
#
# C (0) <====+ <===========+ <===+
# | | |
# A (1) ==u==+ | |
# | |
# E (3) <============+ | |
# | | |
# F (3) <=======+ | | |
# | | | |
# B (4) <==+ =u=+ =r=+ ==r=+ |
# | |
# D (5) =r=+ =r==================+
A:
cmd.run:
- name: echo A
- use:
- cmd: D
# TODO: should be inherited and removed
- require:
- cmd: C
B:
cmd.run:
- name: echo B
- require_in:
- cmd: D
- use:
- cmd: D
# TODO: should be inherited and removed
- require:
- cmd: C
C:
cmd.run:
- name: echo C
D:
cmd.run:
- name: echo D
- require:
- cmd: C
E:
cmd.run:
- name: echo E
- require_in:
- cmd: B
F:
cmd.run:
- name: echo F
- use:
- cmd: E
# TODO: should be inherited and removed
- require_in:
- cmd: B

View file

@ -403,6 +403,32 @@ fi
'comment': 'Command "echo E fourth" run',
'result': True}
}
expected_req_use_result={
'cmd_|-A_|-echo A_|-run': {
'__run_num__': 1,
'comment': 'Command "echo A" run',
'result': True},
'cmd_|-B_|-echo B_|-run': {
'__run_num__': 4,
'comment': 'Command "echo B" run',
'result': True},
'cmd_|-C_|-echo C_|-run': {
'__run_num__': 0,
'comment': 'Command "echo C" run',
'result': True},
'cmd_|-D_|-echo D_|-run': {
'__run_num__': 5,
'comment': 'Command "echo D" run',
'result': True},
'cmd_|-E_|-echo E_|-run': {
'__run_num__': 2,
'comment': 'Command "echo E" run',
'result': True},
'cmd_|-F_|-echo F_|-run': {
'__run_num__': 3,
'comment': 'Command "echo F" run',
'result': True}
}
result={}
ret = self.run_function('state.sls', mods='requisites.mixed_simple')
for item,descr in ret.iteritems():
@ -449,6 +475,19 @@ fi
# }
#self.assertEqual(expected_result, result)
# issue #8796: use does not inherit require
# TODO: this test contains actually requires duplication to work
# that shoudl be removed when use will be able to inherit require instructions
result={}
ret = self.run_function('state.sls', mods='requisites.require_and_use')
for item,descr in ret.iteritems():
result[item] = {
'__run_num__': descr['__run_num__'],
'comment':descr['comment'],
'result':descr['result']
}
self.assertEqual(expected_req_use_result, result)
def test_requisites_require_ordering_and_errors(self):
'''
Call sls file containing several require_in and require.