diff options
author | Markus Lehtonen <markus.lehtonen@linux.intel.com> | 2013-04-03 15:29:19 +0300 |
---|---|---|
committer | Guido Günther <agx@sigxcpu.org> | 2013-04-26 22:07:15 +0200 |
commit | f880910c80c30bf64f951bb054814d2e00e76b77 (patch) | |
tree | a18da537a857d09ac8fb4c66c850e792d42c9c3c /tests/testutils.py | |
parent | ae63dba9f6d2fe2d1c0889b69eccacb3fc256a9c (diff) |
tests: Fix tests for Ubuntu
On Ubuntu dch produces different version numbering. Adapt tests for
this.
Adds a jew class to parse '/etc/lsb-release' to determine the
distribution and it's codename to dynamically adapt tests accordingly.
Signed-off-by: Markus Lehtonen <markus.lehtonen@linux.intel.com>
Diffstat (limited to 'tests/testutils.py')
-rw-r--r-- | tests/testutils.py | 33 |
1 files changed, 33 insertions, 0 deletions
diff --git a/tests/testutils.py b/tests/testutils.py index 38e0ac3..0f953bc 100644 --- a/tests/testutils.py +++ b/tests/testutils.py @@ -41,3 +41,36 @@ class DebianGitTestRepo(unittest.TestCase): content == None or f.write(content) self.repo.add_files(name, force=True) self.repo.commit_files(path, msg or "added %s" % name) + +class OsReleaseFile(object): + """Repesents a simple file with key-value pairs""" + + def __init__(self, filename): + self._values = {} + + try: + with open(filename, 'r') as filed: + for line in filed.readlines(): + try: + key, value = line.split('=', 1) + except ValueError: + pass + else: + self._values[key] = value.strip() + except IOError as err: + gbp.log.info('Failed to read OS release file %s: %s' % + (filename, err)) + + def __getitem__(self, key): + if key in self._values: + return self._values[key] + return None + + def __contains__(self, key): + return key in self._values + + def __str__(self): + return str(self._values) + + def __repr__(self): + return repr(self._values) |