[totem/bilelmoussaoui/meson-tests: 7/9] build: Add test to validate desktop file



commit a3836901488c8ee1e86a040249eaa05e38a1e8f6
Author: Bilal Elmoussaoui <bil elmoussaoui gmail com>
Date:   Thu Sep 26 11:44:08 2019 +0200

    build: Add test to validate desktop file
    
    The flatpak CI template already runs ninja tests for us.
    Let's use that to ensure the desktop file is always valid.

 .gitlab-ci.yml   |  2 +-
 data/meson.build | 25 +++++++++++++++++--------
 2 files changed, 18 insertions(+), 9 deletions(-)
---
diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index d848c0983..66b2108e8 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -8,7 +8,7 @@ build-fedora:
   image: fedora:latest
   stage: test
   before_script:
-    - dnf install -y redhat-rpm-config meson git cairo-devel clutter-devel clutter-gst3-devel 
clutter-gtk-devel gcc-c++ gettext gnome-desktop3-devel grilo-devel gsettings-desktop-schemas-devel 
gstreamer1-devel gstreamer1-plugins-base-devel gstreamer1-plugins-good gtk3-devel gtk-doc itstool 
libappstream-glib liberation-sans-fonts libpeas-devel pygobject3-devel pylint python3-devel 
totem-pl-parser-devel flatpak-builder xorg-x11-server-Xvfb
+    - dnf install -y redhat-rpm-config meson git cairo-devel desktop-file-utils clutter-devel 
clutter-gst3-devel clutter-gtk-devel gcc-c++ gettext gnome-desktop3-devel grilo-devel 
gsettings-desktop-schemas-devel gstreamer1-devel gstreamer1-plugins-base-devel gstreamer1-plugins-good 
gtk3-devel gtk-doc itstool libappstream-glib liberation-sans-fonts libpeas-devel pygobject3-devel pylint 
python3-devel totem-pl-parser-devel flatpak-builder xorg-x11-server-Xvfb
   script:
     - meson _build
     - G_MESSAGES_DEBUG=all xvfb-run -a -s "-screen 0 1024x768x24" ninja -C _build test
diff --git a/data/meson.build b/data/meson.build
index 6cb83f4b6..2f1202354 100644
--- a/data/meson.build
+++ b/data/meson.build
@@ -68,15 +68,24 @@ desktop_in = configure_file(
   configuration: desktop_conf
 )
 
-i18n.merge_file (
-  desktop,
-  type: 'desktop',
-  input: desktop_in,
-  output: desktop,
-  po_dir: po_dir,
-  install: true,
-  install_dir: join_paths(totem_datadir, 'applications')
+desktop_file = i18n.merge_file (
+    desktop,
+    type: 'desktop',
+    input: desktop_in,
+    output: desktop,
+    po_dir: po_dir,
+    install: true,
+    install_dir: join_paths(totem_datadir, 'applications')
 )
+# Validate Desktop file
+desktop_file_validate = find_program('desktop-file-validate', required: false)
+if desktop_file_validate.found()
+  test(
+      'validate-desktop',
+      desktop_file_validate,
+      args: [desktop_file.full_path()]
+      )
+endif
 
 service_conf = configuration_data()
 service_conf.set('bindir', totem_bindir)


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]