From 5e69dd94bf81f55d6d5b917b7ec673482b5565c0 Mon Sep 17 00:00:00 2001 From: Monty Taylor Date: Fri, 25 Jan 2013 08:12:28 +1100 Subject: Support running uninstalled in a tarball dir. Running tests from the directory of an expanded tarball is a reasonable thing to do, so support it by checking for PKG-INFO file if the pkg_resources version grab fails. Fixes bug 1103473 Change-Id: I2bf1fc39b070d3a2cdf6a3abe5e816c81d2916a0 --- openstack/common/version.py | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) (limited to 'openstack') diff --git a/openstack/common/version.py b/openstack/common/version.py index 3653ad0..c27095a 100644 --- a/openstack/common/version.py +++ b/openstack/common/version.py @@ -36,9 +36,16 @@ class VersionInfo(object): def _get_version_from_pkg_resources(self): """Get the version of the package from the pkg_resources record associated with the package.""" - requirement = pkg_resources.Requirement.parse(self.package) - provider = pkg_resources.get_provider(requirement) - return provider.version + try: + requirement = pkg_resources.Requirement.parse(self.package) + provider = pkg_resources.get_provider(requirement) + return provider.version + except pkg_resources.DistributionNotFound: + # The most likely cause for this is running tests in a tree with + # produced from a tarball where the package itself has not been + # installed into anything. Check for a PKG-INFO file. + from openstack.common import setup + return setup.get_version_from_pkg_info(self.package) def release_string(self): """Return the full version of the package including suffixes indicating -- cgit