@@ -89,31 +89,35 @@ docker run --rm \
8989# test appimagetool-"$ARCH".AppImage
9090# note: if we're in a CI system, we allow the use of FUSE in the container, to make sure that this functionality works as intended
9191# outside CI environments, we use APPIMAGE_EXTRACT_AND_RUN instead, which is safer, but gives less meaningful results
92- docker_test_opts=(" ${common_docker_opts[@]} " )
93-
94- if [[ " $CI " != " " ]]; then
95- echo " Warning: assuming this is running in a CI environment, allowing the use of FUSE in the container"
96- docker_test_opts+=(
97- " --device" " /dev/fuse:mrw"
98- " --cap-add" " SYS_ADMIN"
99- " --security-opt" " apparmor:unconfined"
100- )
101- else
102- echo " Note: this is not a CI environment, using APPIMAGE_EXTRACT_AND_RUN and patching out magic bytes"
103- docker_test_opts+=(
104- " -e" " APPIMAGE_EXTRACT_AND_RUN=1"
105- " -e" " PATCH_OUT_MAGIC_BYTES=1"
106- )
92+ # note: FUSE and QEMU don't like each other, so if we're running in emulated mode, we can't run these tests
93+ # therefore, by default, on ARM, these tests are not run
94+ if [[ " $ARCH " == " arm" * ]] || [[ " $ARCH " == " aarch" * ]]; then
95+ docker_test_opts=(" ${common_docker_opts[@]} " )
96+
97+ if [[ " $CI " != " " ]]; then
98+ echo " Warning: assuming this is running in a CI environment, allowing the use of FUSE in the container"
99+ docker_test_opts+=(
100+ " --device" " /dev/fuse:mrw"
101+ " --cap-add" " SYS_ADMIN"
102+ " --security-opt" " apparmor:unconfined"
103+ )
104+ else
105+ echo " Note: this is not a CI environment, using APPIMAGE_EXTRACT_AND_RUN and patching out magic bytes"
106+ docker_test_opts+=(
107+ " -e" " APPIMAGE_EXTRACT_AND_RUN=1"
108+ " -e" " PATCH_OUT_MAGIC_BYTES=1"
109+ )
110+ fi
111+
112+ # to make fuse happy, we need to use a "real" user
113+ # as we don't want to use root, we use the user "build" we created in AppImageBuild
114+ docker run --rm \
115+ --user build \
116+ " ${docker_test_opts[@]} " \
117+ " $docker_image " \
118+ /bin/bash -xc " cd /out && bash /ws/ci/test-appimage.sh ./appimagetool-\" $ARCH \" .AppImage"
107119fi
108120
109- # to make fuse happy, we need to use a "real" user
110- # as we don't want to use root, we use the user "build" we created in AppImageBuild
111- docker run --rm \
112- --user build \
113- " ${docker_test_opts[@]} " \
114- " $docker_image " \
115- /bin/bash -xc " cd /out && bash /ws/ci/test-appimage.sh ./appimagetool-\" $ARCH \" .AppImage"
116-
117121# remove binaries from output directory
118122ls -al out/
119123rm out/appimagetool
0 commit comments