feat(updates): 1.3.10 - Автоматическое обновление компонентов (сразу при выходе и по расписанию)
- Backend: реализован запуск автоматического обновления компонентов в фоновом режиме (trigger_component_auto_update, component_auto_update_apply) - Cron: поддержка окна обслуживания (schedule mode) с регистрацией задачи в crontab по заданному времени (HH:MM) - UCI: новые опции component_auto_update_enabled, component_auto_update_mode, component_auto_update_time, component_auto_update_targets - Web UI: элементы управления во вкладке настроек «Обновления» (чекбокс включения, переключатель режима, время и мультиселект разрешенных компонентов) - Тесты: добавлен интеграционный тест component_auto_update.sh, обновлены cron-тесты updates_due.sh, все 118 тестов успешно пройдены в Docker - Локализация: добавлены русские переводы для всех новых элементов интерфейса
This commit is contained in:
+18
-5
@@ -50,14 +50,16 @@ fi
|
||||
|
||||
echo "=== Running ${#test_files[@]} Tests (-P $PARALLEL) ==="
|
||||
|
||||
results_dir="$(mktemp -d)"
|
||||
results_dir="$(mktemp -d /tmp/tachyon-run-all-XXXXXX 2>/dev/null || mktemp -d)"
|
||||
cleanup() { rm -rf "$results_dir"; }
|
||||
trap cleanup EXIT
|
||||
|
||||
run_one() {
|
||||
f="$1"
|
||||
log="$2"
|
||||
local f="$1"
|
||||
local results_dir="$2"
|
||||
local name
|
||||
name="$(basename "$f")"
|
||||
local log="$results_dir/${name%.sh}.log"
|
||||
echo "--- START $name ---"
|
||||
if bash "$f" >"$log" 2>&1; then
|
||||
echo "--- PASS $name ---"
|
||||
@@ -65,9 +67,20 @@ run_one() {
|
||||
echo "--- FAIL $name ---"
|
||||
fi
|
||||
}
|
||||
export -f run_one
|
||||
|
||||
printf '%s\0' "${test_files[@]}" | xargs -0 -n1 -I'{}' bash -c 'run_one "$1" "$2/$(basename "${1%.sh}").log"' _ '{}' "$results_dir" | tee "$results_dir/progress.log"
|
||||
progress_log="$results_dir/progress.log"
|
||||
touch "$progress_log"
|
||||
|
||||
running=0
|
||||
for f in "${test_files[@]}"; do
|
||||
( run_one "$f" "$results_dir" | tee -a "$progress_log" ) &
|
||||
running=$((running + 1))
|
||||
if [ "$running" -ge "$PARALLEL" ]; then
|
||||
wait -n 2>/dev/null || wait
|
||||
running=$((running - 1))
|
||||
fi
|
||||
done
|
||||
wait
|
||||
|
||||
pass_count=0
|
||||
fail_count=0
|
||||
|
||||
Reference in New Issue
Block a user