Add CI
This commit is contained in:
parent
677e87ac89
commit
bdfd5f786b
104
ibus-HEAD.patch
104
ibus-HEAD.patch
@ -14932,3 +14932,107 @@ index 0155e22a..61af74fb 100644
|
|||||||
--
|
--
|
||||||
2.21.0
|
2.21.0
|
||||||
|
|
||||||
|
From f4463c0433c5f48a4fb2830e8c2ae9619fbb18d1 Mon Sep 17 00:00:00 2001
|
||||||
|
From: fujiwarat <takao.fujiwara1@gmail.com>
|
||||||
|
Date: Mon, 29 Jul 2019 19:05:43 +0900
|
||||||
|
Subject: [PATCH] src/tests: Fix a fatal error with g_warning
|
||||||
|
|
||||||
|
I set g_log_set_always_fatal() before gtk_init() in ibus-compose for
|
||||||
|
a compose warning of GtkIMContextSimple but actually the warning is
|
||||||
|
output during gtk_main() due to GtkIMContextSimple.set_client_window()
|
||||||
|
so I moved g_log_set_always_fatal() before gtk_main() in ibus-compose.c.
|
||||||
|
|
||||||
|
Also set IFS in ibus-compose-locales to set the delimiter to '\n' for
|
||||||
|
for-loop arguments.
|
||||||
|
---
|
||||||
|
src/tests/ibus-compose-locales.in | 8 ++++++++
|
||||||
|
src/tests/ibus-compose.c | 21 ++++++++++-----------
|
||||||
|
2 files changed, 18 insertions(+), 11 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/src/tests/ibus-compose-locales.in b/src/tests/ibus-compose-locales.in
|
||||||
|
index fad02965..f650b584 100755
|
||||||
|
--- a/src/tests/ibus-compose-locales.in
|
||||||
|
+++ b/src/tests/ibus-compose-locales.in
|
||||||
|
@@ -7,19 +7,27 @@ BUILDDIR=`dirname $0`
|
||||||
|
export IBUS_COMPOSE_CACHE_DIR=$PWD
|
||||||
|
|
||||||
|
retval=0
|
||||||
|
+# Let for-loop notice '\n' as a delimiter
|
||||||
|
+IFS=$'\n'
|
||||||
|
for var in `cat $SRCDIR/ibus-compose.env`
|
||||||
|
do
|
||||||
|
+ # Revert IFS to recognize env a=foo b=foo
|
||||||
|
+ IFS=' '
|
||||||
|
IS_COMMENT=`echo "$var" | grep "^#"`
|
||||||
|
if [ "x$IS_COMMENT" != x ] ; then
|
||||||
|
continue
|
||||||
|
fi
|
||||||
|
+ echo "# Starting $var $BUILDDIR/ibus-compose $SRCDIR $@"
|
||||||
|
env $var $BUILDDIR/ibus-compose $SRCDIR $@
|
||||||
|
retval=`expr $retval + $?`
|
||||||
|
+ echo "# Finished $var $BUILDDIR/ibus-compose $SRCDIR $@ with $retval"
|
||||||
|
|
||||||
|
CACHE_FILES=`ls *.cache`
|
||||||
|
if [ x"$CACHE_FILES" != x ] ; then
|
||||||
|
echo "Clean $CACHE_FILES"
|
||||||
|
rm $CACHE_FILES
|
||||||
|
fi
|
||||||
|
+ IFS=$'\n'
|
||||||
|
done
|
||||||
|
+IFS=' '
|
||||||
|
exit $retval
|
||||||
|
diff --git a/src/tests/ibus-compose.c b/src/tests/ibus-compose.c
|
||||||
|
index db359477..4b4c56e7 100644
|
||||||
|
--- a/src/tests/ibus-compose.c
|
||||||
|
+++ b/src/tests/ibus-compose.c
|
||||||
|
@@ -331,20 +331,28 @@ create_window ()
|
||||||
|
static void
|
||||||
|
test_compose (void)
|
||||||
|
{
|
||||||
|
+ GLogLevelFlags flags;
|
||||||
|
if (!register_ibus_engine ()) {
|
||||||
|
g_test_fail ();
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
create_window ();
|
||||||
|
+ /* FIXME:
|
||||||
|
+ * IBusIMContext opens GtkIMContextSimple as the slave and
|
||||||
|
+ * GtkIMContextSimple opens the compose table on el_GR.UTF-8, and the
|
||||||
|
+ * multiple outputs in el_GR's compose causes a warning in gtkcomposetable
|
||||||
|
+ * and the warning always causes a fatal in GTest:
|
||||||
|
+ " "GTK+ supports to output one char only: "
|
||||||
|
+ */
|
||||||
|
+ flags = g_log_set_always_fatal (G_LOG_LEVEL_CRITICAL);
|
||||||
|
gtk_main ();
|
||||||
|
-
|
||||||
|
+ g_log_set_always_fatal (flags);
|
||||||
|
}
|
||||||
|
|
||||||
|
int
|
||||||
|
main (int argc, char *argv[])
|
||||||
|
{
|
||||||
|
- GLogLevelFlags flags;
|
||||||
|
const gchar *test_name;
|
||||||
|
gchar *test_path;
|
||||||
|
|
||||||
|
@@ -354,16 +362,7 @@ main (int argc, char *argv[])
|
||||||
|
*/
|
||||||
|
g_setenv ("NO_AT_BRIDGE", "1", TRUE);
|
||||||
|
g_test_init (&argc, &argv, NULL);
|
||||||
|
- /* FIXME:
|
||||||
|
- * IBusIMContext opens GtkIMContextSimple as the slave and
|
||||||
|
- * GtkIMContextSimple opens the compose table on el_GR.UTF-8, and the
|
||||||
|
- * multiple outputs in el_GR's compose causes a warning in gtkcomposetable
|
||||||
|
- * and the warning always causes a fatal in GTest:
|
||||||
|
- " "GTK+ supports to output one char only: "
|
||||||
|
- */
|
||||||
|
- flags = g_log_set_always_fatal (G_LOG_LEVEL_CRITICAL);
|
||||||
|
gtk_init (&argc, &argv);
|
||||||
|
- g_log_set_always_fatal (flags);
|
||||||
|
|
||||||
|
m_srcdir = argc > 1 ? g_strdup (argv[1]) : g_strdup (".");
|
||||||
|
m_compose_file = g_strdup (g_getenv ("COMPOSE_FILE"));
|
||||||
|
--
|
||||||
|
2.21.0
|
||||||
|
|
||||||
|
@ -35,7 +35,7 @@
|
|||||||
|
|
||||||
Name: ibus
|
Name: ibus
|
||||||
Version: 1.5.20
|
Version: 1.5.20
|
||||||
Release: 6%{?dist}
|
Release: 7%{?dist}
|
||||||
Summary: Intelligent Input Bus for Linux OS
|
Summary: Intelligent Input Bus for Linux OS
|
||||||
License: LGPLv2+
|
License: LGPLv2+
|
||||||
URL: https://github.com/ibus/%name/wiki
|
URL: https://github.com/ibus/%name/wiki
|
||||||
@ -235,7 +235,8 @@ The ibus-devel-docs package contains developer documentation for IBus
|
|||||||
|
|
||||||
%package desktop-testing
|
%package desktop-testing
|
||||||
Summary: Wrapper of InstalledTests Runner for IBus
|
Summary: Wrapper of InstalledTests Runner for IBus
|
||||||
Requires: %{name}%{?_isa} = %{version}-%{release}
|
Requires: %{name} = %{version}-%{release}
|
||||||
|
BuildArch: noarch
|
||||||
|
|
||||||
%description desktop-testing
|
%description desktop-testing
|
||||||
GNOME desktop testing runner implements the InstalledTests specification
|
GNOME desktop testing runner implements the InstalledTests specification
|
||||||
@ -463,6 +464,10 @@ dconf update || :
|
|||||||
%{_datadir}/installed-tests/ibus
|
%{_datadir}/installed-tests/ibus
|
||||||
|
|
||||||
%changelog
|
%changelog
|
||||||
|
* Mon Jul 29 2019
|
||||||
|
Takao Fujiwara <tfujiwar@redhat.com> - 1.5.20-7
|
||||||
|
- Add CI
|
||||||
|
|
||||||
* Fri Jul 26 2019 Takao Fujiwara <tfujiwar@redhat.com> - 1.5.20-6
|
* Fri Jul 26 2019 Takao Fujiwara <tfujiwar@redhat.com> - 1.5.20-6
|
||||||
- Update ibus-HEAD.patch from upstream
|
- Update ibus-HEAD.patch from upstream
|
||||||
Integrate a new compose feature
|
Integrate a new compose feature
|
||||||
|
3
tests/roles/ibus-desktop-testing-role/defaults/main.yml
Normal file
3
tests/roles/ibus-desktop-testing-role/defaults/main.yml
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
role_pkgs_req:
|
||||||
|
- rsync
|
||||||
|
- xorg-x11-server-Xvfb
|
4
tests/roles/ibus-desktop-testing-role/meta/main.yml
Normal file
4
tests/roles/ibus-desktop-testing-role/meta/main.yml
Normal file
@ -0,0 +1,4 @@
|
|||||||
|
---
|
||||||
|
|
||||||
|
dependencies:
|
||||||
|
- role: str-common-init
|
100
tests/roles/ibus-desktop-testing-role/tasks/main.yml
Normal file
100
tests/roles/ibus-desktop-testing-role/tasks/main.yml
Normal file
@ -0,0 +1,100 @@
|
|||||||
|
---
|
||||||
|
- name: Check if GNOME installed-tests testing harness is installed
|
||||||
|
register: gnome_desktop_testing_runner
|
||||||
|
find:
|
||||||
|
paths: "{{ ansible_env.PATH.split(':') }}"
|
||||||
|
pattern: gnome-desktop-testing-runner
|
||||||
|
|
||||||
|
- name: Build and install GNOME installed-tests testing harness
|
||||||
|
when: gnome_desktop_testing_runner.matched == 0
|
||||||
|
block:
|
||||||
|
- name: Installing build dependencies for GNOME installed-tests testing harness
|
||||||
|
package:
|
||||||
|
name:
|
||||||
|
- git
|
||||||
|
- make
|
||||||
|
- gcc
|
||||||
|
- diffutils
|
||||||
|
- autoconf
|
||||||
|
- automake
|
||||||
|
- libtool
|
||||||
|
- glib2-devel
|
||||||
|
- systemd-devel
|
||||||
|
- gnome-session
|
||||||
|
- gnome-shell
|
||||||
|
- dbus-x11
|
||||||
|
- xorg-x11-server-Xvfb
|
||||||
|
- ibus
|
||||||
|
- ibus-desktop-testing
|
||||||
|
- ibus-tests
|
||||||
|
# ibus-compose test needs locales
|
||||||
|
- glibc-langpack-el
|
||||||
|
- glibc-langpack-fi
|
||||||
|
- glibc-langpack-pt
|
||||||
|
|
||||||
|
- name: Fetching GNOME installed-tests testing harness source from remote repository
|
||||||
|
git:
|
||||||
|
repo: 'https://gitlab.gnome.org/GNOME/gnome-desktop-testing.git'
|
||||||
|
dest: gnome-desktop-testing
|
||||||
|
force: yes
|
||||||
|
|
||||||
|
- name: Configure GNOME installed-tests testing harness build
|
||||||
|
command: ./autogen.sh --prefix=/usr --sysconfdir=/etc --localstatedir=/var
|
||||||
|
args:
|
||||||
|
chdir: gnome-desktop-testing
|
||||||
|
|
||||||
|
- name: Build GNOME installed-tests testing harness
|
||||||
|
command: make
|
||||||
|
args:
|
||||||
|
chdir: gnome-desktop-testing
|
||||||
|
|
||||||
|
- name: Install GNOME installed-tests testing harness
|
||||||
|
command: make install
|
||||||
|
args:
|
||||||
|
chdir: gnome-desktop-testing
|
||||||
|
|
||||||
|
- name: Start GNOME installed-tests testing harness
|
||||||
|
block:
|
||||||
|
- name: Execute tests
|
||||||
|
shell: |
|
||||||
|
set -e
|
||||||
|
status="FAIL: frame"
|
||||||
|
env TMPDIR='{{ remote_artifacts }}' G_MESSAGES_DEBUG='all' \
|
||||||
|
ibus-desktop-testing-runner \
|
||||||
|
--no-graphics \
|
||||||
|
--runner=gnome \
|
||||||
|
--tests='{{ installed_test_name }}' \
|
||||||
|
--output='{{ remote_artifacts }}/{{ installed_test_name }}.log' \
|
||||||
|
--result='{{ remote_artifacts }}/test.log' \
|
||||||
|
null
|
||||||
|
if [ $? -eq 0 ]; then
|
||||||
|
status="PASS: frame"
|
||||||
|
fi
|
||||||
|
echo "${status} $TEST" >> {{ remote_artifacts }}/test.log
|
||||||
|
|
||||||
|
- name: Check the results
|
||||||
|
#shell: grep "^FAIL" {{ remote_artifacts }}/test.log
|
||||||
|
shell: |
|
||||||
|
log="{{ remote_artifacts }}/test.log"
|
||||||
|
if [ ! -f $log ] ; then
|
||||||
|
echo ERROR
|
||||||
|
else
|
||||||
|
FAIL=`grep "^FAIL: " {{ remote_artifacts }}/test.log | grep -v 'FAIL: 0$'`
|
||||||
|
if [ x"$FAIL" != x ] ; then
|
||||||
|
echo ERROR
|
||||||
|
else
|
||||||
|
echo PASS
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
register: test_fails
|
||||||
|
#failed_when: False
|
||||||
|
|
||||||
|
- name: Set role result
|
||||||
|
set_fact:
|
||||||
|
role_result: "{{ test_fails.stdout }}"
|
||||||
|
role_result_failed: "{{ (test_fails.stdout|d|length > 0) or (test_fails.stderr|d|length > 0) }}"
|
||||||
|
role_result_msg: "{{ test_fails.stdout|d('tests failed.') }}"
|
||||||
|
|
||||||
|
- include_role:
|
||||||
|
name: str-common-final
|
||||||
|
|
8
tests/tests.yml
Normal file
8
tests/tests.yml
Normal file
@ -0,0 +1,8 @@
|
|||||||
|
- hosts: localhost
|
||||||
|
roles:
|
||||||
|
- role: ibus-desktop-testing-role
|
||||||
|
installed_test_name: ibus
|
||||||
|
tags:
|
||||||
|
- classic
|
||||||
|
- gating
|
||||||
|
|
Loading…
Reference in New Issue
Block a user