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
ef16fb66
Commit
ef16fb66
authored
Oct 22, 2006
by
Walter Dörwald
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Port test___future__ to unittest.
parent
fe4391b1
Changes
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
56 additions
and
52 deletions
+56
-52
Lib/test/test___future__.py
Lib/test/test___future__.py
+56
-52
No files found.
Lib/test/test___future__.py
View file @
ef16fb66
#! /usr/bin/env python
from
test.test_support
import
verbose
,
verify
from
t
ypes
import
TupleType
,
StringType
,
IntType
import
unittest
from
t
est
import
test_support
import
__future__
GOOD_SERIALS
=
(
"alpha"
,
"beta"
,
"candidate"
,
"final"
)
features
=
__future__
.
all_feature_names
# Verify that all_feature_names appears correct.
given_feature_names
=
features
[:]
for
name
in
dir
(
__future__
):
obj
=
getattr
(
__future__
,
name
,
None
)
if
obj
is
not
None
and
isinstance
(
obj
,
__future__
.
_Feature
):
verify
(
name
in
given_feature_names
,
"%r should have been in all_feature_names"
%
name
)
given_feature_names
.
remove
(
name
)
verify
(
len
(
given_feature_names
)
==
0
,
"all_feature_names has too much: %r"
%
given_feature_names
)
del
given_feature_names
for
feature
in
features
:
value
=
getattr
(
__future__
,
feature
)
if
verbose
:
print
"Checking __future__ "
,
feature
,
"value"
,
value
optional
=
value
.
getOptionalRelease
()
mandatory
=
value
.
getMandatoryRelease
()
verify
(
type
(
optional
)
is
TupleType
,
"optional isn't tuple"
)
verify
(
len
(
optional
)
==
5
,
"optional isn't 5-tuple"
)
major
,
minor
,
micro
,
level
,
serial
=
optional
verify
(
type
(
major
)
is
IntType
,
"optional major isn't int"
)
verify
(
type
(
minor
)
is
IntType
,
"optional minor isn't int"
)
verify
(
type
(
micro
)
is
IntType
,
"optional micro isn't int"
)
verify
(
isinstance
(
level
,
basestring
),
"optional level isn't string"
)
verify
(
level
in
GOOD_SERIALS
,
"optional level string has unknown value"
)
verify
(
type
(
serial
)
is
IntType
,
"optional serial isn't int"
)
verify
(
type
(
mandatory
)
is
TupleType
or
mandatory
is
None
,
"mandatory isn't tuple or None"
)
if
mandatory
is
not
None
:
verify
(
len
(
mandatory
)
==
5
,
"mandatory isn't 5-tuple"
)
major
,
minor
,
micro
,
level
,
serial
=
mandatory
verify
(
type
(
major
)
is
IntType
,
"mandatory major isn't int"
)
verify
(
type
(
minor
)
is
IntType
,
"mandatory minor isn't int"
)
verify
(
type
(
micro
)
is
IntType
,
"mandatory micro isn't int"
)
verify
(
isinstance
(
level
,
basestring
),
"mandatory level isn't string"
)
verify
(
level
in
GOOD_SERIALS
,
"mandatory serial string has unknown value"
)
verify
(
type
(
serial
)
is
IntType
,
"mandatory serial isn't int"
)
verify
(
optional
<
mandatory
,
"optional not less than mandatory, and mandatory not None"
)
verify
(
hasattr
(
value
,
"compiler_flag"
),
"feature is missing a .compiler_flag attr"
)
verify
(
type
(
getattr
(
value
,
"compiler_flag"
))
is
IntType
,
".compiler_flag isn't int"
)
class
FutureTest
(
unittest
.
TestCase
):
def
test_names
(
self
):
# Verify that all_feature_names appears correct.
given_feature_names
=
features
[:]
for
name
in
dir
(
__future__
):
obj
=
getattr
(
__future__
,
name
,
None
)
if
obj
is
not
None
and
isinstance
(
obj
,
__future__
.
_Feature
):
self
.
assert_
(
name
in
given_feature_names
,
"%r should have been in all_feature_names"
%
name
)
given_feature_names
.
remove
(
name
)
self
.
assertEqual
(
len
(
given_feature_names
),
0
,
"all_feature_names has too much: %r"
%
given_feature_names
)
def
test_attributes
(
self
):
for
feature
in
features
:
value
=
getattr
(
__future__
,
feature
)
optional
=
value
.
getOptionalRelease
()
mandatory
=
value
.
getMandatoryRelease
()
a
=
self
.
assert_
e
=
self
.
assertEqual
def
check
(
t
,
name
):
a
(
isinstance
(
t
,
tuple
),
"%s isn't tuple"
%
name
)
e
(
len
(
t
),
5
,
"%s isn't 5-tuple"
%
name
)
(
major
,
minor
,
micro
,
level
,
serial
)
=
t
a
(
isinstance
(
major
,
int
),
"%s major isn't int"
%
name
)
a
(
isinstance
(
minor
,
int
),
"%s minor isn't int"
%
name
)
a
(
isinstance
(
micro
,
int
),
"%s micro isn't int"
%
name
)
a
(
isinstance
(
level
,
basestring
),
"%s level isn't string"
%
name
)
a
(
level
in
GOOD_SERIALS
,
"%s level string has unknown value"
%
name
)
a
(
isinstance
(
serial
,
int
),
"%s serial isn't int"
%
name
)
check
(
optional
,
"optional"
)
if
mandatory
is
not
None
:
check
(
mandatory
,
"mandatory"
)
a
(
optional
<
mandatory
,
"optional not less than mandatory, and mandatory not None"
)
a
(
hasattr
(
value
,
"compiler_flag"
),
"feature is missing a .compiler_flag attr"
)
a
(
isinstance
(
getattr
(
value
,
"compiler_flag"
),
int
),
".compiler_flag isn't int"
)
def
test_main
():
test_support
.
run_unittest
(
FutureTest
)
if
__name__
==
"__main__"
:
test_main
()
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