Skip to content

Commit e91838c

Browse files
committed
extract test discovery
1 parent e48e13f commit e91838c

File tree

1 file changed

+19
-12
lines changed

1 file changed

+19
-12
lines changed

codeflash/optimization/optimizer.py

Lines changed: 19 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -219,9 +219,26 @@ def prepare_module_for_optimization(
219219

220220
return validated_original_code, original_module_ast
221221

222+
def discover_tests(
223+
self, file_to_funcs_to_optimize: dict[Path, list[FunctionToOptimize]]
224+
) -> tuple[dict[str, set[FunctionCalledInTest]], int]:
225+
from codeflash.discovery.discover_unit_tests import discover_unit_tests
226+
227+
console.rule()
228+
start_time = time.time()
229+
function_to_tests, num_discovered_tests = discover_unit_tests(
230+
self.test_cfg, file_to_funcs_to_optimize=file_to_funcs_to_optimize
231+
)
232+
console.rule()
233+
logger.info(
234+
f"Discovered {num_discovered_tests} existing unit tests in {(time.time() - start_time):.1f}s at {self.test_cfg.tests_root}"
235+
)
236+
console.rule()
237+
ph("cli-optimize-discovered-tests", {"num_tests": num_discovered_tests})
238+
return function_to_tests, num_discovered_tests
239+
222240
def run(self) -> None:
223241
from codeflash.code_utils.checkpoint import CodeflashRunCheckpoint
224-
from codeflash.discovery.discover_unit_tests import discover_unit_tests
225242

226243
ph("cli-optimize-run-start")
227244
logger.info("Running optimizer.")
@@ -252,17 +269,7 @@ def run(self) -> None:
252269
logger.info("No functions found to optimize. Exiting…")
253270
return
254271

255-
console.rule()
256-
start_time = time.time()
257-
function_to_tests, num_discovered_tests = discover_unit_tests(
258-
self.test_cfg, file_to_funcs_to_optimize=file_to_funcs_to_optimize
259-
)
260-
console.rule()
261-
logger.info(
262-
f"Discovered {num_discovered_tests} existing unit tests in {(time.time() - start_time):.1f}s at {self.test_cfg.tests_root}"
263-
)
264-
console.rule()
265-
ph("cli-optimize-discovered-tests", {"num_tests": num_discovered_tests})
272+
function_to_tests, _ = self.discover_tests(file_to_funcs_to_optimize)
266273
if self.args.all:
267274
self.functions_checkpoint = CodeflashRunCheckpoint(self.args.module_root)
268275

0 commit comments

Comments
 (0)