mirror of
https://github.com/huggingface/transformers.git
synced 2025-07-03 21:00:08 +06:00

* change cis * nits * update * minor updates * [push-ci-image] * nit [push-ci-image] * nitsssss * [build-ci-image] * [push-ci-image] * [push-ci-image] * both * [push-ci-image] * this? * [push-ci-image] * pypi-kenlm needs g++ * [push-ci-image] * nit * more nits [push-ci-image] * nits [push-ci-image] * [push-ci-image] * [push-ci-image] * [push-ci-image] * add vision * [push-ci-image] * [push-ci-image] * add new dummy file but will need to update them [push-ci-image] * [push-ci-image] * show package size as well * [push-ci-image] * potentially ignore failures * workflow updates * nits [push-ci-image] * [push-ci-image] * fix consistency * clean nciida triton * also show big packages [push-ci-image] * nit * update * another one * line escape? * add accelerate [push-ci-image] * updates [push-ci-image] * nits to run tests, no push-ci * try to parse skip reason to make sure nothing is skipped that should no be skippped * nit? * always show skipped reasons * nits * better parsing of the test outputs * action="store_true", * failure on failed * show matched * debug * update short summary with skipped, failed and errors * nits * nits * coolu pdates * remove docbuilder * fix * always run checks * oups * nits * don't error out on library printing * non zero exi codes * no warning * nit * WAT? * format nit * [push-ci-image] * fail if fail is needed * [push-ci-image] * sound file for torch light? * [push-ci-image] * order is important [push-ci-image] * [push-ci-image] reduce even further * [push-ci-image] * use pytest rich ! * yes [push-ci-image] * oupsy * bring back the full traceback, but pytest rich should help * nit * [push-ci-image] * re run * nit * [push-ci-image] * [push-ci-image] * [push-ci-image] * empty push to trigger * [push-ci-image] * nit? [push-ci-image] * empty * try to install timm with no deps * [push-ci-image] * oups [push-ci-image] * [push-ci-image] * [push-ci-image] ? * [push-ci-image] open ssh client for git checkout fast * empty for torch light * updates [push-ci-image] * nit * @v4 for checkout * [push-ci-image] * [push-ci-image] * fix fetch tests with parallelism * [push-ci-image] * more parallelism * nit * more nits * empty to re-trigger * empty to re-trigger * split by timing * did not work with previous commit * junit.xml * no path? * mmm this? * junitxml format * split by timing * nit * fix junit family * now we can test if the xunit1 is compatible! * this? * fully list tests * update * update * oups * finally * use classname * remove working directory to make sure the path does not interfere * okay no juni should have the correct path * name split? * sort by classname is what make most sense * some testing * naem * oups * test something fun * autodetect * 18? * nit * file size? * uip * 4 is best * update to see versions * better print * [push-ci-image] * [push-ci-image] * please install the correct keras version * [push-ci-image] * [push-ci-image] * [push-ci-image] * [push-ci-image] * [push-ci-image] * uv is fucking me up * [push-ci-image] * [push-ci-image] * [push-ci-image] * nits * [push-ci-image] * [push-ci-image] * install issues an pins * tapas as well * nits * more paralellism * short tb * soundfile * soundfile * [push-ci-image] * [push-ci-image] * [push-ci-image] * oups * [push-ci-image] * fix some things * [push-ci-image] * [push-ci-image] * [push-ci-image] * [push-ci-image] * use torch-light for hub * small git lfs for hub job * [push-ci-image] * [push-ci-image] * [push-ci-image] * [push-ci-image] * fix tf tapas * [push-ci-image] * nits * [push-ci-image] * don't update the test * [push-ci-image] * [push-ci-image] * [push-ci-image] * no use them * [push-ci-image] * [push-ci-image] * [push-ci-image] * [push-ci-image] * update tf proba * [push-ci-image] * [push-ci-image] * woops * [push-ci-image] * [push-ci-image] * [push-ci-image] * [push-ci-image] * [push-ci-image] * [push-ci-image] * test with built dockers * [push-ci-image] * skip annoying tests * revert fix copy * update test values * update * last skip and fixup * nit * ALL GOOOD * quality * Update tests/models/layoutlmv2/test_image_processing_layoutlmv2.py * Update docker/quality.dockerfile Co-authored-by: Lysandre Debut <hi@lysand.re> * Update src/transformers/models/tapas/modeling_tf_tapas.py Co-authored-by: Lysandre Debut <hi@lysand.re> * Apply suggestions from code review Co-authored-by: Lysandre Debut <hi@lysand.re> * use torch-speed * updates * [push-ci-image] * [push-ci-image] * [push-ci-image] * [push-ci-image] * fuck ken-lm [push-ci-image] * [push-ci-image] * [push-ci-image] --------- Co-authored-by: Lysandre Debut <hi@lysand.re>
70 lines
2.5 KiB
Python
70 lines
2.5 KiB
Python
import re
|
|
import argparse
|
|
|
|
def parse_pytest_output(file_path):
|
|
skipped_tests = {}
|
|
skipped_count = 0
|
|
with open(file_path, 'r') as file:
|
|
for line in file:
|
|
match = re.match(r'^SKIPPED \[(\d+)\] (tests/.*): (.*)$', line)
|
|
if match:
|
|
skipped_count += 1
|
|
test_file, test_line, reason = match.groups()
|
|
skipped_tests[reason] = skipped_tests.get(reason, []) + [(test_file, test_line)]
|
|
for k,v in sorted(skipped_tests.items(), key=lambda x:len(x[1])):
|
|
print(f"{len(v):4} skipped because: {k}")
|
|
print("Number of skipped tests:", skipped_count)
|
|
|
|
def parse_pytest_failure_output(file_path):
|
|
failed_tests = {}
|
|
failed_count = 0
|
|
with open(file_path, 'r') as file:
|
|
for line in file:
|
|
match = re.match(r'^FAILED (tests/.*) - (.*): (.*)$', line)
|
|
if match:
|
|
failed_count += 1
|
|
_, error, reason = match.groups()
|
|
failed_tests[reason] = failed_tests.get(reason, []) + [error]
|
|
for k,v in sorted(failed_tests.items(), key=lambda x:len(x[1])):
|
|
print(f"{len(v):4} failed because `{v[0]}` -> {k}")
|
|
print("Number of failed tests:", failed_count)
|
|
if failed_count>0:
|
|
exit(1)
|
|
|
|
def parse_pytest_errors_output(file_path):
|
|
print(file_path)
|
|
error_tests = {}
|
|
error_count = 0
|
|
with open(file_path, 'r') as file:
|
|
for line in file:
|
|
match = re.match(r'^ERROR (tests/.*) - (.*): (.*)$', line)
|
|
if match:
|
|
error_count += 1
|
|
_, test_error, reason = match.groups()
|
|
error_tests[reason] = error_tests.get(reason, []) + [test_error]
|
|
for k,v in sorted(error_tests.items(), key=lambda x:len(x[1])):
|
|
print(f"{len(v):4} errored out because of `{v[0]}` -> {k}")
|
|
print("Number of errors:", error_count)
|
|
if error_count>0:
|
|
exit(1)
|
|
|
|
def main():
|
|
parser = argparse.ArgumentParser()
|
|
parser.add_argument("--file", help="file to parse")
|
|
parser.add_argument("--skip", action="store_true", help="show skipped reasons")
|
|
parser.add_argument("--fail", action="store_true", help="show failed tests")
|
|
parser.add_argument("--errors", action="store_true", help="show failed tests")
|
|
args = parser.parse_args()
|
|
|
|
if args.skip:
|
|
parse_pytest_output(args.file)
|
|
|
|
if args.fail:
|
|
parse_pytest_failure_output(args.file)
|
|
|
|
if args.errors:
|
|
parse_pytest_errors_output(args.file)
|
|
|
|
|
|
if __name__ == "__main__":
|
|
main() |