feat: Initial commit
This commit is contained in:
86
test.nix
Normal file
86
test.nix
Normal file
@@ -0,0 +1,86 @@
|
||||
{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"
|
||||
''
|
||||
Reference in New Issue
Block a user