Skip to content

Chevron Unit Testing Setup - #7

Draft
jamon-bailey wants to merge 7 commits into
v0.xfrom
testing-setup
Draft

Chevron Unit Testing Setup#7
jamon-bailey wants to merge 7 commits into
v0.xfrom
testing-setup

Conversation

@jamon-bailey

@jamon-bailey jamon-bailey commented Aug 31, 2026

Copy link
Copy Markdown
Member

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.

jamon-bailey and others added 6 commits May 24, 2026 00:47
- 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.
@jamon-bailey jamon-bailey added this to the Testing Foundations milestone Aug 31, 2026
@jamon-bailey jamon-bailey self-assigned this Aug 31, 2026
@jamon-bailey jamon-bailey added enhancement New feature or request Update An update for the main branch labels Aug 31, 2026
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.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancement New feature or request Update An update for the main branch

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant