Skip to content

Commit

Permalink
ibus: add installed tests
Browse files Browse the repository at this point in the history
  • Loading branch information
jtojnar committed Dec 6, 2019
1 parent 973c2fc commit f6afb29
Show file tree
Hide file tree
Showing 3 changed files with 48 additions and 1 deletion.
1 change: 1 addition & 0 deletions nixos/tests/installed-tests/default.nix
Original file line number Diff line number Diff line change
Expand Up @@ -88,6 +88,7 @@ in
glib-networking = callInstalledTest ./glib-networking.nix {};
gnome-photos = callInstalledTest ./gnome-photos.nix {};
graphene = callInstalledTest ./graphene.nix {};
ibus = callInstalledTest ./ibus.nix {};
libgdata = callInstalledTest ./libgdata.nix {};
libxmlb = callInstalledTest ./libxmlb.nix {};
ostree = callInstalledTest ./ostree.nix {};
Expand Down
20 changes: 20 additions & 0 deletions nixos/tests/installed-tests/ibus.nix
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
{ pkgs, makeInstalledTest, ... }:

makeInstalledTest {
tested = pkgs.ibus;

testConfig = {
i18n.inputMethod.enabled = "ibus";
};

preTestScript = ''
# ibus has ibus-desktop-testing-runner but it tries to manage desktop session so we just spawn ibus-daemon ourselves
machine.succeed("ibus-daemon --daemonize --verbose")
'';

withX11 = true;

# TODO: ibus-daemon is currently crashing or something
# maybe make ibus systemd service that auto-restarts?
meta.broken = true;
}
28 changes: 27 additions & 1 deletion pkgs/tools/inputmethods/ibus/default.nix
Original file line number Diff line number Diff line change
Expand Up @@ -30,6 +30,7 @@
, wayland ? null
, buildPackages
, runtimeShell
, nixosTests
}:

assert withWayland -> wayland != null && libxkbcommon != null;
Expand Down Expand Up @@ -67,7 +68,7 @@ stdenv.mkDerivation rec {
})
];

outputs = [ "out" "dev" ];
outputs = [ "out" "dev" "installedTests" ];

postPatch = ''
echo \#!${runtimeShell} > data/dconf/make-dconf-override-db.sh
Expand All @@ -84,11 +85,17 @@ stdenv.mkDerivation rec {
(enableFeature enablePython2Library "python-library")
(enableFeature enablePython2Library "python2") # XXX: python2 library does not work anyway
(enableFeature enableUI "ui")
"--enable-install-tests"
"--with-unicode-emoji-dir=${unicode-emoji}/share/unicode/emoji"
"--with-emoji-annotation-dir=${cldr-emoji-annotation}/share/unicode/cldr/common/annotations"
"--with-ucd-dir=${unicode-character-database}/share/unicode"
];

makeFlags = [
"test_execsdir=${placeholder ''installedTests''}/libexec/installed-tests/ibus"
"test_sourcesdir=${placeholder ''installedTests''}/share/installed-tests/ibus"
];

nativeBuildInputs = [
autoreconfHook
gtk-doc
Expand Down Expand Up @@ -128,6 +135,25 @@ stdenv.mkDerivation rec {
$out/bin/ibus version
'';

postInstall = ''
# It has some hardcoded FHS paths and also we do not use it
# since we set up the environment in NixOS tests anyway.
moveToOutput "bin/ibus-desktop-testing-runner" "$installedTests"
'';

postFixup = ''
# set necessary environment also for tests
for f in $installedTests/libexec/installed-tests/ibus/*; do
wrapGApp $f
done
'';

passthru = {
tests = {
installed-tests = nixosTests.installed-tests.ibus;
};
};

meta = {
homepage = "https://github.com/ibus/ibus";
description = "Intelligent Input Bus, input method framework";
Expand Down

0 comments on commit f6afb29

Please sign in to comment.