Skip to content

Convert software regressions to individual GoogleTest cases - #18

Merged
thweetkomputer merged 1 commit into
eloqdata:mainfrom
thweetkomputer:test/google-test-cases
Oct 19, 2026
Merged

thweetkomputer merged 1 commit into
eloqdata:mainfrom
thweetkomputer:test/google-test-cases

Conversation

@thweetkomputer

Copy link
Copy Markdown
Contributor

Software regressions currently bundle multiple scenarios into standalone *_check programs, so a failure is reported for the whole executable and individual scenarios cannot be selected. Convert the automatic regressions to GoogleTest cases discovered individually by CTest, with bycorf_ names, per-case timeouts, labels, and failure reports.

Share the runtime harness across timer, connection, storage-lifetime, buffered-read, and io_uring tests; expose queue type/capacity combinations as typed cases. Preserve the Task regression's 512 KiB stack through re-exec, and isolate immutable backend selection, DPDK/EAL, SPDK stubs, and FreeBSD initialization in subprocesses. GoogleTest is a test-only dependency, reuses embedding-project targets, and otherwise uses the same pinned version as Lavik. Update the build/test documentation; command-line hardware and environment probes retain their standalone entry points.

Validation on Linux ARM64:

  • GCC 13 Debug standalone: all 49 CTest cases passed.
  • GCC 13 Debug with BYCORF_KERNEL_BYPASS=ON: all 67 CTest cases passed, including virtual/stub DPDK, SPDK, and FreeBSD coverage.
  • Clang 18 Debug embedded in Lavik: ctest --test-dir build_ci -R '^bycorf_' --output-on-failure --no-tests=error passed all 49 cases.
  • Both core test programs and backend subprocess suites passed two shuffled repetitions with seed 2026; the Task binary also passed shuffled repetitions after its bounded-stack re-exec.
  • Verified CTest labels/timeouts and serial DPDK scheduling, test-disabled configuration without GoogleTest, and worker-initialization failure reporting under a restricted descriptor limit.
  • pre-commit run and git diff --cached --check passed.

Physical-device checks and x86-64 were not run locally. Production behavior and architecture boundaries are unchanged; the compatibility change is the replacement of automatic *_check executable/test names with the documented GoogleTest targets and cases.

@coderabbitai

coderabbitai Bot commented Oct 19, 2026

Copy link
Copy Markdown

Important

  • 🔍 Trigger review

This repository does not receive automatic reviews because it has fewer than 10 stars.

⚙️ Run configuration
  • Configuration used: Organization UI
  • Review profile: CHILL
  • Plan: Advanced
  • Run ID: c005c397-971d-4454-a1f3-2ec9fe9b4289
  • Autofix · Keep fixing CodeRabbit findings and required CI, and resolving merge conflicts

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@thweetkomputer
thweetkomputer merged commit 08fa44d into eloqdata:main Oct 19, 2026
10 checks passed
@thweetkomputer
thweetkomputer deleted the test/google-test-cases branch October 19, 2026 13:47
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant