diff options
author | Scott Moser <smoser@ubuntu.com> | 2016-03-10 12:32:46 -0500 |
---|---|---|
committer | Scott Moser <smoser@ubuntu.com> | 2016-03-10 12:32:46 -0500 |
commit | b839ad32b9bf4541583ecbe68a0bd5dd9f12345a (patch) | |
tree | ce5352d0d3a8932f47c69fb991408bff7b92b2c3 /tests/unittests/test_util.py | |
parent | 0865e5179f2a803f727e83b5e36681613e63fe8a (diff) | |
download | vyos-cloud-init-b839ad32b9bf4541583ecbe68a0bd5dd9f12345a.tar.gz vyos-cloud-init-b839ad32b9bf4541583ecbe68a0bd5dd9f12345a.zip |
dmi data: fix failure of reading dmi data for unset dmi values
it is not uncommon to find dmi data in /sys full of 'ff'. utf-8
decoding of those would fail, causing warning and stacktrace.
Return '.' instead of \xff. This maps to what dmidecode would return
$ dmidecode --string system-product-name
.................................
Diffstat (limited to 'tests/unittests/test_util.py')
-rw-r--r-- | tests/unittests/test_util.py | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/tests/unittests/test_util.py b/tests/unittests/test_util.py index 95990165..542e4075 100644 --- a/tests/unittests/test_util.py +++ b/tests/unittests/test_util.py @@ -385,6 +385,15 @@ class TestReadDMIData(helpers.FilesystemMockingTestCase): self.patch_mapping({}) self.assertEqual(None, util.read_dmi_data('expect-fail')) + def test_dots_returned_instead_of_foxfox(self): + my_len = 32 + dmi_value = b'\xff' * my_len + b'\n' + expected = '.' * my_len + dmi_key = 'system-product-name' + sysfs_key = 'product_name' + self._create_sysfs_file(sysfs_key, dmi_value) + self.assertEqual(expected, util.read_dmi_data(dmi_key)) + class TestMultiLog(helpers.FilesystemMockingTestCase): |