diff --git a/diylc/diylc-swing/deploy/linux/test-appimage.sh b/diylc/diylc-swing/deploy/linux/test-appimage.sh new file mode 100755 index 00000000..b8de95c5 --- /dev/null +++ b/diylc/diylc-swing/deploy/linux/test-appimage.sh @@ -0,0 +1,72 @@ +#!/bin/bash + +# Build the AppImage +echo "Building AppImage..." +cd ../.. +#mvn clean package -P linux-appimage + +# Check if build was successful +if [ $? -ne 0 ]; then + echo "Build failed!" + exit 1 +fi + +# Get the AppImage path +APPIMAGE="target/DIYLayoutCreator-5.1.0-x86_64.AppImage" +ZIP_FILE="target/diylc-5.1.0-linux.zip" + +# Check if files exist +if [ ! -f "$APPIMAGE" ]; then + echo "AppImage not found at $APPIMAGE" + exit 1 +fi + +if [ ! -f "$ZIP_FILE" ]; then + echo "Zip file not found at $ZIP_FILE" + exit 1 +fi + +# Create test directory +TEST_DIR="target/appimage-test" +rm -rf "$TEST_DIR" +mkdir -p "$TEST_DIR" + +# Copy files to test directory +echo "Copying files to test directory..." +cp "$APPIMAGE" "$TEST_DIR/" +cp "$ZIP_FILE" "$TEST_DIR/" + +# Extract zip file +echo "Extracting zip file..." +cd "$TEST_DIR" +unzip "diylc-5.1.0-linux.zip" + +# Make AppImage executable +chmod +x "DIYLayoutCreator-5.1.0-x86_64.AppImage" + +# Test AppImage structure +echo "Testing AppImage structure..." +if [ -f "DIYLayoutCreator-5.1.0-x86_64.AppImage" ]; then + echo "AppImage file exists and is executable" + echo "AppImage size: $(ls -lh DIYLayoutCreator-5.1.0-x86_64.AppImage | awk '{print $5}')" + echo "AppImage permissions: $(ls -l DIYLayoutCreator-5.1.0-x86_64.AppImage | awk '{print $1}')" + + # Check if AppImage has the correct magic number + if file "DIYLayoutCreator-5.1.0-x86_64.AppImage" | grep -q "ELF 64-bit LSB executable"; then + echo "AppImage has correct ELF format" + else + echo "Warning: AppImage might not have correct ELF format" + fi + + # Check if AppImage has the correct AppImage magic bytes + if dd if="DIYLayoutCreator-5.1.0-x86_64.AppImage" bs=8 count=1 2>/dev/null | grep -q "AI"; then + echo "AppImage has correct AppImage magic bytes" + else + echo "Warning: AppImage might not have correct AppImage magic bytes" + fi + + echo "AppImage structure test completed successfully!" +else + echo "AppImage file not found in test directory!" + exit 1 +fi \ No newline at end of file