summaryrefslogtreecommitdiff
path: root/packages
diff options
context:
space:
mode:
authorMichal Konvalinka <584541+dwich@users.noreply.github.com>2019-04-16 19:26:42 +0200
committerMax Illfelder <illfelder@users.noreply.github.com>2019-04-16 10:26:42 -0700
commit24bdbbdebdbb8a2b867ee70b0b78eae5804d1fe6 (patch)
treeea5bdfff23c0fc8ac3cba62d281723d76e1374b8 /packages
parentf088f83eb91b94db9d91054199346c21e050818b (diff)
downloadgoogle-compute-image-packages-24bdbbdebdbb8a2b867ee70b0b78eae5804d1fe6.tar.gz
Fix platform detection in case of FreeBSD in compat module. (#756)
* Fix platform detection in case of FreeBSD in compat module. Update tests.
Diffstat (limited to 'packages')
-rw-r--r--packages/python-google-compute-engine/google_compute_engine/compat.py12
-rw-r--r--packages/python-google-compute-engine/google_compute_engine/tests/compat_test.py6
2 files changed, 11 insertions, 7 deletions
diff --git a/packages/python-google-compute-engine/google_compute_engine/compat.py b/packages/python-google-compute-engine/google_compute_engine/compat.py
index 53dab99..eb69763 100644
--- a/packages/python-google-compute-engine/google_compute_engine/compat.py
+++ b/packages/python-google-compute-engine/google_compute_engine/compat.py
@@ -25,11 +25,17 @@ else:
import platform as distro
if 'freebsd' in sys.platform:
- distribution = distro.version().split()
+ # Note: Do not use .version() method which is from either platform or distro.
+ # platform.version() and distro.version() return different values.
+ # platform.version() returns 'FreeBSD 11.2-RELEASE-p9.....'.
+ # distro.version() returns '11.2'.
+ distro_name = 'freebsd'
+ # distro_version is not used for FreeBSD later in this code.
+ distro_version = None
else:
distribution = distro.linux_distribution()
-distro_name = distribution[0].lower()
-distro_version = distribution[1].split('.')[0]
+ distro_name = distribution[0].lower()
+ distro_version = distribution[1].split('.')[0]
distro_utils = None
if 'centos' in distro_name and distro_version == '6':
diff --git a/packages/python-google-compute-engine/google_compute_engine/tests/compat_test.py b/packages/python-google-compute-engine/google_compute_engine/tests/compat_test.py
index ec28323..803efef 100644
--- a/packages/python-google-compute-engine/google_compute_engine/tests/compat_test.py
+++ b/packages/python-google-compute-engine/google_compute_engine/tests/compat_test.py
@@ -109,10 +109,8 @@ class CompatTest(unittest.TestCase):
self.assertEqual(
test_cases[distro], google_compute_engine.compat.distro_utils)
- @mock.patch('google_compute_engine.compat.sys.platform', 'freebsd')
- @mock.patch('google_compute_engine.compat.distro.version')
- def testDistroCompatFreeBSD(self, mock_call):
- mock_call.return_value = 'FreeBSD 11.1-RELEASE-p4 #0: Tue Nov 14 06:12:40'
+ @mock.patch('google_compute_engine.compat.sys.platform', 'freebsd11')
+ def testDistroCompatFreeBSD(self):
reload_import(google_compute_engine.compat)
self.assertEqual(
google_compute_engine.distro_lib.freebsd_11.utils,