[pypy-commit] pypy cleanup-test_lib_pypy: Test only the host's datetime, stop mixing direct and interpreted app-level tests
rlamy
pypy.commits at gmail.com
Tue Dec 4 22:31:43 EST 2018
Author: Ronan Lamy <ronan.lamy at gmail.com>
Branch: cleanup-test_lib_pypy
Changeset: r95410:a42566040c69
Date: 2018-12-05 01:03 +0000
http://bitbucket.org/pypy/pypy/changeset/a42566040c69/
Log: Test only the host's datetime, stop mixing direct and interpreted
app-level tests
diff --git a/pypy/module/test_lib_pypy/test_datetime.py b/pypy/module/test_lib_pypy/test_datetime.py
--- a/pypy/module/test_lib_pypy/test_datetime.py
+++ b/pypy/module/test_lib_pypy/test_datetime.py
@@ -1,13 +1,9 @@
"""Additional tests for datetime."""
+import datetime
-from __future__ import absolute_import
-import py
-from pypy.module.test_lib_pypy.support import import_lib_pypy
-
-class BaseTestDatetime:
+class TestDatetime:
def test_repr(self):
- import datetime
checks = (
(datetime.date(2015, 6, 8), "datetime.date(2015, 6, 8)"),
(datetime.datetime(2015, 6, 8, 12, 34, 56), "datetime.datetime(2015, 6, 8, 12, 34, 56)"),
@@ -20,7 +16,6 @@
assert repr(obj) == expected
def test_repr_overridden(self):
- import datetime
class date_safe(datetime.date):
pass
@@ -45,7 +40,6 @@
assert repr(obj) == expected
def test_attributes(self):
- import datetime
for x in [datetime.date.today(),
datetime.time(),
datetime.datetime.utcnow(),
@@ -54,7 +48,6 @@
raises(AttributeError, 'x.abc = 1')
def test_timedelta_init_long(self):
- import datetime
td = datetime.timedelta(microseconds=20000000000000000000)
assert td.days == 231481481
assert td.seconds == 41600
@@ -63,7 +56,6 @@
assert td.seconds == 41600
def test_unpickle(self):
- import datetime
e = raises(TypeError, datetime.date, '123')
assert e.value.args[0] == 'an integer is required'
e = raises(TypeError, datetime.time, '123')
@@ -81,10 +73,6 @@
def test_strptime(self):
import time, sys
- import datetime
- if sys.version_info < (2, 6):
- py.test.skip("needs the _strptime module")
-
string = '2004-12-01 13:02:47'
format = '%Y-%m-%d %H:%M:%S'
expected = datetime.datetime(*(time.strptime(string, format)[0:6]))
@@ -92,7 +80,6 @@
assert expected == got
def test_datetime_rounding(self):
- import datetime
b = 0.0000001
a = 0.9999994
@@ -106,9 +93,6 @@
assert datetime.datetime.utcfromtimestamp(a).second == 1
def test_more_datetime_rounding(self):
- import datetime
- # this test verified on top of CPython 2.7 (using a plain
- # "import datetime" above)
expected_results = {
-1000.0: 'datetime.datetime(1969, 12, 31, 23, 43, 20)',
-999.9999996: 'datetime.datetime(1969, 12, 31, 23, 43, 20)',
@@ -133,7 +117,6 @@
assert repr(dt) == expected_results[t]
def test_utcfromtimestamp(self):
- import datetime
"""Confirm that utcfromtimestamp and fromtimestamp give consistent results.
Based on danchr's test script in https://bugs.pypy.org/issue986
@@ -159,19 +142,16 @@
time.tzset()
def test_utcfromtimestamp_microsecond(self):
- import datetime
dt = datetime.datetime.utcfromtimestamp(0)
assert isinstance(dt.microsecond, int)
def test_default_args(self):
- import datetime
raises(TypeError, datetime.datetime)
raises(TypeError, datetime.datetime, 10)
raises(TypeError, datetime.datetime, 10, 10)
datetime.datetime(10, 10, 10)
def test_check_arg_types(self):
- import datetime
import decimal
class Number:
def __init__(self, value):
@@ -218,7 +198,6 @@
raises(TypeError, datetime.datetime, 10, 10, 10, 10, 10, 10, 10.)
def test_utcnow_microsecond(self):
- import datetime
import copy
dt = datetime.datetime.utcnow()
@@ -227,14 +206,12 @@
copy.copy(dt)
def test_radd(self):
- import datetime
class X(object):
def __radd__(self, other):
return "radd"
assert datetime.date(10, 10, 10) + X() == "radd"
def test_raises_if_passed_naive_datetime_and_start_or_end_time_defined(self):
- import datetime
class Foo(datetime.tzinfo):
def utcoffset(self, dt):
return datetime.timedelta(0.1)
@@ -250,7 +227,6 @@
assert str(exc.value) == "can't compare offset-naive and offset-aware times"
def test_future_types_newint(self):
- import datetime
try:
from future.types.newint import newint
except ImportError:
@@ -309,14 +285,12 @@
assert td_div_newint_int == td_div_newint_newint
def test_return_types(self):
- import datetime
td = datetime.timedelta(5)
assert type(td.total_seconds()) is float
class sub(datetime.timedelta): pass
assert type(+sub()) is datetime.timedelta
def test_subclass_date(self):
- import datetime
# replace() should return a subclass but not call __new__ or __init__.
class MyDate(datetime.date):
forbidden = False
@@ -332,7 +306,6 @@
assert d2 == datetime.date(2016, 2, 5)
def test_subclass_time(self):
- import datetime
# replace() should return a subclass but not call __new__ or __init__.
class MyTime(datetime.time):
forbidden = False
@@ -348,7 +321,6 @@
assert d2 == datetime.time(5, 2, 3)
def test_subclass_datetime(self):
- import datetime
# replace() should return a subclass but not call __new__ or __init__.
class MyDatetime(datetime.datetime):
forbidden = False
@@ -362,15 +334,3 @@
d2 = d.replace(hour=7)
assert type(d2) is MyDatetime
assert d2 == datetime.datetime(2016, 4, 5, 7, 2, 3)
-
-
-class TestDatetimeHost(BaseTestDatetime):
- pass
-
-
-class AppTestDatetimePyPy(BaseTestDatetime):
- spaceconfig = dict(usemodules=['__pypy__', 'struct'])
- def setup_class(cls):
- space = cls.space
- #cls.w___pypy__ = import_lib_pypy(space, '__pypy__')
- cls.w_datetime = import_lib_pypy(space, 'datetime')
More information about the pypy-commit
mailing list