Write a range to BigQuery. This is applicable for regression and fixed ranges.
(table_id, testcase, range_name, start, end)
| 112 | |
| 113 | @environment.local_noop |
| 114 | def write_range(table_id, testcase, range_name, start, end): |
| 115 | """Write a range to BigQuery. This is applicable for regression and fixed |
| 116 | ranges.""" |
| 117 | client = Client(dataset_id='main', table_id=table_id) |
| 118 | result = client.insert([ |
| 119 | Insert( |
| 120 | row={ |
| 121 | 'testcase_id': str(testcase.key.id()), |
| 122 | 'crash_type': testcase.crash_type, |
| 123 | 'crash_state': testcase.crash_state, |
| 124 | 'security_flag': testcase.security_flag, |
| 125 | 'parent_fuzzer_name': testcase.fuzzer_name, |
| 126 | 'fuzzer_name': testcase.overridden_fuzzer_name, |
| 127 | 'job_type': testcase.job_type, |
| 128 | 'created_at': int(time.time()), |
| 129 | ('%s_range_start' % range_name): int(start), |
| 130 | ('%s_range_end' % range_name): int(end), |
| 131 | }, |
| 132 | insert_id='%s:%s:%s' % (testcase.key.id(), start, end)) |
| 133 | ]) |
| 134 | |
| 135 | for error in result.get('insertErrors', []): |
| 136 | logs.error( |
| 137 | ("Ignoring error writing the testcase's %s range (%s) to " |
| 138 | 'BigQuery.' % (range_name, testcase.key.id())), |
| 139 | exception=ValueError(error)) |
| 140 | |
| 141 | |
| 142 | def _get_max_results(max_results, limit, count_so_far): |