← All tasks
cppkvcache-ai/Mooncake #3752Not a task: not reproduced

[CI/Build] Run mooncake-common etcd wrapper Go tests in CI

envgap__kvcache-ai__Mooncake-3752

01 / FAILURE SIGNATURE

As reported upstream

No identifying execution failure has been captured.
Not a benchmark task.
  • In a clean container the reported failure did not reproduce, or the known fix did not make the project run.

02 / ENVIRONMENT RECIPE

Base commit
a11f54e5ccc948363481458b7cbbc31da06fad48
Manifest
mooncake-common/etcd/CMakeLists.txt
Reproduce
Awaiting issue-specific recipe
Run under trace
Awaiting a meaningful runtime command

03 / ORIGINAL ISSUE TEXT

kvcache-ai/Mooncake #3752 · read the original issue
## Bug Report

### Description

The Go etcd wrapper currently has no unit-test execution path in Mooncake's
build or CI configuration.

`mooncake-common/etcd/CMakeLists.txt` only builds the shared library with:

```bash
go build -buildmode=c-shared -o ... etcd_wrapper.go
```

This does not compile or execute `*_test.go` files. Existing workflows also do
not run `go test` in `mooncake-common/etcd`; the Store Go integration tests run
in a different Go module.

Consequently, Go unit tests added for the etcd wrapper can silently remain
unexecuted while the normal build and CTest jobs pass.

### Steps to reproduce

1. Add a deliberately failing test under
   `mooncake-common/etcd/*_test.go`.
2. Run the normal `STORE_USE_ETCD=ON` build and CTest workflow.
3. Observe that the build and tests pass without executing the failing Go test.

### Expected behavior

Mooncake CI should run the etcd wrapper's Go unit tests and fail when one of
them fails to compile or execute.

A direct command would be:

```bash
cd mooncake-common/etcd
go test ./...
```

This could be integrated into CTest or added as a dedicated CI step.

### Acceptance criteria

- CI executes the etcd wrapper's Go unit tests.
- A failing `*_test.go` causes the CI job to fail.
- The test command can also be run locally and is documented or exposed through
  the existing build/test tooling.
- If #2643 changes the wrapper location to
  `mooncake-common/ha-wrapper`, equivalent test coverage is retained there.

### Related work

PR #2643 proposes moving the etcd wrapper into a unified Go HA wrapper. It is
related because the proposed CMake configuration also builds the Go shared
library without running its unit tests, but it does not currently address this
test coverage gap.

### Before submitting

- [x] Searched existing issues and open PRs for equivalent Go/etcd wrapper test
      coverage work.
Continue on GitHub ↗

04 / LABELS

Labels from the report text only; not yet run

No supported category has been assigned.

Label rules and the text that matched
[]