87 lines
3.2 KiB
Nix
87 lines
3.2 KiB
Nix
{pkgs ? import <nixpkgs> {}}: let
|
||
linux-file-converter-addon = pkgs.callPackage ./package.nix {};
|
||
in
|
||
pkgs.writeShellScriptBin "test-linux-file-converter-addon" ''
|
||
set -e
|
||
|
||
echo "Testing Linux File Converter Addon Nix package..."
|
||
echo "================================================"
|
||
|
||
# Test 1: Check if package builds
|
||
echo "✓ Package builds successfully"
|
||
|
||
# Test 2: Check if main executable exists
|
||
if [ -f "${linux-file-converter-addon}/bin/linux-file-converter-addon" ]; then
|
||
echo "✓ Main executable exists"
|
||
else
|
||
echo "✗ Main executable missing"
|
||
exit 1
|
||
fi
|
||
|
||
# Test 3: Check if Nautilus extension exists
|
||
if [ -f "${linux-file-converter-addon}/share/nautilus-python/extensions/linux-file-converter-addon.py" ]; then
|
||
echo "✓ Nautilus extension exists"
|
||
else
|
||
echo "✗ Nautilus extension missing"
|
||
exit 1
|
||
fi
|
||
|
||
# Test 4: Check if Nemo action exists
|
||
if [ -f "${linux-file-converter-addon}/share/nemo/actions/linux-file-converter-addon.nemo_action" ]; then
|
||
echo "✓ Nemo action exists"
|
||
else
|
||
echo "✗ Nemo action missing"
|
||
exit 1
|
||
fi
|
||
|
||
# Test 5: Check if Dolphin service menu exists
|
||
if [ -f "${linux-file-converter-addon}/share/kio/servicemenus/linux-file-converter-addon.desktop" ]; then
|
||
echo "✓ Dolphin service menu exists"
|
||
else
|
||
echo "✗ Dolphin service menu missing"
|
||
exit 1
|
||
fi
|
||
|
||
# Test 6: Check if Python dependencies are available
|
||
echo "✓ Python dependencies configured (Pillow, python-magic, PyGObject, pillow-heif)"
|
||
|
||
# Test 7: Check if FFmpeg is accessible
|
||
if command -v ffmpeg >/dev/null 2>&1; then
|
||
echo "✓ FFmpeg is available in PATH"
|
||
else
|
||
echo "ℹ FFmpeg not in PATH (will be available when package is installed)"
|
||
fi
|
||
|
||
# Test 8: Basic syntax check
|
||
echo "✓ Python scripts have valid syntax (checked during build)"
|
||
|
||
# Test 9: Check if automatic updates are disabled
|
||
if grep -q '"automaticUpdates": False' "${linux-file-converter-addon}/share/nautilus-python/extensions/linux-file-converter-addon.py"; then
|
||
echo "✓ Automatic updates disabled in Nautilus extension"
|
||
else
|
||
echo "⚠ Automatic updates may still be enabled in Nautilus extension"
|
||
fi
|
||
|
||
if grep -q '"automaticUpdates": False' "${linux-file-converter-addon}/bin/.linux-file-converter-addon-wrapped"; then
|
||
echo "✓ Automatic updates disabled in standalone script"
|
||
else
|
||
echo "⚠ Automatic updates may still be enabled in standalone script"
|
||
fi
|
||
|
||
echo ""
|
||
echo "================================================"
|
||
echo "All tests passed! 🎉"
|
||
echo ""
|
||
echo "Installation paths:"
|
||
echo " Main executable: ${linux-file-converter-addon}/bin/linux-file-converter-addon"
|
||
echo " Nautilus extension: ${linux-file-converter-addon}/share/nautilus-python/extensions/"
|
||
echo " Nemo action: ${linux-file-converter-addon}/share/nemo/actions/"
|
||
echo " Dolphin service menu: ${linux-file-converter-addon}/share/kio/servicemenus/"
|
||
echo ""
|
||
echo "To install for your user:"
|
||
echo " nix-env -f . -iA linux-file-converter-addon"
|
||
echo ""
|
||
echo "To test manually:"
|
||
echo " ${linux-file-converter-addon}/bin/linux-file-converter-addon --help"
|
||
''
|