55 lines
1.4 KiB
Bash
55 lines
1.4 KiB
Bash
#!/usr/bin/env bash
|
|
# Запуск тестов только в Linux (WSL dev): asdf OTP 28 + rebar 3.27.
|
|
set -euo pipefail
|
|
|
|
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
|
|
PROJ="$(cd "${SCRIPT_DIR}/.." && pwd)"
|
|
|
|
# shellcheck source=scripts/wsl-dev-env.sh
|
|
source "${SCRIPT_DIR}/wsl-dev-env.sh"
|
|
|
|
cd "${PROJ}"
|
|
bash "${SCRIPT_DIR}/wsl-ext4-dirs.sh" 2>/dev/null || true
|
|
bash "${SCRIPT_DIR}/fix-rebar-unit-symlink.sh"
|
|
|
|
echo "=== env ==="
|
|
erl -noshell -eval 'io:format("OTP ~s~n", [erlang:system_info(otp_release)]), halt().'
|
|
rebar3 --version
|
|
echo "rebar3: $(command -v rebar3)"
|
|
echo "erl: $(command -v erl)"
|
|
|
|
echo "=== compile ==="
|
|
rebar3 compile
|
|
|
|
bash "${SCRIPT_DIR}/fix-rebar-unit-symlink.sh"
|
|
|
|
echo "=== eunit: admin_utils_tests ==="
|
|
rebar3 eunit --module=admin_utils_tests --verbose
|
|
|
|
echo "=== eunit: logic_ticket_tests ==="
|
|
rebar3 eunit --module=logic_ticket_tests --verbose
|
|
|
|
bash "${SCRIPT_DIR}/fix-rebar-unit-symlink.sh"
|
|
|
|
port_busy() {
|
|
ss -tln 2>/dev/null | grep -q ":$1 "
|
|
}
|
|
|
|
run_ct() {
|
|
local case_name="$1"
|
|
echo "=== ct: ${case_name} ==="
|
|
rebar3 ct --suite=api_admins_SUITE --case="${case_name}" --verbose
|
|
}
|
|
|
|
if port_busy 8080 || port_busy 8445; then
|
|
echo "=== ct: SKIP (порты 8080/8445 заняты — остановите eventhub и повторите) ==="
|
|
ss -tln 2>/dev/null | grep -E ':8080|:8445' || true
|
|
exit 0
|
|
fi
|
|
|
|
run_ct admin_test_stats
|
|
bash "${SCRIPT_DIR}/fix-rebar-unit-symlink.sh"
|
|
run_ct admin_test_audit
|
|
|
|
echo "=== ALL PASSED ==="
|