diff options
author | Simon McVittie <smcv@debian.org> | 2019-08-20 10:43:56 +0000 |
---|---|---|
committer | Niels Thykier <niels@thykier.net> | 2019-08-20 10:43:56 +0000 |
commit | 038efd099e142aea043d128c6cd3bc6a93e68fc1 (patch) | |
tree | 6864ba5f612d1e30589f1cd2d5990119121a6e25 | |
parent | f481a0a2def177820f1a05927606f316bb36fc14 (diff) | |
download | debhelper-038efd099e142aea043d128c6cd3bc6a93e68fc1.tar.gz |
Add tests for dh_installgsettings
Extracted from the patch proposed in https://bugs.debian.org/934893.
Signed-off-by: Niels Thykier <niels@thykier.net>
Signed-off-by: Simon McVittie <smcv@debian.org>
-rw-r--r-- | t/dh_installgsettings/debian/changelog | 5 | ||||
-rw-r--r-- | t/dh_installgsettings/debian/control | 17 | ||||
-rwxr-xr-x | t/dh_installgsettings/dh_installgsettings.t | 49 |
3 files changed, 71 insertions, 0 deletions
diff --git a/t/dh_installgsettings/debian/changelog b/t/dh_installgsettings/debian/changelog new file mode 100644 index 00000000..5850f0e2 --- /dev/null +++ b/t/dh_installgsettings/debian/changelog @@ -0,0 +1,5 @@ +foo (1.0-1) unstable; urgency=low + + * Initial release. (Closes: #XXXXXX) + + -- Test <testing@nowhere> Mon, 11 Jul 2016 18:10:59 +0200 diff --git a/t/dh_installgsettings/debian/control b/t/dh_installgsettings/debian/control new file mode 100644 index 00000000..c3cb827c --- /dev/null +++ b/t/dh_installgsettings/debian/control @@ -0,0 +1,17 @@ +Source: foo +Section: misc +Priority: optional +Maintainer: Test <testing@nowhere> +Standards-Version: 3.9.8 + +Package: has-settings +Architecture: all +Depends: ${misc:Depends} +Description: package has-settings + This package has a GSettings schema. + +Package: no-settings +Architecture: all +Depends: ${misc:Depends} +Description: package no-settings + This package doesn't have a GSettings schema. diff --git a/t/dh_installgsettings/dh_installgsettings.t b/t/dh_installgsettings/dh_installgsettings.t new file mode 100755 index 00000000..fe76e8dc --- /dev/null +++ b/t/dh_installgsettings/dh_installgsettings.t @@ -0,0 +1,49 @@ +#!/usr/bin/perl +use strict; +use Test::More tests => 1; + +use autodie; +use File::Basename qw(dirname); +use lib dirname(dirname(__FILE__)); +use Test::DH; +use File::Path qw(remove_tree make_path); +use Debian::Debhelper::Dh_Lib qw(!dirname); + +our @TEST_DH_EXTRA_TEMPLATE_FILES = (qw( + debian/changelog + debian/control +)); + +my $SCHEMAS = 'usr/share/glib-2.0/schemas'; + +sub touch { + my $path = shift; + open(my $fh, '>>', $path); + close $fh; +} + +sub slurp { + my $path = shift; + local $/ = undef; + open(my $fh, '<', $path); + my $contents = <$fh>; + close $fh; + return $contents; +} + +each_compat_subtest { + make_path("debian/has-settings/$SCHEMAS"); + touch("debian/has-settings/$SCHEMAS/com.example.HasSettings.xml"); + make_path("debian/has-unimportant-settings/$SCHEMAS"); + touch("debian/no-settings.substvars"); + ok(run_dh_tool('dh_installgsettings', '-phas-settings'), 'run for has-settings'); + ok(run_dh_tool('dh_installgsettings', '-pno-settings'), 'run for no-settings'); + remove_tree(qw(debian/has-settings debian/has-unimportant-settings)); + like(slurp('debian/has-settings.substvars'), + qr{^misc:Depends=dconf-gsettings-backend \| gsettings-backend$}m, + 'has-settings should depend on a backend'); + unlike(slurp('debian/no-settings.substvars'), + qr{^misc:Depends=dconf-gsettings-backend \| gsettings-backend$}m, + 'no-settings should not depend on a backend'); +}; + |