##// END OF EJS Templates
substitute open(...) for file(...)...
substitute open(...) for file(...) The file type is gone in py3k, and all file objects are under the new io hierarchy. Since open(...) is supported on both Python 2 and 3, use it instead of file in all instances. This isn't caught by 2to3.

File last commit:

r4734:e36691ad
r6650:15f8e057
Show More
tclass.py
35 lines | 959 B | text/x-python | PythonLexer
"""Simple script to be run *twice*, to check reference counting bugs.
See test_run for details."""
from __future__ import print_function
import sys
# We want to ensure that while objects remain available for immediate access,
# objects from *previous* runs of the same script get collected, to avoid
# accumulating massive amounts of old references.
class C(object):
def __init__(self,name):
self.name = name
self.p = print
self.flush_stdout = sys.stdout.flush
def __del__(self):
self.p('tclass.py: deleting object:',self.name)
self.flush_stdout()
try:
name = sys.argv[1]
except IndexError:
pass
else:
if name.startswith('C'):
c = C(name)
#print >> sys.stderr, "ARGV:", sys.argv # dbg
# This next print statement is NOT debugging, we're making the check on a
# completely separate process so we verify by capturing stdout:
print('ARGV 1-:', sys.argv[1:])
sys.stdout.flush()