From f747176e25bcc38f3047d2d7c3642fc7369cd31c Mon Sep 17 00:00:00 2001 From: Pat Riehecky Date: Mar 03 2017 21:51:54 +0000 Subject: Gracefully bail out if needed externals are missing --- diff --git a/updateinfo/helpers/tests.py b/updateinfo/helpers/tests.py index 03a08e5..7a33ab9 100644 --- a/updateinfo/helpers/tests.py +++ b/updateinfo/helpers/tests.py @@ -907,7 +907,12 @@ class HelperRepoTests(unittest.TestCase): pkgs = 'bad value' with open(os.devnull, 'w') as devnull: - subprocess.check_call([ 'rpmbuild', '-bb', '--define', '%_topdir /tmp/', './docs/samples/sample.spec'], stdout=devnull, stderr=devnull) + if os.path.isfile('./docs/samples/sample.spec'): + subprocess.check_call([ 'rpmbuild', '-bb', '--define', '%_topdir /tmp/', './docs/samples/sample.spec'], stdout=devnull, stderr=devnull) + else: + if not os.path.isfile('/usr/share/doc/python-Updateinfo/samples/sample.spec'): + raise unittest.SkipTest('Could not find samples/sample.spec') + subprocess.check_call([ 'rpmbuild', '-bb', '--define', '%_topdir /tmp/', '/usr/share/doc/python-Updateinfo/samples/sample.spec'], stdout=devnull, stderr=devnull) if os.path.isfile('/tmp/RPMS/noarch/sample-1-1.1.noarch.rpm'): shutil.copy('/tmp/RPMS/noarch/sample-1-1.1.noarch.rpm', tmpdir) else: @@ -1479,6 +1484,9 @@ class HelperXMLToolsTests(unittest.TestCase): try: validate(txt, './docs/updateinfo.xsd') except IOError: # pragma: no cover + if not os.path.isfile('/usr/share/doc/python-Updateinfo/updateinfo.xsd'): + raise unittest.SkipTest('Could not find updateinfo.xsd') + validate(txt, '/usr/share/doc/python-Updateinfo/updateinfo.xsd') result = True except lxmletree.DocumentInvalid: # pragma: no cover @@ -1492,6 +1500,8 @@ class HelperXMLToolsTests(unittest.TestCase): try: _fd = open('./docs/samples/Fedora-updateinfo.xml', 'r') except IOError: # pragma: no cover + if not os.path.isfile('/usr/share/doc/python-Updateinfo/samples/Fedora-updateinfo.xml'): + raise unittest.SkipTest('Could not find Fedora-updateinfo.xml') _fd = open('/usr/share/doc/python-Updateinfo/samples/Fedora-updateinfo.xml', 'r') txt = _fd.read() _fd.close() @@ -1501,6 +1511,9 @@ class HelperXMLToolsTests(unittest.TestCase): validate(txt, './docs/updateinfo.xsd') except IOError: # pragma: no cover try: + if not os.path.isfile('/usr/share/doc/python-Updateinfo/updateinfo.xsd'): + raise unittest.SkipTest('Could not find updateinfo.xsd') + validate(txt, '/usr/share/doc/python-Updateinfo/updateinfo.xsd') except lxmletree.DocumentInvalid: result = False @@ -1515,6 +1528,8 @@ class HelperXMLToolsTests(unittest.TestCase): try: _fd = open('./docs/samples/EPEL6-updateinfo.xml', 'r') except IOError: # pragma: no cover + if not os.path.isfile('/usr/share/doc/python-Updateinfo/samples/EPEL6-updateinfo.xml'): + raise unittest.SkipTest('Could not find EPEL6-updateinfo.xml') _fd = open('/usr/share/doc/python-Updateinfo/samples/EPEL6-updateinfo.xml', 'r') txt = _fd.read() _fd.close() @@ -1524,6 +1539,8 @@ class HelperXMLToolsTests(unittest.TestCase): validate(txt, './docs/updateinfo.xsd') except IOError: # pragma: no cover try: + if not os.path.isfile('/usr/share/doc/python-Updateinfo/updateinfo.xsd'): + raise unittest.SkipTest('Could not find updateinfo.xsd') validate(txt, '/usr/share/doc/python-Updateinfo/updateinfo.xsd') except lxmletree.DocumentInvalid: result = False @@ -1542,6 +1559,8 @@ class HelperXMLToolsTests(unittest.TestCase): try: validate(uinfo.xml, './docs/updateinfo.xsd') except IOError: # pragma: no cover + if not os.path.isfile('/usr/share/doc/python-Updateinfo/updateinfo.xsd'): + raise unittest.SkipTest('Could not find updateinfo.xsd') validate(uinfo.xml, '/usr/share/doc/python-Updateinfo/updateinfo.xsd') except lxmletree.DocumentInvalid: # pragma: no cover result = False