others/script/smoke/README.md
This directory contains the shell-based smoke test framework for the current repository.
run.sh: suite entrypointlib/common.sh: shared shell helperssuites/config_repo.sh: generic suite implementation for the current config repositorycases/rime_ice/input_cases.tsv: data-driven input casesrime_deployer and rime_api_console from PATH when availableRIME_CLI_URL is setrime_deployer --buildrime_api_consoleRIME_CLI_URL: optional public CLI bundle URLRIME_CONFIG_ROOT: optional repository root overrideSMOKE_ALLOW_DESTRUCTIVE=1: required for local runs because the smoke suite removes ${RIME_CONFIG_ROOT:-repo}/build and ${RIME_CONFIG_ROOT:-repo}/*.userdbThe smoke suite removes the following paths under RIME_CONFIG_ROOT before deployment:
build/*.userdb/This cleanup is allowed automatically in CI. Local runs must opt in explicitly:
SMOKE_ALLOW_DESTRUCTIVE=1 ./others/script/smoke/run.sh
Add more rows to cases/rime_ice/input_cases.tsv.
The current tab-separated case format is:
case_idschema_idkey_sequenceexpected_textexpected_text also supports:
@today:<date format>, for example @today:%Y-%m-%d@regex:<pattern>, matched against the normalized stdout logrime_api_console is used as the default runner because it is more reliable than rime_console for smoke tests that reuse an already deployed workspace.