def test_frame_relation(self):
	try:
	    1/0
	except:
	    type, value, traceback = sys.exc_info()
	    f = traceback.tb_frame
	f.f_trace = lambda : None
	f.f_exc_type = []
	f.f_exc_value = []
	f.f_exc_traceback = []
	self.chkrelattr(f,'f_back', 'f_code', 'f_builtins', 'f_globals',
			'f_trace', 'f_exc_type', 'f_exc_value', 'f_exc_traceback',
			'f_locals')
	
	a = []
	# The representation of local variables is how they may be accessed
	# - not how they are really stored.
	# xxx this may be confusing/lack information?
	# The information is available in the relation object class,
	# it is just not represented with str()...
	self.chkrel(f, a, "%s.f_locals['a']", clas=self.Path.R_LOCAL_VAR)

	x = []
	z = []

	def func(x, y=3):
	    try:
		1/0
	    except:
		type, value, traceback = sys.exc_info()
		frame = traceback.tb_frame
	    return self, frame, z
	_, frame, __ = func(0)
	del _, __
	self.chkrel(frame, self, "%s.f_locals ['self']", clas=self.Path.R_CELL)

	self.chkrel(f, x, "%s.f_locals['x']", clas=self.Path.R_LOCAL_VAR)
	self.chkrel(f, z, "%s.f_locals ['z']", clas=self.Path.R_CELL)
	# self becomes both a local var and a cell var, since it is an argument.
	self.chkrel(f, self, "<%s.f_locals['self'],%s.f_locals ['self']>")

	# Stack variables doesn't work (Because ceval.c doesn't update
	# the f_stacktop index.) so the corresponding part of frame_relate is not tested.


#B
dataset/ETHPy150Open cloudera/hue/desktop/core/ext-py/guppy-0.1.10/guppy/heapy/test/test_Path.py/RelationTestCase.test_frame_relation/original