Esempio n. 1
0
	def process_data(self,data,username_and_repo_name):
		'''analyze the data and generate the test code'''
		self.trace_data = data
		'''
		source_code
		source_lines_and_number
		per_line_dependencies
		AST
		file_name
		type_recording
		lines
		assigns
		globals
		kw
		arg
		return_value
		per_line_locals
		function_name
		'''
		parsed = ast.parse(self.trace_data['source_code'])
		p = CodeParser()
		p.visit(parsed)
		#print self.trace_data['function_name']
		self.trace_data['username_and_repo_name'] = username_and_repo_name
		self.trace_data['AST'] = ast.dump(parsed)
		self.trace_data['assigns'] = p.get_assigns()
		self.trace_data['decorators'] = p.get_decorators()
		self.trace_data['loops'] = p.get_loops()
		self.trace_data['calls'] = p.get_calls()
		#print self.trace_data['assigns']
		#print self.trace_data['calls']
		"""for local in self.trace_data['per_line_locals']:
			print local
			print '\n\n'"""

		self.trace_data['return_calls'] = p.get_returns()
		self.trace_data['imports'] = p.get_imports()
		self.trace_data['mocked_out_functions'] = []
		self.test_code['function']['def'] = "def test_" + self.trace_data['function_name']
		self.test_data = {'mocked_out_calls':[],'fixtures':[],'imports':[]}
		self.specify_parameters()
		self.specify_parameter_values()
		self.specify_return_value()
		self.specify_patches()
		self.specify_mock_return_values()