gcab: run & install tests

also add nixosTests.installed-tests.gcab for running the installed tests
This commit is contained in:
Jan Tojnar 2019-11-07 13:59:11 +01:00
parent c88e084ecb
commit e253d015a1
No known key found for this signature in database
GPG key ID: 7FAB2A15F7A607A4
4 changed files with 42 additions and 2 deletions

View file

@ -67,6 +67,7 @@ in
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 {};

View file

@ -0,0 +1,5 @@
{ pkgs, makeInstalledTest, ... }:
makeInstalledTest {
tested = pkgs.gcab;
}

View file

@ -13,19 +13,25 @@
, glib
, zlib
, gnome3
, nixosTests
}:
stdenv.mkDerivation rec {
pname = "gcab";
version = "1.3";
outputs = [ "bin" "out" "dev" "devdoc" ];
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
ninja
@ -45,14 +51,21 @@ stdenv.mkDerivation rec {
];
mesonFlags = [
"-Dtests=false"
"-Dinstalled_tests=true"
"-Dinstalled_test_prefix=${placeholder ''installedTests''}"
];
doCheck = true;
passthru = {
updateScript = gnome3.updateScript {
packageName = pname;
versionPolicy = "none";
};
tests = {
installedTests = nixosTests.installed-tests.gcab;
};
};
meta = with stdenv.lib; {

View file

@ -0,0 +1,21 @@
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)