gcab: run & install tests

also add nixosTests.installed-tests.gcab for running the installed tests

Changed files
+42 -2
nixos
tests
installed-tests
pkgs
development
+1
nixos/tests/installed-tests/default.nix
···
flatpak = callInstalledTest ./flatpak.nix {};
flatpak-builder = callInstalledTest ./flatpak-builder.nix {};
fwupd = callInstalledTest ./fwupd.nix {};
gdk-pixbuf = callInstalledTest ./gdk-pixbuf.nix {};
gjs = callInstalledTest ./gjs.nix {};
glib-networking = callInstalledTest ./glib-networking.nix {};
···
flatpak = callInstalledTest ./flatpak.nix {};
flatpak-builder = callInstalledTest ./flatpak-builder.nix {};
fwupd = callInstalledTest ./fwupd.nix {};
+
gcab = callInstalledTest ./gcab.nix {};
gdk-pixbuf = callInstalledTest ./gdk-pixbuf.nix {};
gjs = callInstalledTest ./gjs.nix {};
glib-networking = callInstalledTest ./glib-networking.nix {};
+5
nixos/tests/installed-tests/gcab.nix
···
···
+
{ pkgs, makeInstalledTest, ... }:
+
+
makeInstalledTest {
+
tested = pkgs.gcab;
+
}
+15 -2
pkgs/development/libraries/gcab/default.nix
···
, glib
, zlib
, gnome3
}:
stdenv.mkDerivation rec {
pname = "gcab";
version = "1.3";
-
outputs = [ "bin" "out" "dev" "devdoc" ];
src = fetchurl {
url = "mirror://gnome/sources/${pname}/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
sha256 = "1rv81b37d5ya7xpfdxrfk173jjcwabxyng7vafgwyl5myv44qc0h";
};
nativeBuildInputs = [
meson
···
];
mesonFlags = [
-
"-Dtests=false"
];
passthru = {
updateScript = gnome3.updateScript {
packageName = pname;
versionPolicy = "none";
};
};
···
, glib
, zlib
, gnome3
+
, nixosTests
}:
stdenv.mkDerivation rec {
pname = "gcab";
version = "1.3";
+
outputs = [ "bin" "out" "dev" "devdoc" "installedTests" ];
src = fetchurl {
url = "mirror://gnome/sources/${pname}/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
sha256 = "1rv81b37d5ya7xpfdxrfk173jjcwabxyng7vafgwyl5myv44qc0h";
};
+
+
patches = [
+
# allow installing installed tests to a separate output
+
./installed-tests-path.patch
+
];
nativeBuildInputs = [
meson
···
];
mesonFlags = [
+
"-Dinstalled_tests=true"
+
"-Dinstalled_test_prefix=${placeholder ''installedTests''}"
];
+
+
doCheck = true;
passthru = {
updateScript = gnome3.updateScript {
packageName = pname;
versionPolicy = "none";
+
};
+
+
tests = {
+
installedTests = nixosTests.installed-tests.gcab;
};
};
+21
pkgs/development/libraries/gcab/installed-tests-path.patch
···
···
+
diff --git a/meson_options.txt b/meson_options.txt
+
index c1b1da1..9b76022 100644
+
--- a/meson_options.txt
+
+++ b/meson_options.txt
+
@@ -4,3 +4,4 @@
+
option('vapi', type : 'boolean', value : true, description: 'generate Vala bindings (requires introspection)')
+
option('tests', type : 'boolean', value : true, description : 'enable tests')
+
option('installed_tests', type : 'boolean', value : false, description : 'install tests for "as-installed" testing')
+
+option('installed_test_prefix', type: 'string', value: '', description: 'Prefix for installed tests')
+
diff --git a/tests/meson.build b/tests/meson.build
+
index 1e46e2a..aa780d0 100644
+
--- a/tests/meson.build
+
+++ b/tests/meson.build
+
@@ -1,5 +1,5 @@
+
-installed_tests_metadir = join_paths(get_option('datadir'), 'installed-tests', 'libgcab-1.0')
+
-installed_tests_execdir = join_paths(get_option('libexecdir'), 'installed-tests', 'libgcab-1.0')
+
+installed_tests_metadir = join_paths(get_option('installed_test_prefix'), 'share', 'installed-tests', 'libgcab-1.0')
+
+installed_tests_execdir = join_paths(get_option('installed_test_prefix'), 'libexec', 'installed-tests', 'libgcab-1.0')
+
installed_tests_enabled = get_option('installed_tests')
+
installed_tests_template_tap = files('template-tap.test.in')
+
abs_installed_tests_execdir = join_paths(get_option('prefix'), installed_tests_execdir)