[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#771856: unblock: reportbug/6.6.1



Package: release.debian.org
Severity: normal
User: release.debian.org@packages.debian.org
Usertags: unblock

Please unblock package reportbug

This update fixes these bugs:

- a small issue when displaying the foreing archs when more than 1 is available
- add the init system information to bug template
- add the 'newcomer' tag (tests for this are a bit of a mess, sorry about it)

unblock reportbug/6.6.1

-- System Information:
Debian Release: jessie/sid
  APT prefers unstable
  APT policy: (500, 'unstable'), (500, 'testing'), (500, 'stable'), (500, 'oldstable'), (1, 'experimental')
Architecture: amd64 (x86_64)
Foreign Architectures: i386

Kernel: Linux 3.14-2-amd64 (SMP w/8 CPU cores)
Locale: LANG=en_US.UTF-8, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash
Init: systemd (via /run/systemd/system)
diff -Nru reportbug-6.6.0/debian/changelog reportbug-6.6.1/debian/changelog
--- reportbug-6.6.0/debian/changelog	2014-10-29 00:36:13.000000000 +0000
+++ reportbug-6.6.1/debian/changelog	2014-12-02 21:53:13.000000000 +0000
@@ -1,3 +1,17 @@
+reportbug (6.6.1) unstable; urgency=medium
+
+  * reportbug/utils.py
+    - don't split multiarch information on multiple lines; thanks to James
+      Cowgill for the report; Closes: #759690
+  * reportbug/{bugreport.py, utils.py}
+    - include init system information in bug reports; thanks to Yves-Alexis
+      Perez for the report and debian-devel ml for suggestions and inputs;
+      Closes #741930
+  * reportbug/debbugs.py
+    - add 'newcomer' tag
+
+ -- Sandro Tosi <morph@debian.org>  Tue, 02 Dec 2014 21:52:57 +0000
+
 reportbug (6.6.0) unstable; urgency=medium
 
   * bin/reportbug, man/reportbug.1 share/reportbug.el
diff -Nru reportbug-6.6.0/reportbug/bugreport.py reportbug-6.6.1/reportbug/bugreport.py
--- reportbug-6.6.0/reportbug/bugreport.py	2014-10-29 00:36:13.000000000 +0000
+++ reportbug-6.6.1/reportbug/bugreport.py	2014-12-02 21:53:13.000000000 +0000
@@ -80,6 +80,7 @@
         un = os.uname()
         debinfo = u''
         shellpath = utils.realpath('/bin/sh')
+        init = utils.get_init_system()
 
         locinfo = []
         langsetting = os.environ.get('LANG', 'C')
@@ -174,6 +175,8 @@
             debinfo += u'Locale: %s\n' % locinfo
         if shellpath != '/bin/sh':
             debinfo += u'Shell: /bin/sh linked to %s\n' % shellpath
+        if init:
+            debinfo += u'Init: %s\n' % init
 
         # Don't include system info for certain packages
         if self.sysinfo:
Binary files /tmp/K97uUNl2T2/reportbug-6.6.0/reportbug/bugreport.pyc and /tmp/DGMmGZ0yUt/reportbug-6.6.1/reportbug/bugreport.pyc differ
diff -Nru reportbug-6.6.0/reportbug/debbugs.py reportbug-6.6.1/reportbug/debbugs.py
--- reportbug-6.6.0/reportbug/debbugs.py	2014-10-29 00:36:13.000000000 +0000
+++ reportbug-6.6.1/reportbug/debbugs.py	2014-12-02 21:53:13.000000000 +0000
@@ -793,7 +793,8 @@
     'd-i' : 'This bug is relevant to the development of debian-installer.',
     'ipv6' : 'This bug affects support for Internet Protocol version 6.',
     'lfs' : 'This bug affects support for large files (over 2 gigabytes).',
-    'l10n' : 'This bug reports a localization/internationalization issue.'
+    'l10n' : 'This bug reports a localization/internationalization issue.',
+    'newcomer' : 'This bug has a known solution but the maintainer requests someone else implement it.',
     }
 
 def get_tags(severity='', mode=utils.MODE_NOVICE):
