Chevron Unit Testing Setup - #7
Draft
jamon-bailey wants to merge 7 commits into
Draft
Conversation
- Added unit test and stress test target creation helpers - Still needs benchmark target helper (incomplete) - Established and applied standard approach for CMake module file headers; TODO: to be applied everywhere else later
Includes new project testing helper module before subdirectories
- Moved GoogleTest and Google Benchmark interface targets to the utility helper - Added dividers in module using comments
Stashes initial testing setup attempt in diff file for review later. Chevron testing will be handled with LLM agent assistance. Testing utilities/helpers remain in-place from this branch.
Experiencing issues on Linux with Neovim and Clangd LSP, which needs access to the projects compile commands to be effective. Chevron uses a multi-config build directory which complicates this across machines. These new additions makes it so that the compile commands document is copied to the project root to provide easy access for LSPs and tooling.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Library Unit Testing Facilities
This introduces the baseline setup for unit testing the Chevron library through GoogleTest. A new "Testing Helper Module" was created for the projects CMake build system to simplify the testing target creation process and make test target intent clear through custom helper functions. The inclusion of this module automatically handles the addition of both GoogleTest and Google Benchmark third-party directories, as well as establishing both targets. This accommodates the entire testing directory.
The Chevron library has decided to cooperatively establish the majority of its testing facilities with the assistance of LLM agents (under heavy human supervision). This testing related PR, and those similar that will follow, will have seen elements of agentic AI generated code. Testing architecture remains a human task; most test implementations will be delegated to an agent and reviewed by a human before commited.