if __name__ == '__main__': exit_codes = [] future_list = [] done_list = [] configure_logging(LOG_FILE) with futures.ThreadPoolExecutor(max_workers=MAX_WORKERS) as executor: for nose_cmd, first, last in nose_strategy(): args = run_nosetests, nose_cmd, first, last future_list.append(executor.submit(*args)) total_tests = len(future_list) print_status(done_list, total_tests) while future_list: try: for future in futures.as_completed(future_list, timeout=120): cmd, stdout, stderr, exit_code, output_fname = future.result() exit_codes.append(exit_code) done_list.append(future) print_status(done_list, total_tests) if exit_code != 0: print_info_console(cmd, stdout, stderr, exit_code, output_fname) print_will_fail(exit_code)
configure_logging(LOG_FILE) with futures.ThreadPoolExecutor(max_workers=MAX_WORKERS) as executor: for nose_cmd, first, last in nose_strategy(): args = run_nosetests, nose_cmd, first, last run_id = get_run_id(first, last) queued_run_ids.append(run_id) future = executor.submit(*args) future.run_id = run_id future_list.append(future) total_tests = len(future_list) print_status(start_time, done_list, total_tests, queued_run_ids, executor) while future_list: try: for future in futures.as_completed(future_list, timeout=120): try: cmd, stdout, stderr, exit_code, output_fname = future.result() except Exception as e: msg = 'Run id %s raised exception: "%s"' logging.error(msg % (future.run_id, e)) print_will_fail(1) raise else: exit_codes.append(exit_code) done_list.append(future) queued_run_ids.remove(future.run_id)