summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--Lib/test/test_importhooks.py11
-rw-r--r--Python/graminit.c35
2 files changed, 25 insertions, 21 deletions
diff --git a/Lib/test/test_importhooks.py b/Lib/test/test_importhooks.py
index 0693581..e8b4695 100644
--- a/Lib/test/test_importhooks.py
+++ b/Lib/test/test_importhooks.py
@@ -14,6 +14,7 @@ def get_file():
absimp = "import sub\n"
relimp = "from . import sub\n"
+deeprelimp = "from .... import sub\n"
futimp = "from __future__ import absolute_import\n"
reload_src = test_src+"""\
@@ -26,6 +27,7 @@ reload_co = compile(reload_src, "<???>", "exec")
test2_oldabs_co = compile(absimp + test_src, "<???>", "exec")
test2_newabs_co = compile(futimp + absimp + test_src, "<???>", "exec")
test2_newrel_co = compile(relimp + test_src, "<???>", "exec")
+test2_deeprel_co = compile(deeprelimp + test_src, "<???>", "exec")
test2_futrel_co = compile(futimp + relimp + test_src, "<???>", "exec")
test_path = "!!!_test_!!!"
@@ -46,10 +48,11 @@ class TestImporter:
"hooktestmodule": (False, test_co),
"hooktestpackage": (True, test_co),
"hooktestpackage.sub": (True, test_co),
- "hooktestpackage.sub.subber": (False, test_co),
+ "hooktestpackage.sub.subber": (True, test_co),
"hooktestpackage.oldabs": (False, test2_oldabs_co),
"hooktestpackage.newabs": (False, test2_newabs_co),
"hooktestpackage.newrel": (False, test2_newrel_co),
+ "hooktestpackage.sub.subber.subest": (True, test2_deeprel_co),
"hooktestpackage.futrel": (False, test2_futrel_co),
"sub": (False, test_co),
"reloadmodule": (False, test_co),
@@ -203,6 +206,12 @@ class ImportHooksTestCase(ImportHooksBaseTestCase):
self.assertEqual(hooktestpackage.newrel.sub,
hooktestpackage.sub)
+ import hooktestpackage.sub.subber.subest as subest
+ self.assertEqual(subest.get_name(),
+ "hooktestpackage.sub.subber.subest")
+ self.assertEqual(subest.sub,
+ hooktestpackage.sub)
+
import hooktestpackage.futrel
self.assertEqual(hooktestpackage.futrel.get_name(),
"hooktestpackage.futrel")
diff --git a/Python/graminit.c b/Python/graminit.c
index ae367ce..8f20502 100644
--- a/Python/graminit.c
+++ b/Python/graminit.c
@@ -517,41 +517,36 @@ static arc arcs_26_1[2] = {
{12, 3},
};
static arc arcs_26_2[3] = {
- {75, 4},
+ {75, 2},
{12, 3},
- {72, 5},
+ {72, 4},
};
static arc arcs_26_3[1] = {
- {72, 5},
+ {72, 4},
};
-static arc arcs_26_4[2] = {
- {75, 4},
- {12, 3},
+static arc arcs_26_4[3] = {
+ {28, 5},
+ {13, 6},
+ {76, 5},
};
-static arc arcs_26_5[3] = {
- {28, 6},
- {13, 7},
- {76, 6},
+static arc arcs_26_5[1] = {
+ {0, 5},
};
static arc arcs_26_6[1] = {
- {0, 6},
+ {76, 7},
};
static arc arcs_26_7[1] = {
- {76, 8},
-};
-static arc arcs_26_8[1] = {
- {15, 6},
+ {15, 5},
};
-static state states_26[9] = {
+static state states_26[8] = {
{1, arcs_26_0},
{2, arcs_26_1},
{3, arcs_26_2},
{1, arcs_26_3},
- {2, arcs_26_4},
- {3, arcs_26_5},
+ {3, arcs_26_4},
+ {1, arcs_26_5},
{1, arcs_26_6},
{1, arcs_26_7},
- {1, arcs_26_8},
};
static arc arcs_27_0[1] = {
{19, 1},
@@ -1839,7 +1834,7 @@ static dfa dfas[84] = {
"\000\000\000\000\000\000\000\000\000\005\000\000\000\000\000\000\000\000\000\000\000"},
{281, "import_name", 0, 3, states_25,
"\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000"},
- {282, "import_from", 0, 9, states_26,
+ {282, "import_from", 0, 8, states_26,
"\000\000\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000\000\000\000"},
{283, "import_as_name", 0, 4, states_27,
"\000\000\010\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"},