diff options
| author | Thomas Wouters <thomas@python.org> | 2006-04-21 10:40:58 +0000 | 
|---|---|---|
| committer | Thomas Wouters <thomas@python.org> | 2006-04-21 10:40:58 +0000 | 
| commit | 49fd7fa4431da299196d74087df4a04f99f9c46f (patch) | |
| tree | 35ace5fe78d3d52c7a9ab356ab9f6dbf8d4b71f4 /Lib/test/test_capi.py | |
| parent | 9ada3d6e29d5165dadacbe6be07bcd35cfbef59d (diff) | |
| download | cpython-git-49fd7fa4431da299196d74087df4a04f99f9c46f.tar.gz | |
Merge p3yk branch with the trunk up to revision 45595. This breaks a fair
number of tests, all because of the codecs/_multibytecodecs issue described
here (it's not a Py3K issue, just something Py3K discovers):
http://mail.python.org/pipermail/python-dev/2006-April/064051.html
Hye-Shik Chang promised to look for a fix, so no need to fix it here. The
tests that are expected to break are:
test_codecencodings_cn
test_codecencodings_hk
test_codecencodings_jp
test_codecencodings_kr
test_codecencodings_tw
test_codecs
test_multibytecodec
This merge fixes an actual test failure (test_weakref) in this branch,
though, so I believe merging is the right thing to do anyway.
Diffstat (limited to 'Lib/test/test_capi.py')
| -rw-r--r-- | Lib/test/test_capi.py | 87 | 
1 files changed, 47 insertions, 40 deletions
diff --git a/Lib/test/test_capi.py b/Lib/test/test_capi.py index 1dd24616a2..cdd84bb222 100644 --- a/Lib/test/test_capi.py +++ b/Lib/test/test_capi.py @@ -5,44 +5,51 @@ import sys  from test import test_support  import _testcapi -for name in dir(_testcapi): -    if name.startswith('test_'): -        test = getattr(_testcapi, name) +def test_main(): + +    for name in dir(_testcapi): +        if name.startswith('test_'): +            test = getattr(_testcapi, name) +            if test_support.verbose: +                print "internal", name +            try: +                test() +            except _testcapi.error: +                raise test_support.TestFailed, sys.exc_info()[1] + +    # some extra thread-state tests driven via _testcapi +    def TestThreadState(): +        import thread +        import time +          if test_support.verbose: -            print "internal", name -        try: -            test() -        except _testcapi.error: -            raise test_support.TestFailed, sys.exc_info()[1] - -# some extra thread-state tests driven via _testcapi -def TestThreadState(): -    import thread -    import time - -    if test_support.verbose: -        print "auto-thread-state" - -    idents = [] - -    def callback(): -        idents.append(thread.get_ident()) - -    _testcapi._test_thread_state(callback) -    time.sleep(1) -    # Check our main thread is in the list exactly 3 times. -    if idents.count(thread.get_ident()) != 3: -        raise test_support.TestFailed, \ -              "Couldn't find main thread correctly in the list" - -try: -    _testcapi._test_thread_state -    have_thread_state = True -except AttributeError: -    have_thread_state = False - -if have_thread_state: -    TestThreadState() -    import threading -    t=threading.Thread(target=TestThreadState) -    t.start() +            print "auto-thread-state" + +        idents = [] + +        def callback(): +            idents.append(thread.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(thread.get_ident()) != 3: +            raise test_support.TestFailed, \ +                  "Couldn't find main thread correctly in the list" + +    try: +        _testcapi._test_thread_state +        have_thread_state = True +    except AttributeError: +        have_thread_state = False + +    if have_thread_state: +        TestThreadState() +        import threading +        t=threading.Thread(target=TestThreadState) +        t.start() +        t.join() + +if __name__ == "__main__": +    test_main()  | 
