Commit graph

67 commits

Author SHA1 Message Date
afik.cohen
e0db936639 Refactor main function into Optimizer class 2023-11-16 15:18:05 -08:00
afik.cohen
205e360e3e Use OPTIMIZE_MODEL = GPT_4_128k()
Some checks are pending
optimize / optimize (pull_request) Waiting to run
unit-tests / unit-tests (pull_request) Waiting to run
2023-11-15 17:33:27 -08:00
Saurabh Misra
705f160ac8 Env var utils 2023-11-14 15:39:12 -08:00
afik.cohen
b0979d3b4c Ensure codeflash api key exists via function 2023-11-14 12:56:38 -08:00
Saurabh Misra
69a85da558 Assert CODEFLASH_API_KEY as set 2023-11-13 22:20:03 -08:00
Saurabh Misra
b7f18cc215 Fix PyTest!!
Fix XML and Binary file tests merging logic. Fix a bug.
Add a lot of tests, fix the Pytest tests.
2023-11-13 21:53:35 -08:00
Saurabh Misra
b3aaf36df1 Test instrumentation seems to be working. Fixed 1 test.
WIP whole workflow
2023-11-13 14:26:45 -08:00
Saurabh Misra
ee9416f798 Add the instrumentation to log test data in sqlite file and add a function to read that data 2023-11-11 17:21:50 -08:00
afik.cohen
084d90d745 Fix test generation to include correct import line for Class.function cases 2023-11-09 13:29:39 -08:00
afik.cohen
cafebef746 Rv using uncommitted git changes for testing 2023-11-06 21:12:35 -08:00
afik.cohen
ca6e026660 Rework all function_context.py methods to use new FunctionToOptimize dataclass. 2023-11-06 21:10:33 -08:00
afik.cohen
22c378c3a3 Make function discovery use a new dataclass FunctionsToOptimize. 2023-11-06 18:08:49 -08:00
Saurabh Misra
21c81fe0ba Merge branch 'main' into afik/action_test 2023-11-04 15:05:30 -07:00
Saurabh Misra
bdb29d9a83 Clean up generated test xml between different functions for --all 2023-11-04 15:01:50 -07:00
afik.cohen
4065488081 Merge remote-tracking branch 'origin/main' into afik/action_test 2023-11-03 15:46:30 -07:00
Saurabh Misra
c83eb2e207 Add tests for compare_results and handle an edge case 2023-11-02 18:10:03 -07:00
afik.cohen
9177ec7dba Print test results if runtime is 0 2023-11-02 16:51:27 -07:00
afik.cohen
f347e8a869 Get file path through param to parse_test_xml 2023-11-02 15:18:02 -07:00
afik.cohen
0cd9080b72 Skip testcase if file_name is None 2023-11-02 13:18:34 -07:00
afik.cohen
997c7c02dd Woops, use CST implementation for code replacer, not AST 2023-11-01 20:43:13 -07:00
afik.cohen
19b85d1de6 Add Dependent Function Replacer via ast 2023-11-01 20:33:41 -07:00
Saurabh Misra
bade908b3a Handle the case when all the tests runtime is 0 and not crash 2023-11-01 14:29:31 -07:00
Saurabh Misra
7ee293fb9d Fix logging statement 2023-11-01 11:43:52 -07:00
Saurabh Misra
5951d90e31 Preserve only the necessary generated test files from deletion 2023-10-31 19:02:38 -07:00
Saurabh Misra
3f492533e7 Merge remote-tracking branch 'origin/main'
# Conflicts:
#	codeflash/optimization/function_context.py
2023-10-31 14:51:23 -07:00
Saurabh Misra
99c4fb9799 Refactor site-package detection function.
Make function argument annotation, not consider site-package annotations.
2023-10-31 14:46:13 -07:00
afik.cohen
3791c45e21 Extract platform-independent ast unparser into single function 2023-10-31 13:06:57 -07:00
afik.cohen
9831ba602d Respect max tokens based on LLM specified 2023-10-31 12:53:45 -07:00
Saurabh Misra
88b80bf7cb Log test run errors only when all the tests fail 2023-10-31 11:51:12 -07:00
Saurabh Misra
31d4c129a6 Allow specifying which directory to optimize from when using --all 2023-10-31 11:23:49 -07:00
Saurabh Misra
05a174f16b Catch errors where the whole generated test fails to run 2023-10-30 19:05:17 -07:00
afik.cohen
3ce197b641 Change --dev-mode to --use-cached-tests option that uses CACHED_TESTS member of the provided file for tests instead of generating them 2023-10-30 17:55:42 -07:00
afik.cohen
fecbd923b3 Add functions for getting test pass/fail reports, use logger module, don't error out when test results output file is missing 2023-10-30 15:00:00 -07:00
afik.cohen
f62d89e869 Merge the results of parse_test_xml and parse_test_return_values_bin. 2023-10-26 21:54:23 -07:00
afik.cohen
ae56f1ce67 Standardize the FunctionTestInvocation ID to a schema 2023-10-26 16:26:11 -07:00
afik.cohen
ebb593aad0 Add tracing and replay test funcs 2023-10-26 14:48:35 -07:00
afik.cohen
6b528a883a Use JunitXMl parser instead of Etree to parse test result output. 2023-10-26 11:19:16 -07:00
afik.cohen
51e650b3de Refactored code to ensure that the args.root and args.test_root paths are converted to their real paths before asserting their validity. 2023-10-24 18:31:46 -07:00
afik.cohen
e5adbc552b Add new FunctionInvocation dataclass for test results and use it throughout parsing and testing 2023-10-24 17:10:53 -07:00
afik.cohen
09b28d9d82 Parse test results and timing results from xmlrunner XML 2023-10-23 16:14:17 -07:00
afik.cohen
7606358f43 Use xmlrunner to save test results, and etree to read them back 2023-10-23 16:07:28 -07:00
afik.cohen
31d6c562d7 Added bubble sort implementation and unit tests for it, refactored argument name "--tests-root" to "--test-root", and made some minor code improvements. 2023-10-23 15:09:27 -07:00
afik.cohen
0848e9b4f2 Get all function names and add sqlalchemy utils 2023-10-22 22:54:02 -07:00
afik.cohen
ccd173cff4 Inject profiling into existing test with the given function name and root path. 2023-10-22 22:08:36 -07:00
afik.cohen
907dde6a1f Parse config file to find the pyproject.toml file, and modified main.py to parse command line arguments and use the parse_config_file function to get the project root and test root directories. 2023-10-22 22:02:18 -07:00
afik.cohen
a9917be937 Dynamically determine the number of times to run the tests based on the runtime of the tests. 2023-10-22 21:59:04 -07:00
afik.cohen
c50c9c5356 Inject perf/instrumentation for generated tests 2023-10-22 21:48:40 -07:00
afik.cohen
6158c38c02 Added a flag to track if at least one optimization was found, and added a cleanup step to remove test files if no optimizations were found. 2023-10-22 20:14:38 -07:00
afik.cohen
ffc3877770 Optimized code and added a minimum improvement threshold for runtime. 2023-10-22 20:10:47 -07:00
afik.cohen
783f6b66a6 Refactor verification_utils to add a function for parsing test return values from a binary file. 2023-10-22 18:27:58 -07:00