diff --git a/tests/Makefile.am.inc b/tests/Makefile.am.inc index 83538444..00ea4a8d 100644 --- a/tests/Makefile.am.inc +++ b/tests/Makefile.am.inc @@ -20,10 +20,12 @@ dist_installed_test_extra_scripts += \ dist_installed_test_data = \ tests/libtest.sh \ tests/org.test.Hello.png \ + tests/org.test.Hello.desktop \ tests/source1.json \ tests/source2.json \ tests/test.json \ tests/test.yaml \ + tests/test-rename.json \ tests/test-runtime.json \ tests/module1.json \ tests/module1.yaml \ diff --git a/tests/meson.build b/tests/meson.build index 01af083b..b82a64ea 100644 --- a/tests/meson.build +++ b/tests/meson.build @@ -88,11 +88,13 @@ if get_option('installed_tests') 'org.test.Deprecated.SHA1.file.json', 'org.test.Deprecated.SHA1.file.yaml', 'org.test.Hello.png', + 'org.test.Hello.desktop', 'org.test.Python.json', 'org.test.Python2.json', 'session.conf.in', 'source1.json', 'source2.json', + 'test-rename.json', 'test-runtime.json', 'test.json', 'test.yaml', diff --git a/tests/org.test.Hello.desktop b/tests/org.test.Hello.desktop new file mode 100644 index 00000000..7a2a6046 --- /dev/null +++ b/tests/org.test.Hello.desktop @@ -0,0 +1,7 @@ +[Desktop Entry] +Version=1.0 +Type=Application +Name=Hello +Exec=hello2.sh +Icon=org.test.Hello +MimeType=x-test/Hello; diff --git a/tests/test-builder.sh b/tests/test-builder.sh index a33de93a..2c9199f8 100755 --- a/tests/test-builder.sh +++ b/tests/test-builder.sh @@ -23,7 +23,7 @@ set -euo pipefail skip_without_fuse -echo "1..5" +echo "1..6" setup_repo install_repo @@ -36,10 +36,12 @@ cd $TEST_DATA_DIR/ cp -a $(dirname $0)/test-configure . echo "version1" > app-data +cp $(dirname $0)/test-rename.json . cp $(dirname $0)/test.json . cp $(dirname $0)/test.yaml . cp $(dirname $0)/test-runtime.json . cp $(dirname $0)/0001-Add-test-logo.patch . +cp $(dirname $0)/org.test.Hello.desktop . mkdir include1 cp $(dirname $0)/module1.json include1/ cp $(dirname $0)/module1.yaml include1/ @@ -53,7 +55,7 @@ cp $(dirname $0)/source2.json include1/include2/ cp $(dirname $0)/data2 include1/include2/ cp $(dirname $0)/data2.patch include1/include2/ -for MANIFEST in test.json test.yaml ; do +for MANIFEST in test.json test.yaml test-rename.json ; do echo "building manifest $MANIFEST" >&2 ${FLATPAK_BUILDER} --repo=$REPO $FL_GPGARGS --force-clean appdir $MANIFEST >&2 @@ -67,7 +69,8 @@ for MANIFEST in test.json test.yaml ; do assert_not_has_file appdir/files/bin/file.cleanup assert_has_file appdir/files/cleaned_up > out - assert_has_file appdir/files/share/icons/org.test.Hello2.png + assert_has_file appdir/files/share/icons/hicolor/64x64/apps/org.test.Hello2.png + assert_has_file appdir/files/share/applications/org.test.Hello2.desktop assert_file_has_content appdir/files/out '^foo$' assert_file_has_content appdir/files/out2 '^foo2$' diff --git a/tests/test-rename.json b/tests/test-rename.json new file mode 100644 index 00000000..af39465d --- /dev/null +++ b/tests/test-rename.json @@ -0,0 +1,97 @@ +{ + "app-id": "org.test.Hello2", + "runtime": "org.test.Platform", + "sdk": "org.test.Sdk", + "command": "hello2.sh", + "tags": ["test"], + "token-type": 0, + "finish-args": [ + "--share=network" + ], + "rename-icon": "Hello", + "rename-desktop-file": "Hello.desktop", + "build-options" : { + "cflags": "-O2 -g", + "cxxflags": "-O2 -g", + "env": { + "FOO": "bar", + "V": "1" + } + }, + "cleanup": ["/cleanup", "*.cleanup"], + "cleanup-commands": [ "touch /app/cleaned_up" ], + "modules": [ + "include1/module1.json", + { + "name": "root", + "modules": [ + { + "name": "test", + "config-opts": ["--some-arg"], + "post-install": [ + "touch /app/bin/file.cleanup", + "mkdir -p /app/share/icons/hicolor/64x64/apps/", + "cp org.test.Hello.png /app/share/icons/hicolor/64x64/apps/Hello.png", + "mkdir -p /app/share/applications", + "cp org.test.Hello.desktop /app/share/applications/Hello.desktop" + ], + "make-args": ["BAR=2" ], + "make-install-args": ["BAR=3" ], + "build-commands": [ "echo foo > /app/out" ], + "sources": [ + { + "type": "file", + "path": "test-configure", + "dest-filename": "configure", + "sha256": "675a1ac2feec4d4f54e581b4b01bc3cfd2c1cf31aa5963574d31228c8a11b7e7" + }, + { + "type": "file", + "path": "app-data" + }, + { + "type": "file", + "path": "org.test.Hello.desktop" + }, + { + "type": "script", + "dest-filename": "hello2.sh", + "commands": [ "echo \"Hello world2, from a sandbox\"" ] + }, + { + "type": "shell", + "commands": [ + "mkdir /app/cleanup/", + "touch /app/cleanup/a_file" + ] + }, + { + "type": "patch", + "path": "0001-Add-test-logo.patch", + "use-git": true + } + ] + }, + { + "name": "test2", + "build-commands": [ + "echo foo2 > /app/out2", + "cp source[12] /app" + ], + "buildsystem": "simple", + "sources": [ + { + "type": "file", + "path": "app-data" + }, + "include1/source1.json", + "include1/include2/source2.json" + ] + }, + { + "name": "empty" + } + ] + } + ] +} diff --git a/tests/test.json b/tests/test.json index 47d997a9..def26f47 100644 --- a/tests/test.json +++ b/tests/test.json @@ -28,8 +28,10 @@ "config-opts": ["--some-arg"], "post-install": [ "touch /app/bin/file.cleanup", - "mkdir -p /app/share/icons/", - "cp org.test.Hello.png /app/share/icons/$FLATPAK_ID.png" + "mkdir -p /app/share/icons/hicolor/64x64/apps/", + "cp org.test.Hello.png /app/share/icons/hicolor/64x64/apps/$FLATPAK_ID.png", + "mkdir -p /app/share/applications", + "cp org.test.Hello.desktop /app/share/applications/$FLATPAK_ID.desktop" ], "make-args": ["BAR=2" ], "make-install-args": ["BAR=3" ], @@ -50,6 +52,10 @@ "dest-filename": "hello2.sh", "commands": [ "echo \"Hello world2, from a sandbox\"" ] }, + { + "type": "file", + "path": "org.test.Hello.desktop" + }, { "type": "shell", "commands": [ diff --git a/tests/test.yaml b/tests/test.yaml index b28f8c29..2c447de7 100644 --- a/tests/test.yaml +++ b/tests/test.yaml @@ -22,8 +22,10 @@ modules: config-opts: [--some-arg] post-install: - touch /app/bin/file.cleanup - - mkdir -p /app/share/icons/ - - cp org.test.Hello.png /app/share/icons/$FLATPAK_ID.png + - mkdir -p /app/share/icons/hicolor/64x64/apps/ + - cp org.test.Hello.png /app/share/icons/hicolor/64x64/apps/$FLATPAK_ID.png + - mkdir -p /app/share/applications + - cp org.test.Hello.desktop /app/share/applications/$FLATPAK_ID.desktop make-args: [BAR=2] make-install-args: [BAR=3] build-commands: ['echo foo > /app/out'] @@ -37,6 +39,8 @@ modules: - type: script dest-filename: hello2.sh commands: ['echo "Hello world2, from a sandbox"'] + - type: file + path: org.test.Hello.desktop - type: shell commands: - mkdir /app/cleanup/