Binary files /tmp/K97uUNl2T2/reportbug-6.6.0/reportbug/debbugs.pyc and /tmp/DGMmGZ0yUt/reportbug-6.6.1/reportbug/debbugs.pyc differ
diff -Nru reportbug-6.6.0/reportbug/__init__.py reportbug-6.6.1/reportbug/__init__.py
--- reportbug-6.6.0/reportbug/__init__.py	2014-10-29 00:36:13.000000000 +0000
+++ reportbug-6.6.1/reportbug/__init__.py	2014-12-02 21:53:13.000000000 +0000
@@ -25,7 +25,7 @@
 __all__ = ['bugreport', 'utils', 'urlutils', 'checkbuildd', 'checkversions',
            'debbugs', 'exceptions', 'submit', 'tempfile']
 
-VERSION_NUMBER = "6.6.0"
+VERSION_NUMBER = "6.6.1"
 
 VERSION = "reportbug "+VERSION_NUMBER
 COPYRIGHT = VERSION + '\nCopyright (C) 1999-2008 Chris Lawrence <lawrencc@debian.org>' + \
Binary files /tmp/K97uUNl2T2/reportbug-6.6.0/reportbug/__init__.pyc and /tmp/DGMmGZ0yUt/reportbug-6.6.1/reportbug/__init__.pyc differ
diff -Nru reportbug-6.6.0/reportbug/utils.py reportbug-6.6.1/reportbug/utils.py
--- reportbug-6.6.0/reportbug/utils.py	2014-10-29 00:36:13.000000000 +0000
+++ reportbug-6.6.1/reportbug/utils.py	2014-12-02 21:53:13.000000000 +0000
@@ -765,7 +765,8 @@
     return arch
 
 def get_multiarch():
