Skip to content

Add CTest functional and performance tests - #2

Closed
byrnedj wants to merge 1 commit into
cmake-numa-accelfrom
cmake-ctest
Closed

Add CTest functional and performance tests#2
byrnedj wants to merge 1 commit into
cmake-numa-accelfrom
cmake-ctest

Conversation

@byrnedj

@byrnedj byrnedj commented Jul 8, 2026

Copy link
Copy Markdown
Owner

Stack 3/3 — stacked on cmake-numa-accel (#1).

Adds a CTest-driven test suite:

  • a functional correctness test that runs without DSA hardware
  • an A/B performance regression test comparing the current dto.c against a baseline object built from the baseline branch

See TESTING.md for usage.

Base branch is cmake-numa-accel, so this PR's diff shows only its own commit.
Retarget up the stack as the lower PRs merge.

Stack

  1. Add CMake build system — Add CMake build system intel/DTO#30
  2. Add optional libnuma / accel-config support — Add optional libnuma / accel-config support #1
  3. Add CTest functional and performance tests

Add a CTest-driven test suite: a functional correctness test that runs
without DSA hardware, and an A/B performance regression test that compares
the current dto.c against a baseline object built from the baseline branch.
See TESTING.md for usage.

Co-Authored-By: Claude Opus 4.8 (1M context) <[email protected]>

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 5e395074f3

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment thread CMakeLists.txt
Comment on lines +167 to +168
DEPENDS ${CMAKE_SOURCE_DIR}/tests/build_baseline.sh
COMMENT "Building dto_baseline.o from baseline branch"

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P2 Badge Keep perf target from using a stale baseline

Because this output rule only depends on build_baseline.sh, CMake will not invoke the script again after perf_baseline/dto_baseline.o already exists unless that local dependency changes. The SHA check inside the script therefore does not run on normal incremental builds, so if github.com/intel/DTO advances perf_baseline, the perf test silently keeps comparing against the old cached object and can report misleading regressions or passes until the build tree is cleaned.

Useful? React with 👍 / 👎.

Comment thread CMakeLists.txt
target_link_libraries(dto-test-wodto PRIVATE pthread)

# ---- Test Suite ----
option(DTO_BUILD_TESTS "Build the DTO test suite" ON)

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P2 Badge Make networked perf tests opt-in

With DTO_BUILD_TESTS defaulting to ON and the accel-config/NUMA options also enabled by default, a normal cmake --build includes dto-test-perf; that target runs build_baseline.sh, which fetches https://github.com/intel/DTO.git and exits with failure when no cached baseline exists. In offline or restricted CI environments this makes even building the library or the functional tests fail unless users know to disable tests/features, so the network-dependent perf target should be behind an explicit opt-in.

Useful? React with 👍 / 👎.

@byrnedj

byrnedj commented Jul 8, 2026

Copy link
Copy Markdown
Owner Author

Superseded by intel#32 — recreated in intel/DTO so the whole stack targets intel:main directly.

@byrnedj byrnedj closed this Jul 8, 2026
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