Best Python code snippet using autotest_python
scheduler_models.py
Source:scheduler_models.py
...787 formatted_row += "%s " % word788 formatted_row += "\n"789 formatted_row += "\n"790 return formatted_row791 def _get_test_keyval(jobid, keyname, db, default=''):792 try:793 lines = []794 idx = db.execute('SELECT job_idx FROM tko_jobs WHERE '795 'afe_job_id=%s' % jobid)[0]796 test_indexes = db.execute('SELECT test_idx FROM tko_tests WHERE '797 'job_idx=%s' % idx)798 for i in test_indexes:799 rows = db.execute('SELECT value FROM tko_test_attributes '800 'WHERE test_idx=%s AND attribute="%s"' %801 (i[0], keyname))802 if rows:803 for row in rows:804 line = []805 for c in row:806 line.append(str(c))807 lines.append(" ".join(line))808 if lines:809 return lines[0]810 else:811 return default812 except Exception:813 return default814 stats = {}815 rows = _db.execute("""816 SELECT t.test, s.word, t.reason817 FROM tko_tests AS t, tko_jobs AS j, tko_status AS s818 WHERE t.job_idx = j.job_idx819 AND s.status_idx = t.status820 AND j.afe_job_id = %s821 """ % self.id)822 framework_tests = _find_framework_tests(rows)823 failed_rows = [r for r in rows if r[1] != 'GOOD']824 framework_tests_failed = _find_framework_tests(failed_rows)825 explicitly_failed_rows = [r for r in rows if r[1] == 'FAIL']826 warn_rows = [r for r in rows if r[1] == 'WARN']827 skipped_rows = [(r[0], r[1], '') for r in rows if r[1] == 'TEST_NA']828 passed_rows = [(r[0], r[1], '') for r in rows if r[1] == 'GOOD' and r[0] not in framework_tests]829 total_executed = len(rows) - len(framework_tests)830 total_failed = len(failed_rows) - len(framework_tests_failed)831 total_skipped = len(skipped_rows)832 if total_executed > 0:833 success_rate = 100 - ((total_failed / float(total_executed)) * 100)834 else:835 success_rate = 0836 stats['total_executed'] = total_executed837 stats['total_failed'] = total_failed838 stats['total_passed'] = total_executed - total_failed839 stats['total_skipped'] = total_skipped840 stats['success_rate'] = success_rate841 stats['fail_detail'] = _format_rows(explicitly_failed_rows)842 stats['warn_detail'] = _format_rows(warn_rows)843 stats['skip_detail'] = _format_rows(skipped_rows)844 stats['pass_detail'] = _format_rows(passed_rows)845 time_row = _db.execute("""846 SELECT started_time, finished_time847 FROM tko_jobs848 WHERE afe_job_id = %s849 """ % self.id)850 if time_row:851 t_begin, t_end = time_row[0]852 try:853 delta = t_end - t_begin854 minutes, seconds = divmod(delta.seconds, 60)855 hours, minutes = divmod(minutes, 60)856 stats['execution_time'] = ("%02d:%02d:%02d" %857 (hours, minutes, seconds))858 # One of t_end or t_begin are None859 except TypeError:860 stats['execution_time'] = '(could not determine)'861 else:862 stats['execution_time'] = '(none)'863 keyval_dict_list = []864 keyval_list = self.get_keyval_list()865 print "DBG: kv list obtained from get_keyval_list: %s" % keyval_list866 if keyval_list:867 for kv in keyval_list:868 keyval_dict = {}869 keyval_dict[kv] = _get_test_keyval(self.id, kv, _db)870 keyval_dict_list.append(keyval_dict)871 stats['keyval_dict_list'] = keyval_dict_list872 return stats873 def get_keyval_list(self):874 raw = settings.get_value('SCHEDULER',875 'keyval_names_exibit_summary_mail',876 default="")877 keyval_list = re.split(r'[\s,;:]', raw)878 return [element for element in keyval_list if element]879 def set_status(self, status, update_queues=False):880 self.update_field('status', status)881 if update_queues:882 for queue_entry in self.get_host_queue_entries():883 queue_entry.set_status(status)...
Learn to execute automation testing from scratch with LambdaTest Learning Hub. Right from setting up the prerequisites to run your first automation test, to following best practices and diving deeper into advanced test scenarios. LambdaTest Learning Hubs compile a list of step-by-step guides to help you be proficient with different test automation frameworks i.e. Selenium, Cypress, TestNG etc.
You could also refer to video tutorials over LambdaTest YouTube channel to get step by step demonstration from industry experts.
Get 100 minutes of automation test minutes FREE!!