def test_regular_queue(self): """Test testcase with regular queue.""" t = data_types.Testcase(job_type='job_linux', queue='old') self.assertEqual('jobs-linux', tasks.queue_for_testcase(t)) t = data_types.Testcase(job_type='job_project', queue='old') self.assertEqual('jobs-project-linux-lib', tasks.queue_for_testcase(t))
def test_high_end_queue(self): """Test testcase with high end queue.""" t = data_types.Testcase(job_type='job_linux', queue='high-end-jobs') self.assertEqual('high-end-jobs-linux', tasks.queue_for_testcase(t)) t = data_types.Testcase(job_type='job_project', queue='high-end-jobs') self.assertEqual('high-end-jobs-project-linux-lib', tasks.queue_for_testcase(t))
def update(testcase): """Update from trunk.""" testcase.last_tested_crash_stacktrace = 'Pending' testcase.put() tasks.add_task('variant', testcase.key.id(), testcase.job_type, queue=tasks.queue_for_testcase(testcase)) helpers.log( 'Marked testcase %s for last tested stacktrace update' % testcase.key.id(), helpers.MODIFY_OPERATION)
def get(self): """Handle a GET request.""" assert self.task # Create new tasks for the open reproducible test cases. for status in ['Processed', 'Duplicate']: testcases = data_types.Testcase.query( ndb_utils.is_true(data_types.Testcase.open), ndb_utils.is_false(data_types.Testcase.one_time_crasher_flag), data_types.Testcase.status == status) for testcase in testcases: try: tasks.add_task(self.task, testcase.key.id(), testcase.job_type, queue=tasks.queue_for_testcase(testcase)) except Exception: logs.log_error('Failed to add task.') continue