Add test to simply run a few binaries

This is not really a unit test, but it's so fast that I think it could
be considered as such. And it would be nice to gate on such blatant
breakage.

Change-Id: I8ff4ca27a912c30bd962168418ac44217ea9e54d
Signed-off-by: Jeff Peeler <jpeeler@redhat.com>
This commit is contained in:
Jeff Peeler 2012-12-07 23:18:31 -05:00
parent 10d23ef1d7
commit 8bd7e0a8f1
1 changed files with 41 additions and 0 deletions

41
heat/tests/test_cli.py Normal file
View File

@ -0,0 +1,41 @@
# vim: tabstop=4 shiftwidth=4 softtabstop=4
# Licensed under the Apache License, Version 2.0 (the "License"); you may
# not use this file except in compliance with the License. You may obtain
# a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
# License for the specific language governing permissions and limitations
# under the License.
from nose.plugins.attrib import attr
import unittest
import heat
import os
import subprocess
basepath = os.path.join(heat.__path__[0], os.path.pardir)
@attr(tag=['unit', 'cli'])
@attr(speed='medium')
class CliTest(unittest.TestCase):
def test_bins(self):
bins = ['heat-cfn', 'heat-boto', 'heat-watch']
for bin in bins:
fullpath = basepath + '/bin/' + bin
proc = subprocess.Popen(fullpath,
stdout=subprocess.PIPE, stderr=subprocess.PIPE)
stdout, stderr = proc.communicate()
if proc.returncode:
print 'Error executing %s:\n %s %s ' % (bin, stdout, stderr)
raise subprocess.CalledProcessError(proc.returncode, bin)