Skip to content

Commit 7ed5633

Browse files
committed
test
1 parent 8686e98 commit 7ed5633

File tree

4 files changed

+73
-6
lines changed

4 files changed

+73
-6
lines changed
Lines changed: 41 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,41 @@
1+
name: end-to-end-test
2+
3+
on:
4+
pull_request:
5+
workflow_dispatch:
6+
7+
jobs:
8+
tracer-replay-testbench:
9+
runs-on: ubuntu-latest
10+
env:
11+
CODEFLASH_AIS_SERVER: prod
12+
POSTHOG_API_KEY: ${{ secrets.POSTHOG_API_KEY }}
13+
CODEFLASH_API_KEY: ${{ secrets.CODEFLASH_API_KEY }}
14+
COLUMNS: 110
15+
MAX_RETRIES: 3
16+
RETRY_DELAY: 5
17+
EXPECTED_IMPROVEMENT_PCT: 10
18+
CODEFLASH_END_TO_END: 1
19+
steps:
20+
- uses: actions/checkout@v4
21+
with:
22+
fetch-depth: 0
23+
token: ${{ secrets.GITHUB_TOKEN }}
24+
25+
- name: Set up Python 3.11 for CLI
26+
uses: astral-sh/setup-uv@v5
27+
with:
28+
python-version: 3.11.6
29+
30+
- name: Install dependencies (CLI)
31+
run: |
32+
uv tool install poetry
33+
uv venv
34+
source .venv/bin/activate
35+
poetry install --with dev
36+
37+
- name: Run Codeflash to optimize code
38+
id: optimize_code
39+
run: |
40+
source .venv/bin/activate
41+
poetry run python tests/scripts/end_to_end_test_tracer_replay_testbench.py.py

tests/scripts/end_to_end_test_tracer_replay.py

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -7,18 +7,17 @@
77
def run_test(expected_improvement_pct: int) -> bool:
88
config = TestConfig(
99
trace_mode=True,
10+
trace_load="workload",
1011
min_improvement_x=0.1,
1112
expected_unit_tests=1,
1213
coverage_expectations=[
13-
# CoverageExpectation(function_name="funcA", expected_coverage=100.0, expected_lines=[2, 3, 4, 6, 9]),
14-
CoverageExpectation(function_name="funcA", expected_coverage=100.0, expected_lines=[4, 5, 6, 8, 11]),
14+
CoverageExpectation(function_name="funcA", expected_coverage=100.0, expected_lines=[2, 3, 4, 6, 9]),
1515
],
1616
)
1717
cwd = (
1818
pathlib.Path(__file__).parent.parent.parent / "code_to_optimize" / "code_directories" / "simple_tracer_e2e"
1919
).resolve()
2020
return run_codeflash_command(cwd, config, expected_improvement_pct)
2121

22-
2322
if __name__ == "__main__":
2423
exit(run_with_retries(run_test, int(os.getenv("EXPECTED_IMPROVEMENT_PCT", 10))))
Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
import os
2+
import pathlib
3+
4+
from end_to_end_test_utilities import CoverageExpectation, TestConfig, run_codeflash_command, run_with_retries
5+
6+
7+
def run_test(expected_improvement_pct: int) -> bool:
8+
config = TestConfig(
9+
trace_mode=True,
10+
trace_load="testbench",
11+
min_improvement_x=0.1,
12+
expected_unit_tests=1,
13+
coverage_expectations=[
14+
CoverageExpectation(function_name="funcA", expected_coverage=100.0, expected_lines=[4, 5, 6, 8, 11])
15+
],
16+
)
17+
cwd = (
18+
pathlib.Path(__file__).parent.parent.parent / "code_to_optimize" / "code_directories" / "simple_tracer_e2e"
19+
).resolve()
20+
return run_codeflash_command(cwd, config, expected_improvement_pct)
21+
22+
23+
24+
if __name__ == "__main__":
25+
exit(run_with_retries(run_test, int(os.getenv("EXPECTED_IMPROVEMENT_PCT", 10))))

tests/scripts/end_to_end_test_utilities.py

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,7 @@ class TestConfig:
2525
expected_unit_tests: Optional[int] = None
2626
min_improvement_x: float = 0.1
2727
trace_mode: bool = False
28+
trace_load: str = "workload"
2829
coverage_expectations: list[CoverageExpectation] = field(default_factory=list)
2930

3031

@@ -80,8 +81,10 @@ def run_codeflash_command(
8081
) -> bool:
8182
logging.basicConfig(level=logging.INFO)
8283
if config.trace_mode:
83-
# return run_trace_test(cwd, config, expected_improvement_pct)
84-
return run_trace_test2(cwd, config, expected_improvement_pct)
84+
if config.trace_load == "workload":
85+
return run_trace_test(cwd, config, expected_improvement_pct)
86+
if config.trace_load == "testbench":
87+
return run_trace_test2(cwd, config, expected_improvement_pct)
8588

8689
path_to_file = cwd / config.file_path
8790
file_contents = path_to_file.read_text("utf-8")
@@ -277,7 +280,6 @@ def run_trace_test2(cwd: pathlib.Path, config: TestConfig, expected_improvement_
277280
return validate_output(stdout, return_code, expected_improvement_pct, config)
278281

279282

280-
281283
def run_with_retries(test_func, *args, **kwargs) -> bool:
282284
max_retries = int(os.getenv("MAX_RETRIES", 3))
283285
retry_delay = int(os.getenv("RETRY_DELAY", 5))

0 commit comments

Comments
 (0)