installer: tolerate missing duration on finish
This commit is contained in:
2 files changed
+24
-2
No files matched your search
@@ -75,6 +75,19 @@ LOG
|
|||||||
EOF
|
EOF
|
||||||
chmod +x "$success_worker"
|
chmod +x "$success_worker"
|
||||||
|
|
||||||
|
no_duration_worker="$tmp/no-duration-worker"
|
||||||
|
cat >"$no_duration_worker" <<EOF
|
||||||
|
#!/usr/bin/env bash
|
||||||
|
set -euo pipefail
|
||||||
|
state="\$1"
|
||||||
|
mkdir -p "\$(dirname "\$state")"
|
||||||
|
python - "\$state" "Validating boot setup" <<'PY'
|
||||||
|
$write_state_py
|
||||||
|
PY
|
||||||
|
sleep 0.2
|
||||||
|
EOF
|
||||||
|
chmod +x "$no_duration_worker"
|
||||||
|
|
||||||
fail_worker="$tmp/fail-worker"
|
fail_worker="$tmp/fail-worker"
|
||||||
cat >"$fail_worker" <<EOF
|
cat >"$fail_worker" <<EOF
|
||||||
#!/usr/bin/env bash
|
#!/usr/bin/env bash
|
||||||
@@ -98,6 +111,14 @@ OMARCHY_UI_AUTO_REBOOT=no OMARCHY_PATH="$OMARCHY_PATH_FOR_TEST" script -qfec \
|
|||||||
assert_contains "$success_capture" "Installing Omarchy"
|
assert_contains "$success_capture" "Installing Omarchy"
|
||||||
assert_contains "$success_capture" "Installed in 1m 40s"
|
assert_contains "$success_capture" "Installed in 1m 40s"
|
||||||
|
|
||||||
|
no_duration_state="$tmp/no-duration-state.json"
|
||||||
|
no_duration_log="$tmp/no-duration.log"
|
||||||
|
no_duration_capture="$tmp/no-duration.capture"
|
||||||
|
OMARCHY_UI_AUTO_REBOOT=no OMARCHY_PATH="$OMARCHY_PATH_FOR_TEST" script -qfec \
|
||||||
|
"$DASHBOARD '$no_duration_log' '$no_duration_state' -- '$no_duration_worker' '$no_duration_state'" \
|
||||||
|
"$no_duration_capture" >/dev/null
|
||||||
|
assert_contains "$no_duration_capture" "Finished installing"
|
||||||
|
|
||||||
fail_state="$tmp/fail-state.json"
|
fail_state="$tmp/fail-state.json"
|
||||||
fail_log="$tmp/fail.log"
|
fail_log="$tmp/fail.log"
|
||||||
fail_capture="$tmp/fail.capture"
|
fail_capture="$tmp/fail.capture"
|
||||||
|
|||||||
@@ -267,9 +267,10 @@ install_duration() {
|
|||||||
[[ -n $line ]] || continue
|
[[ -n $line ]] || continue
|
||||||
duration="${line#*:}"
|
duration="${line#*:}"
|
||||||
duration="${duration#${duration%%[![:space:]]*}}"
|
duration="${duration#${duration%%[![:space:]]*}}"
|
||||||
[[ -n $duration ]] && { printf '%s' "$duration"; return; }
|
[[ -n $duration ]] && { printf '%s' "$duration"; return 0; }
|
||||||
done
|
done
|
||||||
done
|
done
|
||||||
|
return 0
|
||||||
}
|
}
|
||||||
|
|
||||||
render_finish() {
|
render_finish() {
|
||||||
@@ -281,7 +282,7 @@ render_finish() {
|
|||||||
else
|
else
|
||||||
render_logo >"$TTY_PATH"
|
render_logo >"$TTY_PATH"
|
||||||
fi
|
fi
|
||||||
duration="$(install_duration)"
|
duration="$(install_duration || true)"
|
||||||
message="Finished installing"
|
message="Finished installing"
|
||||||
[[ -n $duration ]] && message="Installed in $duration"
|
[[ -n $duration ]] && message="Installed in $duration"
|
||||||
{
|
{
|
||||||
|
|||||||
Reference in new issue
Block a user