Skip to content

Commit ba57d76

Browse files
committed
Add interpreter checking in the test case.
1 parent bcc6538 commit ba57d76

1 file changed

Lines changed: 11 additions & 3 deletions

File tree

Lib/test/test_interpreters/test_api.py

Lines changed: 11 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2362,18 +2362,21 @@ def test_set___main___attrs(self):
23622362

23632363

23642364
class TestSharedObjectProxy(TestBase):
2365-
def unshareable(self):
2365+
def unshareable(self, file=os.devnull):
23662366
class Unshareable:
23672367
def __init__(self):
23682368
# This prevents the object from being pickleable
2369-
self.file = open(os.devnull)
2369+
self.file = open(file, "w+")
23702370

23712371
def __del__(self):
23722372
self.file.close()
23732373

23742374
def foo(self):
23752375
return 42
23762376

2377+
def interp(self):
2378+
return interpreters.get_current()
2379+
23772380
obj = Unshareable()
23782381
self.assertFalse(_interpreters.is_shareable(obj))
23792382
self.assertFalse(is_pickleable(obj))
@@ -2384,12 +2387,17 @@ def test_simple_proxy(self):
23842387
try:
23852388
def get_unshareable(obj):
23862389
assert obj.foo() == 42
2390+
return 24
2391+
2392+
def get_interp(obj):
2393+
return obj.interp().id
23872394

23882395
with interpreters.share(self.unshareable()) as proxy:
23892396
self.assertTrue(_interpreters.is_shareable(proxy))
23902397
self.assertTrue(sys._is_immortal(proxy))
23912398
self.assertFalse(is_pickleable(proxy))
2392-
interp.call(get_unshareable, proxy)
2399+
self.assertEqual(interp.call(get_unshareable, proxy), 24)
2400+
self.assertEqual(interp.call(get_interp, proxy), interpreters.get_current().id)
23932401
finally:
23942402
interp.close()
23952403

0 commit comments

Comments
 (0)