Update to 1.10.1

- Add GUI test
- Make output of ibus-table-createdb deterministic
- Update translations from Weblate (updated fr, tr, zh_CN)
This commit is contained in:
Mike FABIAN 2020-07-15 14:17:26 +02:00
parent 0b777236a6
commit 2a401817cf
9 changed files with 196 additions and 78 deletions

1
.gitignore vendored
View File

@ -58,3 +58,4 @@ ibus-table-1.3.0.20100621.tar.gz
/ibus-table-1.9.24.tar.gz
/ibus-table-1.9.25.tar.gz
/ibus-table-1.10.0.tar.gz
/ibus-table-1.10.1.tar.gz

View File

@ -1,5 +1,5 @@
Name: ibus-table
Version: 1.10.0
Version: 1.10.1
Release: 1%{?dist}
Summary: The Table engine for IBus platform
License: LGPLv2+
@ -10,9 +10,15 @@ Requires: ibus > 1.3.0
BuildRequires: gcc
BuildRequires: ibus-devel > 1.3.0
BuildRequires: python3-devel
BuildRequires: libappstream-glib
# for the unit tests
BuildRequires: appstream
BuildRequires: libappstream-glib
BuildRequires: desktop-file-utils
BuildRequires: python3-mock
BuildRequires: python3-gobject
BuildRequires: python3-gobject-base
BuildRequires: dbus-x11
BuildRequires: xorg-x11-server-Xvfb
BuildRequires: ibus-table-chinese-wubi-jidian
BuildRequires: ibus-table-chinese-cangjie
BuildRequires: ibus-table-chinese-stroke5
@ -20,6 +26,8 @@ BuildRequires: ibus-table-code
BuildRequires: ibus-table-latin
BuildRequires: ibus-table-translit
BuildRequires: ibus-table-tv
# A window manger is needed for the GUI test
BuildRequires: i3
Obsoletes: ibus-table-additional < 1.2.0.20100111-5
@ -35,12 +43,20 @@ Requires: %{name} = %{version}-%{release}, pkgconfig
%description -n %{name}-devel
Development files for %{name}.
%package tests
Summary: Tests for the %{name} package
Requires: %{name} = %{version}-%{release}
%description tests
The %{name}-tests package contains tests that can be used to verify
the functionality of the installed %{name} package.
%prep
%setup -q
%build
export PYTHON=%{__python3}
%configure --disable-static --disable-additional
%configure --disable-static --disable-additional --enable-installed-tests
%__make %{?_smp_mflags}
%install
@ -53,6 +69,7 @@ export PYTHON=%{__python3}
%find_lang %{name}
%check
appstreamcli validate --pedantic --explain --no-net %{buildroot}/%{_datadir}/metainfo/*.appdata.xml
appstream-util validate-relax --nonet %{buildroot}/%{_datadir}/metainfo/*.appdata.xml
desktop-file-validate \
$RPM_BUILD_ROOT%{_datadir}/applications/ibus-setup-table.desktop
@ -71,11 +88,32 @@ dconf dump /
dconf write /org/freedesktop/ibus/engine/table/wubi-jidian/chinesemode 1
dconf write /org/freedesktop/ibus/engine/table/wubi-jidian/spacekeybehavior false
dconf dump /
ibus-daemon -drx
make -C tests run_tests
pushd tests
./run_tests
popd
export DISPLAY=:1
Xvfb $DISPLAY -screen 0 1024x768x16 &
# A window manager and and ibus-daemon are needed to run the GUI
# test tests/test_gtk.py, for example i3 can be used.
#
# To debug what is going on if there is a problem with the GUI test
# add BuildRequires: x11vnc and start a vnc server:
#
# x11vnc -display $DISPLAY -unixsock /tmp/mysock -bg -nopw -listen localhost -xkb
#
# Then one can view what is going on outside of the chroot with vncviewer:
#
# vncviewer /var/lib/mock/fedora-32-x86_64/root/tmp/mysock
#
# The GUI test will be skipped if XDG_SESSION_TYPE is not x11 or wayland.
#
#ibus-daemon -drx
#touch /tmp/i3config
#i3 -c /tmp/i3config &
#export XDG_SESSION_TYPE=x11
make check && rc=0 || rc=1
cat tests/*.log
if [ $rc != 0 ] ; then
exit $rc
fi
%post
[ -x %{_bindir}/ibus ] && \
@ -101,7 +139,19 @@ popd
%files devel
%{_datadir}/pkgconfig/%{name}.pc
%files tests
%dir %{_libexecdir}/installed-tests
%{_libexecdir}/installed-tests/%{name}
%dir %{_datadir}/installed-tests
%{_datadir}/installed-tests/%{name}
%changelog
* Wed Jul 15 2020 Mike FABIAN <mfabian@redhat.com> - 1.10.1-1
- Update to 1.10.1
- Add GUI test
- Make output of ibus-table-createdb deterministic
- Update translations from Weblate (updated fr, tr, zh_CN)
* Wed Jul 01 2020 Mike FABIAN <mfabian@redhat.com> - 1.10.0-1
- Update to 1.10.0
- Add suggestion mode feature

View File

@ -1 +1 @@
SHA512 (ibus-table-1.10.0.tar.gz) = cb9d4c378f2acbffdeb034ef33b80eef2e971d8196222c9fe0d72b15c025ab30fdc68a4de0c6b6e1ecae296b8e3555a769f6a7dabb9dbf1f544dc16e8d08edd4
SHA512 (ibus-table-1.10.1.tar.gz) = 596e2ca9ac1f174325dc35f21f66e7753f224ebac1e8ae9e56bdca3b2c649a66274b4d94ca4c4e8166e5d24b974aaefa6a0dc2696ae647fb782f212098225f26

View File

@ -1,15 +0,0 @@
#!/bin/bash
set -x
check_return_value () {
if [ $1 != 0 ] ; then
exit $1
fi
}
cd $1
./configure --prefix=/usr
check_return_value $?
make check && rc=0 || rc=1; cat tests/test-suite.log
exit $rc

View File

@ -0,0 +1,25 @@
role_pkgs_req:
- rsync
- xorg-x11-server-Xvfb
- appstream
- libappstream-glib
- desktop-file-utils
- python3-mock
- python3-gobject
- python3-gobject-base
- glib2
- gtk3
- dconf
- dbus-x11
- ibus
- ibus-devel
- gcc
- python3-devel
- python3-pyxdg
- xorg-x11-server-Xvfb
- ibus-table-chinese-wubi-jidian
- ibus-table-chinese-cangjie
- ibus-table-chinese-stroke5
- ibus-table-code
- ibus-table-latin
- ibus-table-translit

View File

@ -0,0 +1,4 @@
---
dependencies:
- role: str-common-init

View File

@ -0,0 +1,101 @@
---
- 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 IBus and 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-table-tests
- 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 IBus installed-tests testing harness
environment:
ANSIBLE: 1
TMPDIR: '{{ remote_artifacts }}'
G_MESSAGES_DEBUG: 'all'
block:
- name: Execute IBus table tests
shell: |
set -e
status="FAIL: frame"
ibus-desktop-testing-runner \
--no-graphics \
--runner=gnome \
--timeout=1200 \
--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: |
log="{{ remote_artifacts }}/test.log"
if [ ! -f $log ] ; then
echo ERROR
exit 1
else
FAIL=`grep "^FAIL: " $log | grep -v 'FAIL: 0$'`
if [ x"$FAIL" != x ] ; then
echo ERROR
exit 1
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

View File

@ -1,16 +0,0 @@
#!/bin/bash
set -x
check_return_value () {
if [ $1 != 0 ] ; then
exit $1
fi
}
pushd /usr/share/ibus-table/engine
for i in $@; do
python3 ${i} -v
check_return_value $?
done
popd

View File

@ -1,40 +1,8 @@
- hosts: localhost
vars:
- artifacts: "{{ lookup('env', 'TEST_ARTIFACTS')|default('./artifacts', true) }}"
tags:
- classic
remote_user: root
roles:
- role: standard-test-source # to get the source tar ball to do “make check”
- role: standard-test-basic
required_packages:
- make
- libappstream-glib
- desktop-file-utils
- python3-gobject
- python3-gobject-base
- glib2
- gtk3
- dconf
- dbus-x11
- ibus
- ibus-devel
- gcc
- python3-devel
- python3-pyxdg
- ibus-table-chinese-wubi-jidian
- ibus-table-chinese-cangjie
- ibus-table-chinese-stroke5
- ibus-table-code
- ibus-table-latin
- ibus-table-translit
tests:
- make-check:
dir: ./
run: bash ./make_check.sh ./source
- doctests-table.py:
dir: ./
run: bash ./run_python_doctests.sh table.py
- doctests-it_util.py:
dir: ./
run: bash ./run_python_doctests.sh it_util.py
- role: ibus-desktop-testing-role
installed_test_name: ibus-table
tags:
- classic
- gating