From 16203ba32b9f5d3abf170a8e65801804823485e4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=90=D0=BB=D0=B5=D0=BA=D1=81=D0=B5=D0=B9=20=D0=A1=D0=B0?= =?UTF-8?q?=D0=B1=D0=B8=D0=BB=D0=B8=D0=BD?= Date: Tue, 7 Jul 2026 16:44:18 +0300 Subject: [PATCH] Add WSL scripts for ext4 Mnesia and rebar3 CT fix --- .gitignore | 1 + Makefile | 7 +++++++ scripts/fix-rebar-unit-symlink.sh | 17 +++++++++++++++++ scripts/wsl-ext4-dirs.sh | 21 +++++++++++++++++++++ 4 files changed, 46 insertions(+) create mode 100644 scripts/fix-rebar-unit-symlink.sh create mode 100644 scripts/wsl-ext4-dirs.sh diff --git a/.gitignore b/.gitignore index e60fc5d..373597d 100644 --- a/.gitignore +++ b/.gitignore @@ -16,6 +16,7 @@ log erl_crash.dump .rebar logs +data .idea *.iml rebar3.crashdump diff --git a/Makefile b/Makefile index 233a542..8ea139a 100644 --- a/Makefile +++ b/Makefile @@ -101,8 +101,15 @@ eunit-verbose: ## Запустить EUnit тесты с подробным вы test-api: ## Запустить Common Test для API @echo "Cleaning old data..." @rm -rf logs/test/ct/ct_run.* + @bash scripts/fix-rebar-unit-symlink.sh @$(REBAR3) ct --sname $(SNAME)_api_test #-v +wsl-ext4-dirs: ## WSL: ??????? logs/data ?? ext4 (????????) + @bash scripts/wsl-ext4-dirs.sh + +fix-rebar-test-dirs: ## WSL: ???????? ????? symlink unit/api ? _build + @bash scripts/fix-rebar-unit-symlink.sh + test-api-remote: @CT_MODE=remote API_HOST=http://localhost:8080 WS_HOST=ws://localhost:8081 ADMIN_API_HOST=http://localhost:8445 ADMIN_WS_HOST=ws://localhost:8446 rebar3 ct diff --git a/scripts/fix-rebar-unit-symlink.sh b/scripts/fix-rebar-unit-symlink.sh new file mode 100644 index 0000000..aa3a95b --- /dev/null +++ b/scripts/fix-rebar-unit-symlink.sh @@ -0,0 +1,17 @@ +#!/usr/bin/env bash +set -euo pipefail + +# Rebar3 на WSL+Windows иногда оставляет symlink вместо каталога. +TEST_DIR="/home/alexc/eventhub-wsl-data/_build/test/lib/eventhub/test" + +mkdir -p "${TEST_DIR}" + +for name in unit api; do + target="${TEST_DIR}/${name}" + if [ -L "${target}" ] || [ -f "${target}" ]; then + rm -f "${target}" + fi + mkdir -p "${target}" + echo "Fixed: ${target}" + ls -ld "${target}" +done diff --git a/scripts/wsl-ext4-dirs.sh b/scripts/wsl-ext4-dirs.sh new file mode 100644 index 0000000..117d0a3 --- /dev/null +++ b/scripts/wsl-ext4-dirs.sh @@ -0,0 +1,21 @@ +#!/usr/bin/env bash +set -euo pipefail + +PROJ="/mnt/c/Users/alexc/IdeaProjects/eventHub/EventHubBack" +DATA="${HOME}/eventhub-wsl-data" + +mkdir -p "${DATA}/logs" "${DATA}/data" + +for d in logs data; do + target="${PROJ}/${d}" + if [ -L "${target}" ]; then + rm "${target}" + elif [ -d "${target}" ] && [ ! -L "${target}" ]; then + ts=$(date +%s) + mv "${target}" "${DATA}/${d}.bak.${ts}" || true + fi + ln -sfn "${DATA}/${d}" "${target}" +done + +ls -la "${PROJ}/logs" "${PROJ}/data" +df -T "${DATA}" | tail -1