/
githubmirror
/
keras
Обзор
Документация
Войти
/
githubmirror
/
keras
Код
Запросы
0
Пакеты
0
Релизы
0
Аналитика
Безопасность
v3.13.2
conftest.py
78 строк
3 KB
Harshith Kulkarni
Run tests on TPU (#21425)
13 ноя 2025, 22:32
Не верифицирован
13 ноя 2025, 22:32
2730d52
Код
Авторство
О чём код?
try: # When using torch and tensorflow, torch needs to be imported first, # otherwise it will segfault upon import. This should force the torch # import to happen first for all tests. import torch # noqa: F401 except ImportError: torch = None import pytest # noqa: E402 from keras.src.backend import backend # noqa: E402 def pytest_configure(config): config.addinivalue_line( "markers", "requires_trainable_backend: mark test for trainable backend only", ) def pytest_collection_modifyitems(config, items): openvino_skipped_tests = [] if backend() == "openvino": with open( "keras/src/backend/openvino/excluded_concrete_tests.txt", "r" ) as file: openvino_skipped_tests = file.readlines() # it is necessary to check if stripped line is not empty # and exclude such lines openvino_skipped_tests = [ line.strip() for line in openvino_skipped_tests if line.strip() ] tpu_skipped_tests = [] if backend() == "jax": try: with open( "keras/src/backend/jax/excluded_tpu_tests.txt", "r" ) as file: tpu_skipped_tests = file.readlines() # it is necessary to check if stripped line is not empty # and exclude such lines tpu_skipped_tests = [ line.strip() for line in tpu_skipped_tests if line.strip() ] except FileNotFoundError: pass # File doesn't exist, no tests to skip requires_trainable_backend = pytest.mark.skipif( backend() in ["numpy", "openvino"], reason="Trainer not implemented for NumPy and OpenVINO backend.", ) for item in items: if "requires_trainable_backend" in item.keywords: item.add_marker(requires_trainable_backend) # also, skip concrete tests for openvino, listed in the special file # this is more granular mechanism to exclude tests rather # than using --ignore option for skipped_test in openvino_skipped_tests: if skipped_test in item.nodeid: item.add_marker( skip_if_backend( "openvino", "Not supported operation by openvino backend", ) ) # also, skip concrete tests for TPU when using JAX backend for skipped_test in tpu_skipped_tests: if skipped_test in item.nodeid: item.add_marker( pytest.mark.skip( reason="Known TPU test failure", ) ) def skip_if_backend(given_backend, reason): return pytest.mark.skipif(backend() == given_backend, reason=reason)