Browse Source

Verify direct deployment after a failed Qt deployment tool

master
evgeny 6 days ago
parent
commit
714370a1a2
  1. 7
      tools/chatgui/build.sh
  2. 10
      tools/chatgui/tests/test_runtime_deploy.sh

7
tools/chatgui/build.sh

@ -97,12 +97,11 @@ done
done
if [ -x "$WINDEPLOYQT" ]; then
log " Running $WINDEPLOYQT..."
"$WINDEPLOYQT" --no-translations --no-compiler-runtime "$BUILD_DIR/vibechat.exe" 2>&1 | tee -a "$LOG_FILE"
RC=${PIPESTATUS[0]}
if [ $RC -eq 0 ]; then
if "$WINDEPLOYQT" --no-translations --no-compiler-runtime "$BUILD_DIR/vibechat.exe" 2>&1 | tee -a "$LOG_FILE"; then
log " OK: windeployqt completed"
else
log " WARN: windeployqt failed (exit $RC)"
RC=${PIPESTATUS[0]}
log " WARN: windeployqt failed (exit $RC); verifying direct DLL deployment"
fi
else
log " WARN: matching $QT_PACKAGE windeployqt not found; copying dependencies directly"

10
tools/chatgui/tests/test_runtime_deploy.sh

@ -68,6 +68,16 @@ rm "$case_dir/build/libpng.dll" "$case_dir/build/plugin-helper.dll"
run_case 6; assert_file "$case_dir/build/libpng.dll"; assert_file "$case_dir/build/plugin-helper.dll"
echo 'PASS: Qt6, Windows system DLLs, matching platform/JPEG plugins and repeated dependency checks'
# Сбой подходящего инструмента не должен обходить обязательную проверку ручного комплекта.
cat > "$prefix/bin/windeployqt6.exe" <<'SH'
#!/bin/bash
if [ "$1" = --version ]; then echo 'windeployqt 6.10.0'; else exit 12; fi
SH
chmod +x "$prefix/bin/windeployqt6.exe"
run_case 6
rg -q 'windeployqt failed \(exit 12\)' "$case_dir/output.log"
echo 'PASS: failed matching deploy tool falls back to verified direct deployment'
# Нет подходящего deploy tool: копирование DLL/плагинов всё равно должно работать.
rm "$prefix/bin/windeployqt6.exe"
cat > "$prefix/bin/windeployqt.exe" <<'SH'

Loading…
Cancel
Save