Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
C
cpython
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
Analytics
Analytics
Repository
Value Stream
Wiki
Wiki
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Commits
Issue Boards
Open sidebar
Kirill Smelkov
cpython
Commits
e0c26f4b
Commit
e0c26f4b
authored
Jul 08, 2010
by
Mark Dickinson
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
In test_decimal, convert heuristic for skipping tests into an explicit skiplist.
parent
2cb4f150
Changes
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
35 additions
and
41 deletions
+35
-41
Lib/test/test_decimal.py
Lib/test/test_decimal.py
+35
-41
No files found.
Lib/test/test_decimal.py
View file @
e0c26f4b
...
...
@@ -78,10 +78,41 @@ skip_expected = not os.path.isdir(directory)
# list of individual .decTest test ids that correspond to tests that
# we're skipping for one reason or another.
skipped_test_ids
=
[
'scbx164'
,
# skipping apparently implementation-specific scaleb
'scbx165'
,
# tests, pending clarification of scaleb rules.
]
skipped_test_ids
=
set
([
# Skip implementation-specific scaleb tests.
'scbx164'
,
'scbx165'
,
# For some operations (currently exp, ln, log10, power), the decNumber
# reference implementation imposes additional restrictions on the context
# and operands. These restrictions are not part of the specification;
# however, the effect of these restrictions does show up in some of the
# testcases. We skip testcases that violate these restrictions, since
# Decimal behaves differently from decNumber for these testcases so these
# testcases would otherwise fail.
'expx901'
,
'expx902'
,
'expx903'
,
'expx905'
,
'lnx901'
,
'lnx902'
,
'lnx903'
,
'lnx905'
,
'logx901'
,
'logx902'
,
'logx903'
,
'logx905'
,
'powx1183'
,
'powx1184'
,
'powx4001'
,
'powx4002'
,
'powx4003'
,
'powx4005'
,
'powx4008'
,
'powx4010'
,
'powx4012'
,
'powx4014'
,
])
# Make sure it actually raises errors when not expected and caught in flags
# Slower, since it runs some things several times.
...
...
@@ -172,27 +203,6 @@ LOGICAL_FUNCTIONS = (
'same_quantum'
,
)
# For some operations (currently exp, ln, log10, power), the decNumber
# reference implementation imposes additional restrictions on the
# context and operands. These restrictions are not part of the
# specification; however, the effect of these restrictions does show
# up in some of the testcases. We skip testcases that violate these
# restrictions, since Decimal behaves differently from decNumber for
# these testcases so these testcases would otherwise fail.
decNumberRestricted
=
(
'power'
,
'ln'
,
'log10'
,
'exp'
)
DEC_MAX_MATH
=
999999
def
outside_decNumber_bounds
(
v
,
context
):
if
(
context
.
prec
>
DEC_MAX_MATH
or
context
.
Emax
>
DEC_MAX_MATH
or
-
context
.
Emin
>
DEC_MAX_MATH
):
return
True
if
not
v
.
_is_special
and
v
and
(
v
.
adjusted
()
>
DEC_MAX_MATH
or
v
.
adjusted
()
<
1
-
2
*
DEC_MAX_MATH
):
return
True
return
False
class
DecimalTest
(
unittest
.
TestCase
):
"""Class which tests the Decimal class against the test cases.
...
...
@@ -330,22 +340,6 @@ class DecimalTest(unittest.TestCase):
ans
=
FixQuotes
(
ans
)
# skip tests that are related to bounds imposed in the decNumber
# reference implementation
if
fname
in
decNumberRestricted
:
if
fname
==
'power'
:
if
not
(
vals
[
1
].
_isinteger
()
and
-
1999999997
<=
vals
[
1
]
<=
999999999
):
if
outside_decNumber_bounds
(
vals
[
0
],
self
.
context
)
or
\
outside_decNumber_bounds
(
vals
[
1
],
self
.
context
):
#print "Skipping test %s" % s
return
else
:
if
outside_decNumber_bounds
(
vals
[
0
],
self
.
context
):
#print "Skipping test %s" % s
return
if
EXTENDEDERRORTEST
and
fname
not
in
(
'to_sci_string'
,
'to_eng_string'
):
for
error
in
theirexceptions
:
self
.
context
.
traps
[
error
]
=
1
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment