Resolves: rhbz#1974636 Delete ibus write-cache in scriptlet

Also improve CI tests (convert to tmt) and add gating.yaml
This commit is contained in:
Mike FABIAN 2021-06-23 17:10:18 +02:00
parent a595d101db
commit 23a89c869b
9 changed files with 97 additions and 133 deletions

1
.fmf/version Normal file
View File

@ -0,0 +1 @@
1

6
gating.yaml Normal file
View File

@ -0,0 +1,6 @@
--- !Policy
product_versions:
- rhel-9
decision_context: osci_compose_gate
rules:
- !PassingTestCaseRule {test_case_name: osci.brew-build.tier0.functional}

View File

@ -1,6 +1,6 @@
Name: ibus-typing-booster Name: ibus-typing-booster
Version: 2.11.0 Version: 2.11.0
Release: 2%{?dist} Release: 3%{?dist}
Summary: A completion input method Summary: A completion input method
License: GPLv3+, ASL 2.0 License: GPLv3+, ASL 2.0
URL: https://mike-fabian.github.io/ibus-typing-booster/ URL: https://mike-fabian.github.io/ibus-typing-booster/
@ -199,14 +199,6 @@ if [ $rc != 0 ] ; then
exit $rc exit $rc
fi fi
%post
[ -x %{_bindir}/ibus ] && \
%{_bindir}/ibus write-cache --system &>/dev/null || :
%postun
[ -x %{_bindir}/ibus ] && \
%{_bindir}/ibus write-cache --system &>/dev/null || :
%files -f %{name}.lang %files -f %{name}.lang
%doc AUTHORS COPYING README README.html README.md %doc AUTHORS COPYING README README.html README.md
%{_datadir}/%{name} %{_datadir}/%{name}
@ -237,6 +229,10 @@ fi
%{_datadir}/applications/emoji-picker.desktop %{_datadir}/applications/emoji-picker.desktop
%changelog %changelog
* Wed Jun 30 2021 Mike FABIAN <mfabian@redhat.com> - 2.11.0-3
- Resolves: rhbz#1974636 Delete ibus write-cache in scriptlet
- Improve CI tests and add gating.yaml
* Fri Apr 16 2021 Mohan Boddu <mboddu@redhat.com> - 2.11.0-2 * Fri Apr 16 2021 Mohan Boddu <mboddu@redhat.com> - 2.11.0-2
- Rebuilt for RHEL 9 BETA on Apr 15th 2021. Related: rhbz#1947937 - Rebuilt for RHEL 9 BETA on Apr 15th 2021. Related: rhbz#1947937

9
plans/basic.fmf Normal file
View File

@ -0,0 +1,9 @@
summary: Basic smoke test
discover:
how: fmf
execute:
how: tmt
prepare:
how: shell
script:
- dnf config-manager --enable rhel-CRB --enable rhel-buildroot

View File

@ -1,8 +1,30 @@
role_pkgs_req: test: ./runtest.sh
- gnome-desktop-testing duration: 50m
- ibus-desktop-testing framework: beakerlib
- rsync require:
# This stuff is only needed if gnome-desktop-testing
# cannot be required as a package and needs to be cloned
# from the git repo and build from source:
- git
- make
- gcc
- diffutils
- autoconf
- automake
- libtool
- glib2-devel
- systemd-devel
# Other requirements:
- gnome-session
- gnome-shell
- dbus-x11
- xorg-x11-server-Xvfb - xorg-x11-server-Xvfb
- ibus
- ibus-devel
- ibus-desktop-testing
- ibus-typing-booster
- ibus-typing-booster-tests
- rsync
- m17n-lib - m17n-lib
- m17n-db-extras - m17n-db-extras
- python3-enchant - python3-enchant
@ -17,16 +39,9 @@ role_pkgs_req:
- hunspell-fr - hunspell-fr
- hunspell-it - hunspell-it
- hunspell-ko - hunspell-ko
- glib2
- gtk3
- dconf - dconf
- dbus-x11
- ibus
- ibus-devel
- gcc
- python3-devel - python3-devel
- python3-pyxdg - python3-pyxdg
- xorg-x11-server-Xvfb
- glibc-langpack-en - glibc-langpack-en
- glibc-langpack-cs - glibc-langpack-cs
- glibc-langpack-km - glibc-langpack-km
@ -34,3 +49,6 @@ role_pkgs_req:
- glibc-langpack-am - glibc-langpack-am
- glibc-langpack-de - glibc-langpack-de
- glibc-langpack-ar - glibc-langpack-ar
recommend:
# this is not available on RHEL9
- gnome-desktop-testing

View File

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

View File

@ -1,101 +0,0 @@
---
- 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-typing-booster-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 typing booster 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

47
tests/runtest.sh Executable file
View File

@ -0,0 +1,47 @@
#!/bin/bash
. /usr/share/beakerlib/beakerlib.sh || exit 1
NAME=ibus-typing-booster
rlJournalStart
rlPhaseStartSetup
rlAssertRpm ${NAME}
rlRun "tmp=\$(mktemp -d)" 0 "Create tmp directory"
rlRun "pushd $tmp"
if ! rlCheckRpm gnome-desktop-testing; then
echo "gnome-desktop-testing is not available."
echo "Trying to download and compile it:"
git clone https://gitlab.gnome.org/GNOME/gnome-desktop-testing.git
pushd gnome-desktop-testing
./autogen.sh --prefix=/usr --sysconfdir=/etc --localstatedir=/var
make
make install
popd
fi
rlPhaseEnd
rlPhaseStartTest
rlRun "ibus-desktop-testing-runner \
--no-graphics \
--runner=gnome \
--timeout=1500 \
--tests=${NAME} \
--output=${NAME}.log \
--result=test.log \
" 0 "Running ${NAME} tests"
echo "==== ${NAME}.log: ===="
cat ${NAME}.log
echo "==== EOF ${NAME}.log: ===="
echo "==== test.log ===="
cat test.log
echo "==== EOF test.log: ===="
rlAssertNotGrep FAIL test.log
rlFileSubmit ${NAME}.log
rlFileSubmit test.log
rlPhaseEnd
rlPhaseStartCleanup
rlRun "popd"
rlRun "rm -r $tmp" 0 "Remove tmp directory"
rlPhaseEnd
rlJournalEnd

View File

@ -1,8 +0,0 @@
- hosts: localhost
roles:
- role: ibus-desktop-testing-role
installed_test_name: ibus-typing-booster
tags:
- classic
- gating