changeset 37408:dd2753729853

simplestore: shore up lookup errors When revisions or nodes can't be resolved, we're expected to raise an error.LookupError. When I ported code from revlog.py, I failed to realize that "LookupError" in that module is aliased to error.LookupError. I thought we were using the builtin LookupError instead. This commit switches us to error.LookupError. It also fixes rev() to raise error.LookupError instead of KeyError. Differential Revision: https://phab.mercurial-scm.org/D3092
author Gregory Szorc <gregory.szorc@gmail.com>
date Wed, 04 Apr 2018 09:31:19 -0700
parents 567bddcb4271
children 4c15bee42e9c
files tests/simplestorerepo.py
diffstat 1 files changed, 8 insertions(+), 11 deletions(-) [+]
line wrap: on
line diff
--- a/tests/simplestorerepo.py	Wed Apr 04 09:57:21 2018 -0700
+++ b/tests/simplestorerepo.py	Wed Apr 04 09:31:19 2018 -0700
@@ -152,8 +152,10 @@
     def rev(self, node):
         validatenode(node)
 
-        # Will raise KeyError.
-        self._indexbynode[node]
+        try:
+            self._indexbynode[node]
+        except KeyError:
+            raise error.LookupError(node, self._indexpath, _('no node'))
 
         for rev, entry in self._indexbyrev.items():
             if entry[b'node'] == node:
@@ -171,11 +173,8 @@
             return self.node(node)
 
         if len(node) == 20:
-            try:
-                self.rev(node)
-                return node
-            except LookupError:
-                pass
+            self.rev(node)
+            return node
 
         try:
             rev = int(node)
@@ -196,10 +195,10 @@
                 rawnode = bin(node)
                 self.rev(rawnode)
                 return rawnode
-            except (TypeError, LookupError):
+            except TypeError:
                 pass
 
-        raise LookupError(node, self._path, _('invalid lookup input'))
+        raise error.LookupError(node, self._path, _('invalid lookup input'))
 
     def linkrev(self, rev):
         validaterev(rev)
@@ -280,8 +279,6 @@
         if node == nullid:
             return b''
 
-        self._indexbynode[node]
-
         rev = self.rev(node)
         flags = self.flags(rev)