[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.
04 / LABELS
Labels from the report text only; not yet run
No supported category has been assigned.
Label rules and the text that matched
[]