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
35246bd5
Commit
35246bd5
authored
Feb 23, 2013
by
Ezio Melotti
Browse files
Options
Browse Files
Download
Plain Diff
#17249: merge with 3.2.
parents
cc5ea62e
29267c81
Changes
2
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
29 additions
and
28 deletions
+29
-28
Lib/test/test_capi.py
Lib/test/test_capi.py
+27
-28
Misc/NEWS
Misc/NEWS
+2
-0
No files found.
Lib/test/test_capi.py
View file @
35246bd5
...
...
@@ -326,9 +326,34 @@ class SkipitemTest(unittest.TestCase):
self
.
assertRaises
(
ValueError
,
_testcapi
.
parse_tuple_and_keywords
,
(),
{},
b''
,
[
42
])
@
unittest
.
skipUnless
(
threading
,
'Threading required for this test.'
)
class
TestThreadState
(
unittest
.
TestCase
):
@
support
.
reap_threads
def
test_thread_state
(
self
):
# some extra thread-state tests driven via _testcapi
def
target
():
idents
=
[]
def
callback
():
idents
.
append
(
threading
.
get_ident
())
_testcapi
.
_test_thread_state
(
callback
)
a
=
b
=
callback
time
.
sleep
(
1
)
# Check our main thread is in the list exactly 3 times.
self
.
assertEqual
(
idents
.
count
(
threading
.
get_ident
()),
3
,
"Couldn't find main thread correctly in the list"
)
target
()
t
=
threading
.
Thread
(
target
=
target
)
t
.
start
()
t
.
join
()
def
test_main
():
support
.
run_unittest
(
CAPITest
,
TestPendingCalls
,
Test6012
,
EmbeddingTest
,
SkipitemTest
)
support
.
run_unittest
(
CAPITest
,
TestPendingCalls
,
Test6012
,
EmbeddingTest
,
SkipitemTest
,
TestThreadState
)
for
name
in
dir
(
_testcapi
):
if
name
.
startswith
(
'test_'
):
...
...
@@ -337,31 +362,5 @@ def test_main():
print
(
"internal"
,
name
)
test
()
# some extra thread-state tests driven via _testcapi
def
TestThreadState
():
if
support
.
verbose
:
print
(
"auto-thread-state"
)
idents
=
[]
def
callback
():
idents
.
append
(
threading
.
get_ident
())
_testcapi
.
_test_thread_state
(
callback
)
a
=
b
=
callback
time
.
sleep
(
1
)
# Check our main thread is in the list exactly 3 times.
if
idents
.
count
(
threading
.
get_ident
())
!=
3
:
raise
support
.
TestFailed
(
"Couldn't find main thread correctly in the list"
)
if
threading
:
import
time
TestThreadState
()
t
=
threading
.
Thread
(
target
=
TestThreadState
)
t
.
start
()
t
.
join
()
if
__name__
==
"__main__"
:
test_main
()
Misc/NEWS
View file @
35246bd5
...
...
@@ -620,6 +620,8 @@ Extension Modules
Tests
-----
- Issue #17249: convert a test in test_capi to use unittest and reap threads.
- Issue #17041: Fix testing when Python is configured with the
--without-doc-strings.
...
...
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