-    return commands.getoutput('COLUMNS=79 dpkg --print-foreign-architectures 2>/dev/null')
+    out = commands.getoutput('COLUMNS=79 dpkg --print-foreign-architectures 2>/dev/null')
+    return ', '.join(out.splitlines())
 
 def generate_blank_report(package, pkgversion, severity, justification,
                           depinfo, confinfo, foundfile='', incfiles='',
@@ -1225,3 +1226,17 @@
     pkg_re = re.compile('^[a-z0-9][a-z0-9+-\.]+$')
 
     return True if pkg_re.match(pkg) else False
+
+def get_init_system():
+    """Determines the init system on the current machine"""
+
+    init = 'unable to detect'
+
+    if os.path.isdir('/run/systemd/system'):
+        init = 'systemd (via /run/systemd/system)'
+    if not subprocess.call('. /lib/lsb/init-functions ; init_is_upstart', shell=True):
+        init = 'upstart (via init_is_upstart())'
+    elif os.path.isfile('/sbin/init') and not os.path.islink('/sbin/init'):
+        init = 'sysvinit (via /sbin/init)'
+
+    return init
Binary files /tmp/K97uUNl2T2/reportbug-6.6.0/reportbug/utils.pyc and /tmp/DGMmGZ0yUt/reportbug-6.6.1/reportbug/utils.pyc differ
diff -Nru reportbug-6.6.0/test/test_debbugs.py reportbug-6.6.1/test/test_debbugs.py
--- reportbug-6.6.0/test/test_debbugs.py	2014-10-29 00:36:13.000000000 +0000
+++ reportbug-6.6.1/test/test_debbugs.py	2014-12-02 21:53:13.000000000 +0000
@@ -2,7 +2,6 @@
 
 from nose.plugins.attrib import attr
 import mock
-
 from reportbug import utils
 from reportbug import debbugs
 
@@ -14,45 +13,45 @@
     def test_get_tags(self):
 
         # for each severity, for each mode
-        self.assertItemsEqual(debbugs.get_tags('critical', utils.MODE_NOVICE).keys(), ['lfs', 'l10n', 'd-i', 'upstream', 'ipv6', 'security', 'patch'])
-        self.assertItemsEqual(debbugs.get_tags('grave', utils.MODE_NOVICE).keys(), ['lfs', 'l10n', 'd-i', 'upstream', 'ipv6', 'security', 'patch'])
-        self.assertItemsEqual(debbugs.get_tags('serious', utils.MODE_NOVICE).keys(), ['lfs', 'l10n', 'd-i', 'upstream', 'ipv6', 'security', 'patch'])
-        self.assertItemsEqual(debbugs.get_tags('important', utils.MODE_NOVICE).keys(), ['lfs', 'l10n', 'd-i', 'upstream', 'ipv6', 'patch'])
-        self.assertItemsEqual(debbugs.get_tags('does-not-build', utils.MODE_NOVICE).keys(), ['lfs', 'l10n', 'd-i', 'upstream', 'ipv6', 'patch'])
-        self.assertItemsEqual(debbugs.get_tags('normal', utils.MODE_NOVICE).keys(), ['lfs', 'l10n', 'd-i', 'upstream', 'ipv6', 'patch'])
-        self.assertItemsEqual(debbugs.get_tags('non-critical', utils.MODE_NOVICE).keys(), ['lfs', 'l10n', 'd-i', 'upstream', 'ipv6', 'patch'])
-        self.assertItemsEqual(debbugs.get_tags('minor', utils.MODE_NOVICE).keys(), ['lfs', 'l10n', 'd-i', 'upstream', 'ipv6', 'patch'])
-        self.assertItemsEqual(debbugs.get_tags('wishlist', utils.MODE_NOVICE).keys(), ['lfs', 'l10n', 'd-i', 'upstream', 'ipv6', 'patch'])
-
-        self.assertItemsEqual(debbugs.get_tags('critical', utils.MODE_STANDARD).keys(), ['lfs', 'l10n', 'd-i', 'upstream', 'ipv6', 'security', 'patch'])
-        self.assertItemsEqual(debbugs.get_tags('grave', utils.MODE_STANDARD).keys(), ['lfs', 'l10n', 'd-i', 'upstream', 'ipv6', 'security', 'patch'])
-        self.assertItemsEqual(debbugs.get_tags('serious', utils.MODE_STANDARD).keys(), ['lfs', 'l10n', 'd-i', 'upstream', 'ipv6', 'security', 'patch'])
-        self.assertItemsEqual(debbugs.get_tags('important', utils.MODE_STANDARD).keys(), ['lfs', 'l10n', 'd-i', 'upstream', 'ipv6', 'patch'])
-        self.assertItemsEqual(debbugs.get_tags('does-not-build', utils.MODE_STANDARD).keys(), ['lfs', 'l10n', 'd-i', 'upstream', 'ipv6', 'patch'])
-        self.assertItemsEqual(debbugs.get_tags('normal', utils.MODE_STANDARD).keys(), ['lfs', 'l10n', 'd-i', 'upstream', 'ipv6', 'patch'])
-        self.assertItemsEqual(debbugs.get_tags('non-critical', utils.MODE_STANDARD).keys(), ['lfs', 'l10n', 'd-i', 'upstream', 'ipv6', 'patch'])
-        self.assertItemsEqual(debbugs.get_tags('minor', utils.MODE_STANDARD).keys(), ['lfs', 'l10n', 'd-i', 'upstream', 'ipv6', 'patch'])
-        self.assertItemsEqual(debbugs.get_tags('wishlist', utils.MODE_STANDARD).keys(), ['lfs', 'l10n', 'd-i', 'upstream', 'ipv6', 'patch'])
-
-        self.assertItemsEqual(debbugs.get_tags('critical', utils.MODE_ADVANCED).keys(), ['l10n', 'd-i', 'ipv6', 'patch', 'lfs', 'upstream', 'security'])
-        self.assertItemsEqual(debbugs.get_tags('grave', utils.MODE_ADVANCED).keys(), ['l10n', 'd-i', 'ipv6', 'patch', 'lfs', 'upstream', 'security'])
-        self.assertItemsEqual(debbugs.get_tags('serious', utils.MODE_ADVANCED).keys(), ['l10n', 'd-i', 'ipv6', 'patch', 'lfs', 'upstream', 'security'])
-        self.assertItemsEqual(debbugs.get_tags('important', utils.MODE_ADVANCED).keys(), ['l10n', 'd-i', 'ipv6', 'patch', 'lfs', 'upstream', 'security'])
-        self.assertItemsEqual(debbugs.get_tags('does-not-build', utils.MODE_ADVANCED).keys(), ['l10n', 'd-i', 'ipv6', 'patch', 'lfs', 'upstream', 'security'])
-        self.assertItemsEqual(debbugs.get_tags('normal', utils.MODE_ADVANCED).keys(), ['l10n', 'd-i', 'ipv6', 'patch', 'lfs', 'upstream', 'security'])
-        self.assertItemsEqual(debbugs.get_tags('non-critical', utils.MODE_ADVANCED).keys(), ['l10n', 'd-i', 'ipv6', 'patch', 'lfs', 'upstream', 'security'])
-        self.assertItemsEqual(debbugs.get_tags('minor', utils.MODE_ADVANCED).keys(), ['l10n', 'd-i', 'ipv6', 'patch', 'lfs', 'upstream', 'security'])
-        self.assertItemsEqual(debbugs.get_tags('wishlist', utils.MODE_ADVANCED).keys(), ['l10n', 'd-i', 'ipv6', 'patch', 'lfs', 'upstream', 'security'])
-
-        self.assertItemsEqual(debbugs.get_tags('critical', utils.MODE_EXPERT).keys(), ['l10n', 'd-i', 'ipv6', 'patch', 'lfs', 'upstream', 'security'])
-        self.assertItemsEqual(debbugs.get_tags('grave', utils.MODE_EXPERT).keys(), ['l10n', 'd-i', 'ipv6', 'patch', 'lfs', 'upstream', 'security'])
-        self.assertItemsEqual(debbugs.get_tags('serious', utils.MODE_EXPERT).keys(), ['l10n', 'd-i', 'ipv6', 'patch', 'lfs', 'upstream', 'security'])
-        self.assertItemsEqual(debbugs.get_tags('important', utils.MODE_EXPERT).keys(), ['l10n', 'd-i', 'ipv6', 'patch', 'lfs', 'upstream', 'security'])
-        self.assertItemsEqual(debbugs.get_tags('does-not-build', utils.MODE_EXPERT).keys(), ['l10n', 'd-i', 'ipv6', 'patch', 'lfs', 'upstream', 'security'])
-        self.assertItemsEqual(debbugs.get_tags('normal', utils.MODE_EXPERT).keys(), ['l10n', 'd-i', 'ipv6', 'patch', 'lfs', 'upstream', 'security'])
-        self.assertItemsEqual(debbugs.get_tags('non-critical', utils.MODE_EXPERT).keys(), ['l10n', 'd-i', 'ipv6', 'patch', 'lfs', 'upstream', 'security'])
-        self.assertItemsEqual(debbugs.get_tags('minor', utils.MODE_EXPERT).keys(), ['l10n', 'd-i', 'ipv6', 'patch', 'lfs', 'upstream', 'security'])
-        self.assertItemsEqual(debbugs.get_tags('wishlist', utils.MODE_EXPERT).keys(), ['l10n', 'd-i', 'ipv6', 'patch', 'lfs', 'upstream', 'security'])
+        self.assertItemsEqual(debbugs.get_tags('critical', utils.MODE_NOVICE).keys(), ['lfs', 'l10n', 'd-i', 'upstream', 'ipv6', 'security', 'patch', 'newcomer'])
+        self.assertItemsEqual(debbugs.get_tags('grave', utils.MODE_NOVICE).keys(), ['lfs', 'l10n', 'd-i', 'upstream', 'ipv6', 'security', 'patch', 'newcomer'])
+        self.assertItemsEqual(debbugs.get_tags('serious', utils.MODE_NOVICE).keys(), ['lfs', 'l10n', 'd-i', 'upstream', 'ipv6', 'security', 'patch', 'newcomer'])
+        self.assertItemsEqual(debbugs.get_tags('important', utils.MODE_NOVICE).keys(), ['lfs', 'l10n', 'd-i', 'upstream', 'ipv6', 'patch', 'newcomer'])
+        self.assertItemsEqual(debbugs.get_tags('does-not-build', utils.MODE_NOVICE).keys(), ['lfs', 'l10n', 'd-i', 'upstream', 'ipv6', 'patch', 'newcomer'])
+        self.assertItemsEqual(debbugs.get_tags('normal', utils.MODE_NOVICE).keys(), ['lfs', 'l10n', 'd-i', 'upstream', 'ipv6', 'patch', 'newcomer'])
+        self.assertItemsEqual(debbugs.get_tags('non-critical', utils.MODE_NOVICE).keys(), ['lfs', 'l10n', 'd-i', 'upstream', 'ipv6', 'patch', 'newcomer'])
+        self.assertItemsEqual(debbugs.get_tags('minor', utils.MODE_NOVICE).keys(), ['lfs', 'l10n', 'd-i', 'upstream', 'ipv6', 'patch', 'newcomer'])
+        self.assertItemsEqual(debbugs.get_tags('wishlist', utils.MODE_NOVICE).keys(), ['lfs', 'l10n', 'd-i', 'upstream', 'ipv6', 'patch', 'newcomer'])
+
+        self.assertItemsEqual(debbugs.get_tags('critical', utils.MODE_STANDARD).keys(), ['lfs', 'l10n', 'd-i', 'upstream', 'ipv6', 'security', 'patch', 'newcomer'])
+        self.assertItemsEqual(debbugs.get_tags('grave', utils.MODE_STANDARD).keys(), ['lfs', 'l10n', 'd-i', 'upstream', 'ipv6', 'security', 'patch', 'newcomer'])
+        self.assertItemsEqual(debbugs.get_tags('serious', utils.MODE_STANDARD).keys(), ['lfs', 'l10n', 'd-i', 'upstream', 'ipv6', 'security', 'patch', 'newcomer'])
+        self.assertItemsEqual(debbugs.get_tags('important', utils.MODE_STANDARD).keys(), ['lfs', 'l10n', 'd-i', 'upstream', 'ipv6', 'patch', 'newcomer'])
+        self.assertItemsEqual(debbugs.get_tags('does-not-build', utils.MODE_STANDARD).keys(), ['lfs', 'l10n', 'd-i', 'upstream', 'ipv6', 'patch', 'newcomer'])
+        self.assertItemsEqual(debbugs.get_tags('normal', utils.MODE_STANDARD).keys(), ['lfs', 'l10n', 'd-i', 'upstream', 'ipv6', 'patch', 'newcomer'])
+        self.assertItemsEqual(debbugs.get_tags('non-critical', utils.MODE_STANDARD).keys(), ['lfs', 'l10n', 'd-i', 'upstream', 'ipv6', 'patch', 'newcomer'])
+        self.assertItemsEqual(debbugs.get_tags('minor', utils.MODE_STANDARD).keys(), ['lfs', 'l10n', 'd-i', 'upstream', 'ipv6', 'patch', 'newcomer'])
+        self.assertItemsEqual(debbugs.get_tags('wishlist', utils.MODE_STANDARD).keys(), ['lfs', 'l10n', 'd-i', 'upstream', 'ipv6', 'patch', 'newcomer'])
+
+        self.assertItemsEqual(debbugs.get_tags('critical', utils.MODE_ADVANCED).keys(), ['l10n', 'd-i', 'ipv6', 'patch', 'lfs', 'upstream', 'security', 'newcomer'])
+        self.assertItemsEqual(debbugs.get_tags('grave', utils.MODE_ADVANCED).keys(), ['l10n', 'd-i', 'ipv6', 'patch', 'lfs', 'upstream', 'security', 'newcomer'])
+        self.assertItemsEqual(debbugs.get_tags('serious', utils.MODE_ADVANCED).keys(), ['l10n', 'd-i', 'ipv6', 'patch', 'lfs', 'upstream', 'security', 'newcomer'])
+        self.assertItemsEqual(debbugs.get_tags('important', utils.MODE_ADVANCED).keys(), ['l10n', 'd-i', 'ipv6', 'patch', 'lfs', 'upstream', 'security', 'newcomer'])
+        self.assertItemsEqual(debbugs.get_tags('does-not-build', utils.MODE_ADVANCED).keys(), ['l10n', 'd-i', 'ipv6', 'patch', 'lfs', 'upstream', 'security', 'newcomer'])
+        self.assertItemsEqual(debbugs.get_tags('normal', utils.MODE_ADVANCED).keys(), ['l10n', 'd-i', 'ipv6', 'patch', 'lfs', 'upstream', 'security', 'newcomer'])
+        self.assertItemsEqual(debbugs.get_tags('non-critical', utils.MODE_ADVANCED).keys(), ['l10n', 'd-i', 'ipv6', 'patch', 'lfs', 'upstream', 'security', 'newcomer'])
+        self.assertItemsEqual(debbugs.get_tags('minor', utils.MODE_ADVANCED).keys(), ['l10n', 'd-i', 'ipv6', 'patch', 'lfs', 'upstream', 'security', 'newcomer'])
+        self.assertItemsEqual(debbugs.get_tags('wishlist', utils.MODE_ADVANCED).keys(), ['l10n', 'd-i', 'ipv6', 'patch', 'lfs', 'upstream', 'security', 'newcomer'])
+
+        self.assertItemsEqual(debbugs.get_tags('critical', utils.MODE_EXPERT).keys(), ['l10n', 'd-i', 'ipv6', 'patch', 'lfs', 'upstream', 'security', 'newcomer'])
+        self.assertItemsEqual(debbugs.get_tags('grave', utils.MODE_EXPERT).keys(), ['l10n', 'd-i', 'ipv6', 'patch', 'lfs', 'upstream', 'security', 'newcomer'])
+        self.assertItemsEqual(debbugs.get_tags('serious', utils.MODE_EXPERT).keys(), ['l10n', 'd-i', 'ipv6', 'patch', 'lfs', 'upstream', 'security', 'newcomer'])
+        self.assertItemsEqual(debbugs.get_tags('important', utils.MODE_EXPERT).keys(), ['l10n', 'd-i', 'ipv6', 'patch', 'lfs', 'upstream', 'security', 'newcomer'])
+        self.assertItemsEqual(debbugs.get_tags('does-not-build', utils.MODE_EXPERT).keys(), ['l10n', 'd-i', 'ipv6', 'patch', 'lfs', 'upstream', 'security', 'newcomer'])
+        self.assertItemsEqual(debbugs.get_tags('normal', utils.MODE_EXPERT).keys(), ['l10n', 'd-i', 'ipv6', 'patch', 'lfs', 'upstream', 'security', 'newcomer'])
+        self.assertItemsEqual(debbugs.get_tags('non-critical', utils.MODE_EXPERT).keys(), ['l10n', 'd-i', 'ipv6', 'patch', 'lfs', 'upstream', 'security', 'newcomer'])
+        self.assertItemsEqual(debbugs.get_tags('minor', utils.MODE_EXPERT).keys(), ['l10n', 'd-i', 'ipv6', 'patch', 'lfs', 'upstream', 'security', 'newcomer'])
+        self.assertItemsEqual(debbugs.get_tags('wishlist', utils.MODE_EXPERT).keys(), ['l10n', 'd-i', 'ipv6', 'patch', 'lfs', 'upstream', 'security', 'newcomer'])
 
 
 class TestInfofunc(unittest2.TestCase):
@@ -65,6 +64,10 @@
         self.assertIn('Architecture: ' + arch, info)
         self.assertTrue(info.endswith('\n\n'))
 
+        # save original method
+        __save1 = utils.get_arch
+        __save2 = utils.get_multiarch
+
         utils.get_arch = mock.MagicMock(return_value = 'non-existing-arch')
         info = debbugs.dpkg_infofunc()
         self.assertIn('non-existing-arch', info)
@@ -83,6 +86,11 @@
         self.assertIn('multi-arch-ified', info)
         self.assertIn('Foreign Architectures: multi-arch-ified', info)
 
+        utils.get_arch = __save1
+        utils.get_multiarch = __save2
+        del __save1
+        del __save2
+
     def test_debian_infofunc(self):
         info = debbugs.debian_infofunc()
         self.assertIn('Architecture:', info)
Binary files /tmp/K97uUNl2T2/reportbug-6.6.0/test/test_debbugs.pyc and /tmp/DGMmGZ0yUt/reportbug-6.6.1/test/test_debbugs.pyc differ
diff -Nru reportbug-6.6.0/test/test_utils.py reportbug-6.6.1/test/test_utils.py
--- reportbug-6.6.0/test/test_utils.py	2014-10-29 00:36:13.000000000 +0000
+++ reportbug-6.6.1/test/test_utils.py	2014-12-02 21:53:13.000000000 +0000
@@ -5,6 +5,9 @@
 import platform
 from nose.plugins.attrib import attr
 import debianbts
+import mock
+import commands
+import subprocess
 
 class TestUtils(unittest2.TestCase):
 
@@ -264,6 +267,51 @@
 
         self.assertIn(platform.release(), package)
 
+    def test_get_multiarch(self):
+
+        orig = commands.getoutput
+
+        commands.getoutput = mock.MagicMock(return_value = '')
+        multiarch = utils.get_multiarch()
+        self.assertEqual(multiarch, '')
+
+        commands.getoutput = mock.MagicMock(return_value = 'i386')
+        multiarch = utils.get_multiarch()
+        self.assertEqual(multiarch, 'i386')
+
+        commands.getoutput = mock.MagicMock(return_value = 'i386\namd64')
+        multiarch = utils.get_multiarch()
+        self.assertItemsEqual(multiarch.split(', '), ['i386', 'amd64'])
+
+        commands.getoutput = orig
+
+    def test_get_init_system(self):
+
+        __save = os.path.isdir
+        os.path.isdir = mock.MagicMock(return_value = True)
+        init = utils.get_init_system()
+        self.assertTrue(init.startswith('systemd'))
+        os.path.isdir = __save
+        del __save
+
+        __save = subprocess.call
+        subprocess.call = mock.MagicMock(return_value = 0)
+        init = utils.get_init_system()
+        self.assertTrue(init.startswith('upstart'))
+        subprocess.call = __save
+        del __save
+
+        __save1 = os.path.isfile
+        __save2 = os.path.islink
+        os.path.isfile = mock.MagicMock(return_value = True)
+        os.path.islink = mock.MagicMock(return_value = False)
+        init = utils.get_init_system()
+        self.assertTrue(init.startswith('sysvinit'))
+        os.path.isfile = __save1
+        os.path.islink = __save2
+        del __save1
+        del __save2
+
 class TestMua(unittest2.TestCase):
 
     def test_mua_is_supported(self):
Binary files /tmp/K97uUNl2T2/reportbug-6.6.0/test/test_utils.pyc and /tmp/DGMmGZ0yUt/reportbug-6.6.1/test/test_utils.pyc differ

Reply to: