diff --git a/codeflash/discovery/discover_unit_tests.py b/codeflash/discovery/discover_unit_tests.py index ae744ea97..02ae2e4c1 100644 --- a/codeflash/discovery/discover_unit_tests.py +++ b/codeflash/discovery/discover_unit_tests.py @@ -186,15 +186,19 @@ def process_test_files( jedi_project = jedi.Project(path=project_root_path) for test_file, functions in file_to_test_map.items(): - script = jedi.Script(path=test_file, project=jedi_project) - test_functions = set() - - all_names = script.get_names(all_scopes=True, references=True) - all_defs = script.get_names(all_scopes=True, definitions=True) - all_names_top = script.get_names(all_scopes=True) - - top_level_functions = {name.name: name for name in all_names_top if name.type == "function"} - top_level_classes = {name.name: name for name in all_names_top if name.type == "class"} + try: + script = jedi.Script(path=test_file, project=jedi_project) + test_functions = set() + + all_names = script.get_names(all_scopes=True, references=True) + all_defs = script.get_names(all_scopes=True, definitions=True) + all_names_top = script.get_names(all_scopes=True) + + top_level_functions = {name.name: name for name in all_names_top if name.type == "function"} + top_level_classes = {name.name: name for name in all_names_top if name.type == "class"} + except Exception as e: + logger.debug(f"Failed to get jedi script for {test_file}: {e}") + continue if test_framework == "pytest": for function in functions: diff --git a/testbench.py b/testbench.py deleted file mode 100644 index e3856033d..000000000 --- a/testbench.py +++ /dev/null @@ -1,54 +0,0 @@ -from concurrent.futures import ThreadPoolExecutor - - -def add_numbers(a: int, b: int) -> int: - print(f"[ADD_NUMBERS] Starting with parameters: a={a}, b={b}") - result = a + b - print(f"[ADD_NUMBERS] Returning result: {result}") - return result - - -def test_threadpool() -> None: - print("[TEST_THREADPOOL] Starting thread pool execution") - pool = ThreadPoolExecutor(max_workers=3) - numbers = [(10, 20), (30, 40), (50, 60)] - print("[TEST_THREADPOOL] Submitting tasks to thread pool") - result = pool.map(add_numbers, *zip(*numbers)) - - print("[TEST_THREADPOOL] Processing results") - for r in result: - print(f"[TEST_THREADPOOL] Thread result: {r}") - print("[TEST_THREADPOOL] Finished thread pool execution") - - -def multiply_numbers(a: int, b: int) -> int: - print(f"[MULTIPLY_NUMBERS] Starting with parameters: a={a}, b={b}") - result = a * b - print(f"[MULTIPLY_NUMBERS] Returning result: {result}") - return result - - -if __name__ == "__main__": - print("[MAIN] Starting testbench execution") - - print("[MAIN] Calling test_threadpool()") - test_threadpool() - print("[MAIN] Finished test_threadpool()") - - print("[MAIN] Calling add_numbers(5, 10)") - result1 = add_numbers(5, 10) - print(f"[MAIN] add_numbers result: {result1}") - - print("[MAIN] Calling add_numbers(15, 25)") - result2 = add_numbers(15, 25) - print(f"[MAIN] add_numbers result: {result2}") - - print("[MAIN] Calling multiply_numbers(3, 7)") - result3 = multiply_numbers(3, 7) - print(f"[MAIN] multiply_numbers result: {result3}") - - print("[MAIN] Calling multiply_numbers(5, 9)") - result4 = multiply_numbers(5, 9) - print(f"[MAIN] multiply_numbers result: {result4}") - - print("[MAIN] Testbench execution completed")