""" AGBenchmark's test discovery endpoint for Pytest. This module is picked up by Pytest's *_test.py file matching pattern, and all challenge classes in the module that conform to the `Test*` pattern are collected. """ import importlib import logging from agbenchmark.challenges.builtin import load_builtin_challenges logger = logging.getLogger(__name__) DATA_CATEGORY = {} # Load challenges and attach them to this module for challenge in load_builtin_challenges(): # Attach the Challenge class to this module so it can be discovered by pytest module = importlib.import_module(__name__) setattr(module, challenge.__name__, challenge) # Build a map of challenge names and their primary category DATA_CATEGORY[challenge.info.name] = challenge.info.category[0].value