test-convert-darcs: skip if we can't find the elementtree module
This patch is a bit dirty to avoid having to repeat the dance required
to import elementtree.
--- a/hgext/convert/darcs.py Fri Nov 09 20:21:35 2007 -0200
+++ b/hgext/convert/darcs.py Fri Nov 09 20:21:35 2007 -0200
@@ -21,12 +21,17 @@
def __init__(self, ui, path, rev=None):
super(darcs_source, self).__init__(ui, path, rev=rev)
- if not os.path.exists(os.path.join(path, '_darcs', 'inventory')):
+ # check for _darcs, ElementTree, _darcs/inventory so that we can
+ # easily skip test-convert-darcs if ElementTree is not around
+ if not os.path.exists(os.path.join(path, '_darcs')):
raise NoRepo("couldn't open darcs repo %s" % path)
if ElementTree is None:
raise util.Abort(_("Python ElementTree module is not available"))
+ if not os.path.exists(os.path.join(path, '_darcs', 'inventory')):
+ raise NoRepo("couldn't open darcs repo %s" % path)
+
self.path = os.path.realpath(path)
self.lastrev = None
--- a/tests/test-convert-darcs Fri Nov 09 20:21:35 2007 -0200
+++ b/tests/test-convert-darcs Fri Nov 09 20:21:35 2007 -0200
@@ -9,6 +9,14 @@
DARCS_EMAIL='test@example.org'; export DARCS_EMAIL
HOME=do_not_use_HOME_darcs; export HOME
+# skip if we can't import elementtree
+mkdir dummy
+mkdir dummy/_darcs
+if hg convert dummy 2>&1 | grep ElementTree > /dev/null; then
+ echo 'hghave: missing feature: elementtree module'
+ exit 80
+fi
+
echo % initialize darcs repo
mkdir darcs-repo
cd darcs-repo