Skip to content

Phase 2: Test Health & Infrastructure - Documentation, gRPC Fixtures, Profiling #53

@mvillmow

Description

@mvillmow

Phase 2: Test Health & Infrastructure (Week 2)

Goal: Achieve 100% test execution health
Duration: 5 days
Priority: HIGH 🟡


Overview

Address test infrastructure gaps to enable all disabled/skipped tests:

  • P1-001: Documentation mismatch (Catch2 vs Google Test)
  • P1-002: 2 gRPC tests disabled (need test fixtures)
  • P1-003: 5 profiling tests skipped (need dedicated suite)
  • P2-003: README FIXME unresolved

Task 2.1: Documentation Framework Fix (P1-001)

Approach: Search and replace Catch2 → Google Test across all docs

Checklist

  • Update docs/plan/testing-strategy.md - Replace Catch2 with GTest examples
  • Update CLAUDE.md - Fix test framework references
  • Update docs/GLOSSARY.md - Update testing section
  • Update docs/plan/README.md - Fix any Catch2 mentions
  • Convert code examples (REQUIRE → ASSERT_TRUE, CHECK → EXPECT_EQ)
  • Run just lint to verify markdown compliance

Complexity: Trivial | Duration: 1 hour ⚡


Task 2.2: gRPC Test Fixtures (P1-002)

Approach: In-process test servers on ephemeral ports (no Docker)

Checklist

  • Create tests/fixtures/grpc_test_fixture.hpp - Test fixture class
  • Create tests/fixtures/grpc_test_fixture.cpp - Implementation
  • Implement GrpcTestFixture inheriting ::testing::Test
  • SetUp() starts in-process servers on ephemeral ports
  • TearDown() shuts down servers
  • Update tests/unit/test_coordination_state.cpp (line 536, 581)
  • Remove DISABLED_ prefix from 2 tests
  • Update CMakeLists.txt - Add fixture to test dependencies
  • Verify tests pass with in-process servers
  • Ensure no port conflicts in parallel execution

Complexity: Moderate | Duration: 2 days


Task 2.3: Profiling Test Infrastructure (P1-003)

Approach: Dedicated profiling test suite, runs weekly in CI

Checklist

  • Update CMakeLists.txt - Add ENABLE_PROFILING option
  • Create separate profiling_tests CMake target
  • Add target_compile_definitions(profiling_tests PRIVATE KEYSTONE_PROFILE=1)
  • Update justfile - Add test-profiling command
  • Update .github/workflows/quality.yml - Add weekly profiling job
  • Update docs/plan/testing-strategy.md - Document profiling strategy
  • Verify profiling tests run when enabled
  • Verify profiling tests skipped in regular CI

Complexity: Simple | Duration: 1 day


Task 2.4: README FIXME Resolution (P2-003)

Approach: Audit CI/CD coverage, verify README steps tested

Checklist

  • Review .github/workflows/quality.yml for coverage gaps
  • Verify all README build/test steps are tested in CI
  • Add any missing CI tests
  • Update README.md (line 1) - Remove FIXME
  • Add CI/CD status badge to README
  • Optional: Create docs/CICD_COVERAGE.md - Document CI coverage matrix

Complexity: Trivial | Duration: 2 hours


Success Criteria

  • ✅ All docs consistently reference Google Test (no Catch2)
  • ✅ 2 gRPC tests enabled and passing
  • ✅ Profiling test suite created (runs weekly)
  • ✅ README FIXME resolved, CI coverage verified

Plan: See /home/mvillmow/.claude/plans/eventual-juggling-hinton.md
Can parallelize with: Phase 1 (Security), Phase 3 (Benchmarks)

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions