def generate(self):
self._setup()<EOL>header_html = self._generate_header()<EOL>footer_html = self._generate_footer()<EOL>results_topbar_html = self._generate_topbar("<STR_LIT>")<EOL>summary_topbar_html = self._generate_topbar("<STR_LIT>")<EOL>logs_topbar_html = self._generate_topbar("<STR_LIT>")<EOL>diff_topbar_html = self._generate_topbar("<STR_LIT>")<EOL>summary_body_html = self._generate_summary_body()<EOL>diff_body_html = self._generate_diff_body()<EOL>summary_html = header_html + summary_topbar_html + summary_body_html + footer_html<EOL>diff_html = header_html + diff_topbar_html + diff_body_html+ footer_html<EOL>Reporter._make_file(summary_html, self.report_info.home_page)<EOL>Reporter._make_file(diff_html,self.report_info.diff_page)<EOL>log_body_html = self._generate_log_body()<EOL>log_html = header_html + logs_topbar_html + log_body_html+footer_html<EOL>Reporter._make_file(log_html, self.report_info.log_page)<EOL>for config_name in self.report_info.config_to_test_names_map.keys():<EOL><INDENT>config_dir = os.path.join(self.report_info.resource_dir, config_name)<EOL>utils.makedirs(config_dir)<EOL>config_body_html = self._generate_config_body(config_name)<EOL>config_html = header_html + results_topbar_html + config_body_html + footer_html<EOL>config_file = os.path.join(config_dir, config_name + self.report_info.report_file_sfx)<EOL>Reporter._make_file(config_html, config_file)<EOL>for test_name in self.data_source.get_test_names(config_name):<EOL><INDENT>test_body_html = self._generate_test_body(config_name, test_name)<EOL>test_html = header_html + results_topbar_html + test_body_html + footer_html<EOL>test_file = os.path.join(config_dir, test_name + self.report_info.report_file_sfx)<EOL>Reporter._make_file(test_html, test_file)<EOL><DEDENT><DEDENT>
Generates the report