Move testutils to separate module
authorGuido Günther <agx@sigxcpu.org>
Sun, 25 Jan 2015 13:37:37 +0000 (14:37 +0100)
committerGuido Günther <agx@sigxcpu.org>
Sun, 25 Jan 2015 14:04:13 +0000 (15:04 +0100)
tests/testutils.py [deleted file]
tests/testutils/__init__.py [new file with mode: 0644]

diff --git a/tests/testutils.py b/tests/testutils.py
deleted file mode 100644 (file)
index e161dbe..0000000
+++ /dev/null
@@ -1,115 +0,0 @@
-# vim: set fileencoding=utf-8 :
-
-from . import context
-
-import os
-import shutil
-import subprocess
-import tempfile
-import unittest
-
-import gbp.log
-import gbp.deb.git
-import gbp.errors
-from gbp.deb.changelog import ChangeLog
-
-class DebianGitTestRepo(unittest.TestCase):
-    """Scratch repo for a single unit test"""
-
-    def setUp(self):
-        self.tmpdir = context.new_tmpdir(__name__)
-
-        repodir = self.tmpdir.join('test_repo')
-        self.repo = gbp.deb.git.DebianGitRepository.create(repodir)
-
-    def tearDown(self):
-        context.teardown()
-
-    def add_file(self, name, content=None, msg=None):
-        """
-        Add a single file with name I{name} and content I{content}. If
-        I{content} is C{none} the content of the file is undefined.
-
-        @param name: the file's path relativ to the git repo
-        @type name: C{str}
-        @param content: the file's content
-        @type content: C{str}
-        """
-        path = os.path.join(self.repo.path, name)
-
-        d = os.path.dirname(path)
-        if not os.path.exists(d):
-            os.makedirs(d)
-
-        with open(path, 'w+') as f:
-            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)
-
-class MockedChangeLog(ChangeLog):
-    contents = """foo (%s) experimental; urgency=low
-
-  %s
-
- -- Debian Maintainer <maint@debian.org>  Sat, 01 Jan 2012 00:00:00 +0100"""
-
-    def __init__(self, version, changes = "a important change"):
-        ChangeLog.__init__(self,
-                           contents=self.contents % (version, changes))
-
-
-def get_dch_default_urgency():
-    """Determine the default urgency level used by dch"""
-    urgency = 'medium'
-    tempdir = tempfile.mkdtemp()
-    tmp_dch_name = os.path.join(tempdir, 'changelog')
-    try:
-        dch_cmd = ['dch', '--create', '--empty', '--changelog', tmp_dch_name,
-                   '--package=foo', '--newversion=1',
-                   '--distribution=UNRELEASED']
-        ret = subprocess.Popen(dch_cmd).wait()
-    except OSError:
-        pass
-    else:
-        if ret == 0:
-            with open(tmp_dch_name) as dchfile:
-                header = dchfile.readline().strip()
-                urgency = header.split()[-1].replace('urgency=', '')
-    finally:
-        if os.path.isdir(tempdir):
-            shutil.rmtree(tempdir)
-    return urgency
-
diff --git a/tests/testutils/__init__.py b/tests/testutils/__init__.py
new file mode 100644 (file)
index 0000000..2d389a5
--- /dev/null
@@ -0,0 +1,115 @@
+# vim: set fileencoding=utf-8 :
+
+from .. import context
+
+import os
+import shutil
+import subprocess
+import tempfile
+import unittest
+
+import gbp.log
+import gbp.deb.git
+import gbp.errors
+from gbp.deb.changelog import ChangeLog
+
+class DebianGitTestRepo(unittest.TestCase):
+    """Scratch repo for a single unit test"""
+
+    def setUp(self):
+        self.tmpdir = context.new_tmpdir(__name__)
+
+        repodir = self.tmpdir.join('test_repo')
+        self.repo = gbp.deb.git.DebianGitRepository.create(repodir)
+
+    def tearDown(self):
+        context.teardown()
+
+    def add_file(self, name, content=None, msg=None):
+        """
+        Add a single file with name I{name} and content I{content}. If
+        I{content} is C{none} the content of the file is undefined.
+
+        @param name: the file's path relativ to the git repo
+        @type name: C{str}
+        @param content: the file's content
+        @type content: C{str}
+        """
+        path = os.path.join(self.repo.path, name)
+
+        d = os.path.dirname(path)
+        if not os.path.exists(d):
+            os.makedirs(d)
+
+        with open(path, 'w+') as f:
+            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)
+
+class MockedChangeLog(ChangeLog):
+    contents = """foo (%s) experimental; urgency=low
+
+  %s
+
+ -- Debian Maintainer <maint@debian.org>  Sat, 01 Jan 2012 00:00:00 +0100"""
+
+    def __init__(self, version, changes = "a important change"):
+        ChangeLog.__init__(self,
+                           contents=self.contents % (version, changes))
+
+
+def get_dch_default_urgency():
+    """Determine the default urgency level used by dch"""
+    urgency = 'medium'
+    tempdir = tempfile.mkdtemp()
+    tmp_dch_name = os.path.join(tempdir, 'changelog')
+    try:
+        dch_cmd = ['dch', '--create', '--empty', '--changelog', tmp_dch_name,
+                   '--package=foo', '--newversion=1',
+                   '--distribution=UNRELEASED']
+        ret = subprocess.Popen(dch_cmd).wait()
+    except OSError:
+        pass
+    else:
+        if ret == 0:
+            with open(tmp_dch_name) as dchfile:
+                header = dchfile.readline().strip()
+                urgency = header.split()[-1].replace('urgency=', '')
+    finally:
+        if os.path.isdir(tempdir):
+            shutil.rmtree(tempdir)
+    return urgency
+