# Scripts RBS CLI thống nhất: `./scripts/lm.sh ` ## Cấu trúc ``` scripts/ ├── lm.sh # entry point ├── lib/ │ ├── common.sh # LM_ROOT, wait_for_health, free_port │ ├── docker.sh # docker_cmd, require_container │ └── bench.sh # bench_http_suite ├── test/ │ ├── run.sh # GTest + smoke + pytest (server tạm :18080) │ └── smoke.sh # API smoke (curl) ├── docker/ │ ├── up.sh down.sh stats.sh htop.sh shell.sh │ ├── bench.sh # stats + HTTP latency trong container │ └── test.sh # up + smoke + pytest trên :8080 └── bench/ └── http.sh # đo latency (local hoặc URL tùy chọn) ``` ## Lệnh thường dùng | Mục đích | Lệnh | |----------|------| | Test đầy đủ (local) | `./scripts/lm.sh test run` | | API smoke | `./scripts/lm.sh test smoke [url]` | | Docker up | `./scripts/lm.sh docker up` | | Test trên container | `./scripts/lm.sh docker test` | | Benchmark HTTP | `./scripts/lm.sh bench http [url]` | ## Biến môi trường | Biến | Mặc định | Ý nghĩa | |------|----------|---------| | `LM_URL` | `http://127.0.0.1:8080` | URL container | | `LM_TEST_PORT` | `18080` | Port server tạm khi `test run` | | `LM_CONTAINER` | `lidar-manager-limited` | Tên container | | `TEST_BASE_URL` | — | Base URL cho pytest | | `BENCH_REQUESTS` | `100` | Số request mỗi endpoint benchmark |