Use tmt and fix the CI tests
Resolves: RHEL-2237
This commit is contained in:
parent
d01e950b76
commit
f05c2f348a
1
.fmf/version
Normal file
1
.fmf/version
Normal file
@ -0,0 +1 @@
|
||||
1
|
9
plans/basic.fmf
Normal file
9
plans/basic.fmf
Normal 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
|
54
tests/main.fmf
Normal file
54
tests/main.fmf
Normal file
@ -0,0 +1,54 @@
|
||||
test: ./runtest.sh
|
||||
duration: 50m
|
||||
framework: beakerlib
|
||||
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
|
||||
- ibus
|
||||
- ibus-devel
|
||||
- ibus-desktop-testing
|
||||
- ibus-typing-booster
|
||||
- ibus-typing-booster-tests
|
||||
- rsync
|
||||
- m17n-lib
|
||||
- m17n-db-extras
|
||||
- python3-enchant
|
||||
- libappstream-glib
|
||||
- desktop-file-utils
|
||||
- python3-gobject
|
||||
- python3-gobject-base
|
||||
- hunspell-cs
|
||||
- hunspell-de
|
||||
- hunspell-en
|
||||
- hunspell-es
|
||||
- hunspell-fr
|
||||
- hunspell-it
|
||||
- hunspell-ko
|
||||
- dconf
|
||||
- python3-devel
|
||||
- python3-pyxdg
|
||||
- glibc-langpack-en
|
||||
- glibc-langpack-cs
|
||||
- glibc-langpack-km
|
||||
- glibc-langpack-pt
|
||||
- glibc-langpack-am
|
||||
- glibc-langpack-de
|
||||
- glibc-langpack-ar
|
||||
recommend:
|
||||
# this is not available on RHEL9
|
||||
- gnome-desktop-testing
|
@ -1,35 +0,0 @@
|
||||
role_pkgs_req:
|
||||
- rsync
|
||||
- xorg-x11-server-Xvfb
|
||||
- m17n-lib
|
||||
- m17n-db-extras
|
||||
- python3-enchant
|
||||
- libappstream-glib
|
||||
- desktop-file-utils
|
||||
- python3-mock
|
||||
- python3-gobject
|
||||
- python3-gobject-base
|
||||
- hunspell-cs
|
||||
- hunspell-de
|
||||
- hunspell-en
|
||||
- hunspell-es
|
||||
- hunspell-fr
|
||||
- hunspell-it
|
||||
- hunspell-ko
|
||||
- glib2
|
||||
- gtk3
|
||||
- dconf
|
||||
- dbus-x11
|
||||
- ibus
|
||||
- ibus-devel
|
||||
- gcc
|
||||
- python3-devel
|
||||
- python3-pyxdg
|
||||
- xorg-x11-server-Xvfb
|
||||
- glibc-langpack-en
|
||||
- glibc-langpack-cs
|
||||
- glibc-langpack-km
|
||||
- glibc-langpack-pt
|
||||
- glibc-langpack-am
|
||||
- glibc-langpack-de
|
||||
- glibc-langpack-ar
|
@ -1,4 +0,0 @@
|
||||
---
|
||||
|
||||
dependencies:
|
||||
- role: str-common-init
|
@ -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
|
||||
|
48
tests/runtest.sh
Executable file
48
tests/runtest.sh
Executable file
@ -0,0 +1,48 @@
|
||||
#!/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
|
||||
git checkout v2021.1
|
||||
./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: 1" test.log
|
||||
rlFileSubmit ${NAME}.log
|
||||
rlFileSubmit test.log
|
||||
rlPhaseEnd
|
||||
|
||||
rlPhaseStartCleanup
|
||||
rlRun "popd"
|
||||
rlRun "rm -r $tmp" 0 "Remove tmp directory"
|
||||
rlPhaseEnd
|
||||
rlJournalEnd
|
@ -1,8 +0,0 @@
|
||||
- hosts: localhost
|
||||
roles:
|
||||
- role: ibus-desktop-testing-role
|
||||
installed_test_name: ibus-typing-booster
|
||||
tags:
|
||||
- classic
|
||||
- gating
|
||||
|
Loading…
Reference in New Issue
Block a user