From b9e3b053f91ac91993951c8af90dd343803aa77d Mon Sep 17 00:00:00 2001 From: Michael DeHaan Date: Wed, 11 Apr 2012 20:27:17 -0400 Subject: [PATCH] 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. --- test/TestPlayBook.py | 23 +-- test/playbook1.events | 322 ------------------------------------------ 2 files changed, 15 insertions(+), 330 deletions(-) delete mode 100644 test/playbook1.events diff --git a/test/TestPlayBook.py b/test/TestPlayBook.py index 24568464223..72c0b69ccae 100644 --- a/test/TestPlayBook.py +++ b/test/TestPlayBook.py @@ -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() diff --git a/test/playbook1.events b/test/playbook1.events deleted file mode 100644 index feada7fe0a2..00000000000 --- a/test/playbook1.events +++ /dev/null @@ -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 - } - } -} -