sanjuuni: add run-on-nixos-artwork test

Tests the program by running it on a handful of entries from the
`nixos-artwork` attrset, and then test that the resulting Lua files can
be evaluated with `loadfile` in standard Lua.
This commit is contained in:
Tomo 2024-05-25 14:32:31 -07:00 committed by Tomodachi94
parent ff70d06359
commit d8008dee9f
No known key found for this signature in database
GPG Key ID: 2E275F21C4D554A3
2 changed files with 39 additions and 0 deletions

View File

@ -8,6 +8,7 @@
poco,
ocl-icd,
opencl-clhpp,
callPackage,
}:
stdenv.mkDerivation rec {
@ -38,6 +39,10 @@ stdenv.mkDerivation rec {
runHook postInstall
'';
passthru.tests = {
run-on-nixos-artwork = callPackage ./tests/run-on-nixos-artwork.nix { };
};
meta = with lib; {
homepage = "https://github.com/MCJack123/sanjuuni";
description = "Command-line tool that converts images and videos into a format that can be displayed in ComputerCraft";

View File

@ -0,0 +1,34 @@
{
runCommand,
sanjuuni,
nixos-artwork,
lua5_2,
}:
let
makeCommand = derivation: baseFilename: ''
echo "sanjuuni-test-run-on-nixos-artwork: Running Sanjuuni on ${derivation}/share/backgrounds/nixos/${baseFilename}.png"
sanjuuni --lua --disable-opencl \
--input ${derivation}/share/backgrounds/nixos/${baseFilename}.png \
--output $out/${baseFilename}.lua
echo "sanjuuni-test-run-on-nixos-artwork: Checking syntax on $out/${baseFilename}.lua"
lua -e "loadfile(\"$out/${baseFilename}.lua\")"
'';
in
runCommand "sanjuuni-test-run-on-nixos-artwork"
{
nativeBuildInputs = [
sanjuuni
lua5_2
nixos-artwork.wallpapers.simple-blue
nixos-artwork.wallpapers.simple-red
nixos-artwork.wallpapers.simple-dark-gray
nixos-artwork.wallpapers.stripes
];
}
''
mkdir -p $out
${makeCommand nixos-artwork.wallpapers.simple-blue "nix-wallpaper-simple-blue"}
${makeCommand nixos-artwork.wallpapers.simple-red "nix-wallpaper-simple-red"}
${makeCommand nixos-artwork.wallpapers.simple-dark-gray "nix-wallpaper-simple-dark-gray"}
${makeCommand nixos-artwork.wallpapers.stripes "nix-wallpaper-stripes"}
''