Files
lfca/test.nix
2025-10-26 03:11:00 +05:30

87 lines
3.2 KiB
Nix
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
{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"
''