Skip to content

Commit cd8bc3f

Browse files
author
Codeflash Bot
committed
dont generate if not needed
1 parent cb361d4 commit cd8bc3f

File tree

2 files changed

+38
-37
lines changed

2 files changed

+38
-37
lines changed

codeflash/cli_cmds/cli.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -81,7 +81,7 @@ def parse_args() -> Namespace:
8181
"--no-pr", action="store_true", help="Do not create a PR for the optimization, only update the code locally."
8282
)
8383
parser.add_argument(
84-
"--no-gen-test", action="store_true", help="Do not generate tests, use only existing tests for optimization."
84+
"--no-gen-tests", action="store_true", help="Do not generate tests, use only existing tests for optimization."
8585
)
8686
parser.add_argument("--staging-review", action="store_true", help="Upload optimizations to staging for review")
8787
parser.add_argument(

codeflash/optimization/function_optimizer.py

Lines changed: 37 additions & 36 deletions
Original file line numberDiff line numberDiff line change
@@ -1295,47 +1295,51 @@ def generate_tests(
12951295
n_tests = N_TESTS_TO_GENERATE_EFFECTIVE
12961296
assert len(generated_test_paths) == n_tests
12971297

1298-
# Submit test generation tasks
1299-
future_tests = self.submit_test_generation_tasks(
1300-
self.executor,
1301-
testgen_context.markdown,
1302-
[definition.fully_qualified_name for definition in helper_functions],
1303-
generated_test_paths,
1304-
generated_perf_test_paths,
1305-
)
1298+
if not self.args.no_gen_tests:
1299+
# Submit test generation tasks
1300+
future_tests = self.submit_test_generation_tasks(
1301+
self.executor,
1302+
testgen_context.markdown,
1303+
[definition.fully_qualified_name for definition in helper_functions],
1304+
generated_test_paths,
1305+
generated_perf_test_paths,
1306+
)
13061307

13071308
future_concolic_tests = self.executor.submit(
13081309
generate_concolic_tests, self.test_cfg, self.args, self.function_to_optimize, self.function_to_optimize_ast
13091310
)
13101311

1311-
# Wait for test futures to complete
1312-
concurrent.futures.wait([*future_tests, future_concolic_tests])
1313-
1312+
if not self.args.no_gen_tests:
1313+
# Wait for test futures to complete
1314+
concurrent.futures.wait([*future_tests, future_concolic_tests])
1315+
else:
1316+
concurrent.futures.wait([future_concolic_tests])
13141317
# Process test generation results
13151318
tests: list[GeneratedTests] = []
1316-
for future in future_tests:
1317-
res = future.result()
1318-
if res:
1319-
(
1320-
generated_test_source,
1321-
instrumented_behavior_test_source,
1322-
instrumented_perf_test_source,
1323-
test_behavior_path,
1324-
test_perf_path,
1325-
) = res
1326-
tests.append(
1327-
GeneratedTests(
1328-
generated_original_test_source=generated_test_source,
1329-
instrumented_behavior_test_source=instrumented_behavior_test_source,
1330-
instrumented_perf_test_source=instrumented_perf_test_source,
1331-
behavior_file_path=test_behavior_path,
1332-
perf_file_path=test_perf_path,
1319+
if not self.args.no_gen_tests:
1320+
for future in future_tests:
1321+
res = future.result()
1322+
if res:
1323+
(
1324+
generated_test_source,
1325+
instrumented_behavior_test_source,
1326+
instrumented_perf_test_source,
1327+
test_behavior_path,
1328+
test_perf_path,
1329+
) = res
1330+
tests.append(
1331+
GeneratedTests(
1332+
generated_original_test_source=generated_test_source,
1333+
instrumented_behavior_test_source=instrumented_behavior_test_source,
1334+
instrumented_perf_test_source=instrumented_perf_test_source,
1335+
behavior_file_path=test_behavior_path,
1336+
perf_file_path=test_perf_path,
1337+
)
13331338
)
1334-
)
13351339

1336-
if not tests:
1337-
logger.warning(f"Failed to generate and instrument tests for {self.function_to_optimize.function_name}")
1338-
return Failure(f"/!\\ NO TESTS GENERATED for {self.function_to_optimize.function_name}")
1340+
if not tests:
1341+
logger.warning(f"Failed to generate and instrument tests for {self.function_to_optimize.function_name}")
1342+
return Failure(f"/!\\ NO TESTS GENERATED for {self.function_to_optimize.function_name}")
13391343

13401344
function_to_concolic_tests, concolic_test_str = future_concolic_tests.result()
13411345
count_tests = len(tests)
@@ -1344,10 +1348,7 @@ def generate_tests(
13441348

13451349
logger.info(f"!lsp|Generated '{count_tests}' tests for '{self.function_to_optimize.function_name}'")
13461350

1347-
if self.args.no_gen_test:
1348-
generated_tests = GeneratedTestsList(generated_tests=[])
1349-
else:
1350-
generated_tests = GeneratedTestsList(generated_tests=tests)
1351+
generated_tests = GeneratedTestsList(generated_tests=tests)
13511352
return Success((count_tests, generated_tests, function_to_concolic_tests, concolic_test_str))
13521353

13531354
def generate_optimizations(

0 commit comments

Comments
 (0)