summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--pym/portage/tests/lint/test_import_modules.py1
-rw-r--r--pym/repoman/herdbase.py11
2 files changed, 9 insertions, 3 deletions
diff --git a/pym/portage/tests/lint/test_import_modules.py b/pym/portage/tests/lint/test_import_modules.py
index 81ffedec4..8d257c5a6 100644
--- a/pym/portage/tests/lint/test_import_modules.py
+++ b/pym/portage/tests/lint/test_import_modules.py
@@ -11,7 +11,6 @@ class ImportModulesTestCase(TestCase):
def testImportModules(self):
expected_failures = frozenset((
- 'repoman.herdbase', # requires python with xml support
))
for mod in self._iter_modules(PORTAGE_PYM_PATH):
diff --git a/pym/repoman/herdbase.py b/pym/repoman/herdbase.py
index 4808d3ca3..64b59e636 100644
--- a/pym/repoman/herdbase.py
+++ b/pym/repoman/herdbase.py
@@ -1,11 +1,18 @@
# -*- coding: utf-8 -*-
# repoman: Herd database analysis
-# Copyright 2010 Gentoo Foundation
+# Copyright 2010-2011 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2 or later
import errno
import xml.etree.ElementTree
-from xml.parsers.expat import ExpatError
+try:
+ from xml.parsers.expat import ExpatError
+except ImportError:
+ # This means that python is built without xml support.
+ # We tolerate global scope import failures for optional
+ # modules, so that ImportModulesTestCase can succeed (or
+ # possibly alert us about unexpected import failures).
+ pass
from portage.exception import FileNotFound, ParseError, PermissionDenied
__all__ = [