Simplify playbook tests so things are not timing dependent in the poll section, which is leading to tests

not being consistent between runs, even though there wasn't an error.  Now we'll just check the final change
counts, which should be just as solid and lead to less churn in the events file.
pull/136/head
Michael DeHaan 12 years ago
parent a0480a1bc5
commit b9e3b053f9

@ -139,20 +139,27 @@ class TestPlaybook(unittest.TestCase):
callbacks = self.test_callbacks,
runner_callbacks = self.test_callbacks
)
results = self.playbook.run()
return dict(
results = results,
events = EVENTS
)
return self.playbook.run()
def test_one(self):
pb = os.path.join(self.test_dir, 'playbook1.yml')
expected = os.path.join(self.test_dir, 'playbook1.events')
expected = utils.json_loads(file(expected).read())
actual = self._run(pb)
# if different, this will output to screen
print "**ACTUAL**"
print utils.bigjson(actual)
assert cmp(expected, actual) == 0, "expected events match actual events"
expected = {
"127.0.0.2": {
"changed": 9,
"failures": 0,
"ok": 12,
"skipped": 1,
"unreachable": 0
}
}
print "**EXPECTED**"
print utils.bigjson(expected)
assert utils.bigjson(expected) == utils.bigjson(actual)
# make sure the template module took options from the vars section
data = file('/tmp/ansible_test_data_template.out').read()

@ -1,322 +0,0 @@
{
"events": [
"start",
[
"play start",
[
"all"
]
],
[
"ok",
[
"127.0.0.2",
{
"answer": "Wuh, I think so, Brain, but if we didn't have ears, we'd look like weasels.",
"changed": true,
"metadata": "/etc/ansible/setup",
"port": 5150,
"written": "/etc/ansible/setup"
}
]
],
[
"import",
[
"127.0.0.2",
"/home/mdehaan/ansible/test/common_vars.yml"
]
],
[
"import",
[
"127.0.0.2",
"/home/mdehaan/ansible/test/CentOS.yml"
]
],
[
"ok",
[
"127.0.0.2",
{
"answer": "Wuh, I think so, Brain, but if we didn't have ears, we'd look like weasels.",
"changed": true,
"cow": "moo",
"duck": "quack",
"metadata": "/etc/ansible/setup",
"port": 5150,
"testing": "default",
"written": "/etc/ansible/setup"
}
]
],
[
"task start",
[
"test basic success command",
false
]
],
[
"ok",
[
"127.0.0.2",
{
"changed": true,
"cmd": [
"/bin/true"
],
"rc": 0,
"stderr": "",
"stdout": ""
}
]
],
[
"task start",
[
"test basic success command 2",
false
]
],
[
"ok",
[
"127.0.0.2",
{
"changed": true,
"cmd": [
"/bin/true"
],
"rc": 0,
"stderr": "",
"stdout": ""
}
]
],
[
"task start",
[
"test basic shell, plus two ways to dereference a variable",
false
]
],
[
"ok",
[
"127.0.0.2",
{
"changed": true,
"cmd": "echo $HOME 5150 5150 ",
"rc": 0,
"stderr": "",
"stdout": "/root 5150 5150"
}
]
],
[
"task start",
[
"test vars_files imports",
false
]
],
[
"ok",
[
"127.0.0.2",
{
"changed": true,
"cmd": "echo quack moo default ",
"rc": 0,
"stderr": "",
"stdout": "quack moo default"
}
]
],
[
"task start",
[
"test copy",
false
]
],
[
"ok",
[
"127.0.0.2",
{
"changed": true,
"group": "root",
"mode": 420,
"path": "/tmp/ansible_test_data_copy.out",
"state": "file",
"user": "root"
}
]
],
[
"notify",
[
"127.0.0.2",
"on change 1"
]
],
[
"task start",
[
"test template",
false
]
],
[
"ok",
[
"127.0.0.2",
{
"changed": true,
"group": "root",
"mode": 420,
"path": "/tmp/ansible_test_data_template.out",
"state": "file",
"user": "root"
}
]
],
[
"notify",
[
"127.0.0.2",
"on change 1"
]
],
[
"notify",
[
"127.0.0.2",
"on change 2"
]
],
[
"task start",
[
"async poll test",
false
]
],
[
"ok",
[
"127.0.0.2",
{
"started": 1
}
]
],
[
"ok",
[
"127.0.0.2",
{
"started": 1
}
]
],
[
"async poll",
[
"127.0.0.2"
]
],
[
"ok",
[
"127.0.0.2",
{
"changed": true,
"cmd": "sleep 5 ",
"finished": 1,
"rc": 0,
"stderr": "",
"stdout": ""
}
]
],
[
"task start",
[
"this should be skipped",
false
]
],
[
"skipped",
[
"127.0.0.2"
]
],
[
"task start",
[
"on change 1",
true
]
],
[
"ok",
[
"127.0.0.2",
{
"changed": true,
"cmd": "echo 'this should fire once' ",
"rc": 0,
"stderr": "",
"stdout": "this should fire once"
}
]
],
[
"ok",
[
"127.0.0.2",
{
"changed": true,
"cmd": "echo 'this should fire once' ",
"rc": 0,
"stderr": "",
"stdout": "this should fire once"
}
]
],
[
"task start",
[
"on change 2",
true
]
],
[
"ok",
[
"127.0.0.2",
{
"changed": true,
"cmd": "echo 'this should fire once also' ",
"rc": 0,
"stderr": "",
"stdout": "this should fire once also"
}
]
]
],
"results": {
"127.0.0.2": {
"changed": 9,
"failures": 0,
"ok": 12,
"skipped": 1,
"unreachable": 0
}
}
}
Loading…
Cancel
Save