mirror of
https://github.com/RustPython/RustPython.git
synced 2026-10-28 18:59:04 +08:00
test_import from CPython 3.11.2
This commit is contained in:
1 parent
a0472e11a9
commit
d55f554d7b
28 files changed
+1483
No files matched your search
Vendored
+30
@@ -0,0 +1,30 @@
|
||||
from test.support import TestFailed
|
||||
|
||||
# A test for SF bug 422177: manifest float constants varied way too much in
|
||||
# precision depending on whether Python was loading a module for the first
|
||||
# time, or reloading it from a precompiled .pyc. The "expected" failure
|
||||
# mode is that when test_import imports this after all .pyc files have been
|
||||
# erased, it passes, but when test_import imports this from
|
||||
# double_const.pyc, it fails. This indicates a woeful loss of precision in
|
||||
# the marshal format for doubles. It's also possible that repr() doesn't
|
||||
# produce enough digits to get reasonable precision for this box.
|
||||
|
||||
PI = 3.14159265358979324
|
||||
TWOPI = 6.28318530717958648
|
||||
|
||||
PI_str = "3.14159265358979324"
|
||||
TWOPI_str = "6.28318530717958648"
|
||||
|
||||
# Verify that the double x is within a few bits of eval(x_str).
|
||||
def check_ok(x, x_str):
|
||||
assert x > 0.0
|
||||
x2 = eval(x_str)
|
||||
assert x2 > 0.0
|
||||
diff = abs(x - x2)
|
||||
# If diff is no larger than 3 ULP (wrt x2), then diff/8 is no larger
|
||||
# than 0.375 ULP, so adding diff/8 to x2 should have no effect.
|
||||
if x2 + (diff / 8.) != x2:
|
||||
raise TestFailed("Manifest const %s lost too much precision " % x_str)
|
||||
|
||||
check_ok(PI, PI_str)
|
||||
check_ok(TWOPI, TWOPI_str)
|
||||
Vendored
+1
@@ -0,0 +1 @@
|
||||
from .test_import import *
|
||||
Vendored
+1400
File diff suppressed because it is too large.
Load diff
Vendored
+3
@@ -0,0 +1,3 @@
|
||||
import unittest
|
||||
|
||||
unittest.main('test.test_import')
|
||||
@@ -0,0 +1,2 @@
|
||||
"""Circular imports through direct, relative imports."""
|
||||
from . import basic2
|
||||
@@ -0,0 +1 @@
|
||||
from . import basic
|
||||
@@ -0,0 +1 @@
|
||||
import test.test_import.data.circular_imports.binding2 as binding2
|
||||
@@ -0,0 +1 @@
|
||||
import test.test_import.data.circular_imports.binding as binding
|
||||
@@ -0,0 +1,2 @@
|
||||
from .from_cycle2 import a
|
||||
b = 1
|
||||
@@ -0,0 +1,2 @@
|
||||
from .from_cycle1 import b
|
||||
a = 1
|
||||
@@ -0,0 +1 @@
|
||||
from . import basic, basic2
|
||||
@@ -0,0 +1,3 @@
|
||||
"""Test the binding of names when a circular import shares the same name as an
|
||||
attribute."""
|
||||
from .rebinding2 import util
|
||||
@@ -0,0 +1,3 @@
|
||||
from .subpkg import util
|
||||
from . import rebinding
|
||||
util = util.util
|
||||
@@ -0,0 +1,2 @@
|
||||
from . import use
|
||||
spam = 1
|
||||
@@ -0,0 +1,2 @@
|
||||
"""Circular import involving a sub-package."""
|
||||
from .subpkg import subpackage2
|
||||
@@ -0,0 +1,2 @@
|
||||
#from .util import util
|
||||
from .. import subpackage
|
||||
@@ -0,0 +1,2 @@
|
||||
def util():
|
||||
pass
|
||||
Whitespace-only changes.
@@ -0,0 +1 @@
|
||||
import test.test_import.data.circular_imports.subpkg2.parent.child
|
||||
@@ -0,0 +1,3 @@
|
||||
import test.test_import.data.circular_imports.subpkg2.parent
|
||||
|
||||
test.test_import.data.circular_imports.subpkg2.parent
|
||||
@@ -0,0 +1,2 @@
|
||||
from . import source
|
||||
source.spam
|
||||
@@ -0,0 +1,2 @@
|
||||
def util():
|
||||
pass
|
||||
@@ -0,0 +1,2 @@
|
||||
import package.submodule
|
||||
package.submodule
|
||||
Whitespace-only changes.
@@ -0,0 +1,3 @@
|
||||
import sys
|
||||
sys.modules.pop(__package__, None)
|
||||
from . import submodule2
|
||||
Whitespace-only changes.
@@ -0,0 +1,12 @@
|
||||
import sys
|
||||
|
||||
class MyMod(object):
|
||||
__slots__ = ['__builtins__', '__cached__', '__doc__',
|
||||
'__file__', '__loader__', '__name__',
|
||||
'__package__', '__path__', '__spec__']
|
||||
def __init__(self):
|
||||
for attr in self.__slots__:
|
||||
setattr(self, attr, globals()[attr])
|
||||
|
||||
|
||||
sys.modules[__name__] = MyMod()
|
||||
Whitespace-only changes.
Reference in new issue
Block a user