Commit e6b7d6c0 authored by Kevin Modzelewski's avatar Kevin Modzelewski

A few misc test updates / fixes

parent d4831adb
...@@ -678,15 +678,14 @@ extern "C" void PyThread_delete_key_value(int key) noexcept { ...@@ -678,15 +678,14 @@ extern "C" void PyThread_delete_key_value(int key) noexcept {
extern "C" PyObject* _PyThread_CurrentFrames(void) noexcept { extern "C" PyObject* _PyThread_CurrentFrames(void) noexcept {
assert(0 && "check refcounting");
try { try {
LOCK_REGION(&threading_lock); LOCK_REGION(&threading_lock);
BoxedDict* result = new BoxedDict; BoxedDict* result = new BoxedDict();
for (auto& pair : current_threads) { for (auto& pair : current_threads) {
FrameInfo* frame_info = (FrameInfo*)pair.second->public_thread_state->frame_info; FrameInfo* frame_info = (FrameInfo*)pair.second->public_thread_state->frame_info;
Box* frame = getFrame(frame_info); Box* frame = getFrame(frame_info);
assert(frame); assert(frame);
result->d[boxInt(pair.first)] = frame; PyDict_SetItem(result, autoDecref(boxInt(pair.first)), frame);
} }
return result; return result;
} catch (ExcInfo) { } catch (ExcInfo) {
......
...@@ -4836,6 +4836,10 @@ extern "C" void Py_Finalize() noexcept { ...@@ -4836,6 +4836,10 @@ extern "C" void Py_Finalize() noexcept {
_PyUnicode_Fini(); _PyUnicode_Fini();
PyInterpreterState_Clear(PyThreadState_GET()->interp); PyInterpreterState_Clear(PyThreadState_GET()->interp);
for (auto b : constants) {
Py_DECREF(b);
}
constants.clear();
for (auto b : late_constants) { for (auto b : late_constants) {
Py_DECREF(b); Py_DECREF(b);
} }
......
# expected: reffail # expected: reffail
# - cleaning up a paused generator? # - generator abandonment
import os import os
import sys import sys
import subprocess import subprocess
......
# expected: reffail # expected: reffail
# - generator abandonment
def wrapper(f): def wrapper(f):
return f return f
......
# expected: reffail # expected: reffail
# - generator abandonment
import sys import sys
import os import os
import subprocess import subprocess
......
# expected: reffail
# this is copied out of cpythons test_sys.py and adopted to use assert stmts # this is copied out of cpythons test_sys.py and adopted to use assert stmts
import sys import sys
import thread import thread
......
# expected: reffail
print repr(unicode()) print repr(unicode())
print repr(unicode('hello world')) print repr(unicode('hello world'))
print unicode('hello world') print unicode('hello world')
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment