@@ -33,12 +33,39 @@ trap 'rm -rf "$extract"' EXIT
3333for path in AppRun usr/bin/bootable usr/bin/bootable-desktop usr/bin/bootable-helper; do
3434 test -x " $extract /squashfs-root/$path "
3535done
36+ test -f " $extract /squashfs-root/AppRun"
37+ test ! -L " $extract /squashfs-root/AppRun"
38+ test ! " $extract /squashfs-root/AppRun" -ef " $extract /squashfs-root/usr/bin/bootable-desktop"
39+ test " $( od -An -N4 -t x1 " $extract /squashfs-root/usr/bin/bootable-desktop" | tr -d ' \n' ) " = " 7f454c46"
3640test " $( " $extract /squashfs-root/usr/bin/bootable" --version) " = " bootable $version "
41+ test " $( " $appimage " --tui --version) " = " bootable $version "
42+
43+ smoke=" $extract /gui-smoke"
44+ install -d " $smoke /home" " $smoke /config" " $smoke /cache" " $smoke /data" " $smoke /state"
45+ install -d -m 0700 " $smoke /runtime"
46+ set +e
47+ env \
48+ HOME=" $smoke /home" \
49+ XDG_CONFIG_HOME=" $smoke /config" \
50+ XDG_CACHE_HOME=" $smoke /cache" \
51+ XDG_DATA_HOME=" $smoke /data" \
52+ XDG_STATE_HOME=" $smoke /state" \
53+ XDG_RUNTIME_DIR=" $smoke /runtime" \
54+ timeout --signal=TERM 5s xvfb-run -a " $extract /squashfs-root/AppRun" \
55+ > " $smoke /bootable.log" 2>&1
56+ status=$?
57+ set -e
58+ if [ " $status " -ne 124 ]; then
59+ cat " $smoke /bootable.log"
60+ echo " AppImage GUI exited before the five-second smoke window (status $status )" >&2
61+ exit 1
62+ fi
3763
3864mkdir " $extract /archive"
3965tar -xzf " $archive " -C " $extract /archive"
4066for executable in bootable bootable-desktop bootable-helper install.sh; do
4167 test -x " $extract /archive/$executable "
4268done
69+ test " $( od -An -N4 -t x1 " $extract /archive/bootable-desktop" | tr -d ' \n' ) " = " 7f454c46"
4370test " $( " $extract /archive/bootable" --version) " = " bootable $version "
4471" $extract /archive/bootable" --help > /dev/null
0 commit comments