4paradigm / 4paradigm/OpenMLDB

feat(tools): refactor the use of `steps/ut.sh`

Open
#984 0 comments 0 reactions 1 assignee Claimed by @aceforeverd View on GitHub
enhancement
Dominant language
C++
Stars
1.7k
Forks
331
Avg merge
12d 12h
Merged PRs (30d)
1

Description

**Is your feature request related to a problem? Please describe.**

#940

**Describe the solution you'd like**

The `steps/ut.sh` was used to run both unit test and integration test, it also start zookeeper at beginning and stop in the end.
But script is not stable and, not play well with coverage task, the cpp coverage test only pick tests that were added by `add_test` in CMakeLists.txt.

So the solution might be:
- [x] add unit tests with `add_test` in CMakeLists.txt, so they will be picked up directly by `make test`
- [ ] `steps/ut.sh` will use to run integration test only, and will setup zookeeper if not available. rename the script name
- [ ] unite start/stop zookeeper in one place, do not maintain different zookeeper up/down in different place. It might resolved in a standalone issue

Contributor guide

Open the contributing guide

Research direction

Look at the `steps/ut.sh` script and the CMakeLists.txt files to understand the current test structure. The goal is to separate unit tests (added via `add_test`) from integration tests. Check how zookeeper is started/stopped in different places and plan to consolidate it. Run `make test` to see which tests are currently picked up.

Written by the indexing model from the issue text.

Assessment

Tech stack
cmake, cpp, shell
Domain
build-system, testing-qa, tooling
Issue type
Refactor
Difficulty
3/5
Estimated time
1-2 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
45/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.