Compare commits

..

No commits in common. "c8" and "c8s-ci-centos2" have entirely different histories.

32 changed files with 377 additions and 7 deletions

1
.fmf/version Normal file
View File

@ -0,0 +1 @@
1

62
.gitignore vendored
View File

@ -1,2 +1,60 @@
SOURCES/ibus-1.5.19.tar.gz
SOURCES/ibus-po-1.5.19-20210706.tar.gz
/cldr-emoji-annotation-30.0.3_2.tar.gz
/ibus-gjs-3.0.2.20110823.tar.gz
/ibus-gjs-3.1.4.20110823.tar.gz
/ibus-gjs-3.0.2.20110908.tar.gz
/ibus-gjs-3.1.91.20110908.tar.gz
/ibus-gjs-3.1.91.20110913.tar.gz
/ibus-gjs-3.0.2.20110928.tar.gz
/ibus-gjs-3.2.0.20110928.tar.gz
/ibus-gjs-3.0.2.20111018.tar.gz
/ibus-gjs-3.2.0.20111018.tar.gz
/ibus-gjs-3.2.1.20111021.tar.gz
/ibus-gjs-3.0.2.20111028.tar.gz
/ibus-gjs-3.2.1.20111028.tar.gz
/ibus-gjs-3.0.2.20111104.tar.gz
/ibus-gjs-3.2.1.20111104.tar.gz
/ibus-gjs-3.0.2.20111118.tar.gz
/ibus-gjs-3.2.1.20111118.tar.gz
/ibus-gjs-3.2.1.20111128.tar.gz
/ibus-gjs-3.2.1.20111230.tar.gz
/ibus-gjs-3.3.3.20120203.tar.gz
/ibus-gjs-3.3.90.20120308.tar.gz
/ibus-gjs-3.3.90.20120317.tar.gz
/ibus-gjs-3.3.92.20120327.tar.gz
/ibus-gjs-3.4.1.20120428.tar.gz
/ibus-gjs-3.4.1.20120518.tar.gz
/ibus-gjs-3.4.1.20120815.tar.gz
/ibus-gjs-3.4.1.20130115.tar.gz
/ibus-xkb-1.5.0.tar.gz
/ibus-xkb-1.5.0.20140114.tar.gz
/ibus-po-1.5.9-20141001.tar.gz
/ibus-po-1.5.10-20150402.tar.gz
/ibus-po-1.5.14-20160909.tar.gz
/ibus-po-1.5.17-20180221.tar.gz
/ibus-po-1.5.19-20180822.tar.gz
/ibus-po-1.5.19-20210706.tar.gz
ibus-1.3.6.tar.gz
/ibus-1.3.7.tar.gz
/ibus-1.3.8.tar.gz
/ibus-1.3.9.tar.gz
/ibus-1.4.0.tar.gz
/ibus-1.4.1.tar.gz
/ibus-1.5.1.tar.gz
/ibus-1.5.2.tar.gz
/ibus-1.5.3.tar.gz
/ibus-1.5.4.tar.gz
/ibus-1.5.5.tar.gz
/ibus-1.5.6.tar.gz
/ibus-1.5.7.tar.gz
/ibus-1.5.8.tar.gz
/ibus-1.5.9.tar.gz
/ibus-1.5.10.tar.gz
/ibus-1.5.11.tar.gz
/ibus-1.5.12.tar.gz
/ibus-1.5.13.tar.gz
/ibus-1.5.14.tar.gz
/ibus-1.5.15.tar.gz
/ibus-1.5.16.tar.gz
/ibus-1.5.17.tar.gz
/ibus-1.5.18.tar.gz
/ibus-1.5.19.tar.gz

View File

@ -1,2 +0,0 @@
fdda025d81247e40ad7acf953c2a0a606d18e965 SOURCES/ibus-1.5.19.tar.gz
236f5dc3c072d0587e107ae75084454c791bbf73 SOURCES/ibus-po-1.5.19-20210706.tar.gz

7
gating.yaml Normal file
View File

@ -0,0 +1,7 @@
--- !Policy
product_versions:
- rhel-8
decision_context: osci_compose_gate
rules:
# this is the testcase identifier, which OSCI pipeline uses
- !PassingTestCaseRule {test_case_name: osci.brew-build.tier0.functional}

View File

@ -0,0 +1,8 @@
--- ibus-1.5.19/src/tests/ibus-compose.env.orig 2025-04-11 20:19:32.894033452 +0900
+++ ibus-1.5.19/src/tests/ibus-compose.env 2025-04-11 20:20:36.995690581 +0900
@@ -1,4 +1,4 @@
-LANG=el_GR.UTF-8
+#LANG=el_GR.UTF-8
LANG=fi_FI.UTF-8
LANG=pt_BR.UTF-8
LANG=en_US.UTF-8 COMPOSE_FILE=ibus-compose.emoji

View File

@ -0,0 +1,129 @@
--- ibus-1.5.19/src/tests/ibus-desktop-testing-runner.in.orig 2025-04-11 13:28:17.764620101 +0900
+++ ibus-1.5.19/src/tests/ibus-desktop-testing-runner.in 2025-04-15 01:02:05.501785740 +0900
@@ -43,6 +43,7 @@ SRCDIR="."
TEST_LOG="test-suite.log"
TEST_LOG_STDOUT=0
RESULT_LOG=""
+SCREEN_LOG=""
HAVE_GRAPHICS=1
DESKTOP_COMMAND="dbus-launch --exit-with-session gnome-session"
PID_XORG=0
@@ -88,14 +89,16 @@ usage()
"-T, --timeout=TIMEOUT Set timeout (default TIMEOUT is 300 sec).\n" \
"-o, --output=OUTPUT_FILE OUtput the log to OUTPUT_FILE\n" \
"-O, --result=RESULT_FILE OUtput the result to RESULT_FILE\n" \
+"-S, --screendump=DUMP_FILE Output the screen to DUMP_FILE ('STDOUT' can be stdout)\n" \
""
}
parse_args()
{
# This is GNU getopt. "sudo port getopt" in BSD?
- ARGS=`getopt -o hvb:s:cd:t:r:T:o:O: --long \
- help,version,builddir:,srcdir:,no-graphics,desktop:,tests:,runner:,timeout:,output:,result:\
+ ARGS=`getopt -o hvb:s:cd:t:r:T:o:O:S: --long \
+ help,version,builddir:,srcdir:,no-graphics,desktop:,tests:,runner:,\
+timeout:,output:,result:,screendump:,\
-- "$@"`;
eval set -- "$ARGS"
while [ 1 ] ; do
@@ -111,6 +114,7 @@ parse_args()
-T | --timeout ) TIMEOUT="$2"; shift 2;;
-o | --output ) TEST_LOG="$2"; shift 2;;
-O | --result ) RESULT_LOG="$2"; shift 2;;
+ -S | --screendump ) SCREEN_LOG="$2"; shift 2;;
-- ) shift; break;;
* ) usage; exit 1;;
esac
@@ -214,7 +218,7 @@ run_desktop()
sleep 1
export DISPLAY=$DISPLAY
echo "Running $DESKTOP_COMMAND with $USER in `tty`"
- $DESKTOP_COMMAND &
+ $DESKTOP_COMMAND 2>&1 &
PID_GNOME_SESSION=$!
sleep 30
HAS_GNOME=`echo $DESKTOP_COMMAND | grep gnome-session`
@@ -374,7 +378,13 @@ finit()
{
echo "# Killing left gnome-session and Xorg"
kill $PID_GNOME_SESSION $PID_XORG
- ibus exit
+ wait $PID_GNOME_SESSION $PID_XORG 2>/dev/null
+ PID_IBUS=`pidof ibus-daemon`
+ if test x"$PID_IBUS" != x ; then
+ ibus exit
+ else
+ echo "# Dead ibus-daemon"
+ fi
SUSER=`echo "$USER" | cut -c 1-7`
LEFT_CALENDAR=`ps -ef | grep gnome-shell-calendar-server | grep $SUSER | grep -v grep`
if [ x"$LEFT_CALENDAR" != x ] ; then
@@ -386,14 +396,67 @@ finit()
echo "# Finished $PROGNAME testing"
}
+
+save_screen_real()
+{
+ SCREEN_PNG="`date '+%Y%m%d%H%M%S'`.png"
+ gnome-screenshot --file=$SCREEN_PNG
+ if test x"$SCREEN_LOG" = xSTDOUT ; then
+ base64 $SCREEN_PNG
+ touch /var/tmp/STDOUT.log
+ else
+ base64 $SCREEN_PNG > $SCREEN_LOG
+ fi
+}
+
+
+save_screen()
+{
+ if test x"$SCREEN_LOG" = x ; then
+ return
+ fi
+ if test x"$SCREEN_LOG" = xSTDOUT ; then
+ if test -f /var/tmp/STDOUT.log ; then
+ rm /var/tmp/STDOUT.log
+ fi
+ else
+ if test -f "$SCREEN_LOG" ; then
+ rm "$SCREEN_LOG"
+ fi
+ fi
+ save_screen_real &
+ while test 1 ; do
+ if test x"$SCREEN_LOG" = xSTDOUT ; then
+ if test -f /var/tmp/STDOUT.log ; then
+ break
+ fi
+ else
+ if test -f "$SCREEN_LOG" ; then
+ break
+ fi
+ fi
+ sleep 1
+ done
+}
+
+
main()
{
+ echo "TEST TIME `date`"
parse_args "$@"
+ echo "TEST2 TIME `date`"
init_desktop
+ echo "TEST3 TIME `date`"
run_dbus_daemon 2>>$TEST_LOG 1>>$TEST_LOG
+ echo "TEST4 TIME `date`"
run_desktop 2>>$TEST_LOG 1>>$TEST_LOG
+ echo "TEST5 TIME `date`"
+ save_screen
+ echo "TEST6 TIME `date`"
run_test_suite
+ echo "TEST7 TIME `date`"
finit
+ echo "TEST8 TIME `date`"
}
# Need to enclose $@ with double quotes not to split the array.

View File

@ -31,7 +31,7 @@
Name: ibus
Version: 1.5.19
Release: 14%{?dist}
Release: 15%{?dist}
Summary: Intelligent Input Bus for Linux OS
License: LGPLv2+
Group: System Environment/Libraries
@ -59,6 +59,11 @@ Patch6: %{name}-1682157-ci.patch
Patch7: %{name}-1713606-hangul-with-mouse.patch
# RHEL 8.5 Bug 1897548 - Enable to lookup Unicode names
Patch8: %{name}-1897548-emoji-unicode.patch
# RHEL 8.10 screenshot in CI
Patch9: %{name}-xx-tests-screenshot.patch
# RHEL 8.10 Disable el-GR compose test since the latest includes multiple
# outputs and IBus requires to backport lots of patches to support it.
Patch10: %{name}-xx-tests-disable-el-gr.patch
# RHEL 8.0 Under testing #1349148 #1385349 #1350291 #1406699 #1432252 #1601577
Patch100: %{name}-1385349-segv-bus-proxy.patch
@ -501,8 +506,12 @@ dconf update || :
%{_datadir}/installed-tests/ibus
%changelog
* Mon Oct 18 2021 Takao Fujiwara <tfujiwar@redhat.com> - 1.5.19-14
- Resolves: #2014064 - Fix regression of Emoji typing in Wayland
* Mon Apr 07 2025 Takao Fujiwara <tfujiwar@redhat.com> - 1.5.19-15
- Resolves: RHEL-1616 Replace gitlab.gnome.org with gitlab.com/redhat
- Add screenshot option in CI
* Thu Sep 30 2021 Takao Fujiwara <tfujiwar@redhat.com> - 1.5.19-14
- Resolves: #2008074 - Fix regression of Emoji typing in Wayland
* Tue Jul 06 2021 Takao Fujiwara <tfujiwar@redhat.com> - 1.5.19-13
- Resolves: #1897548 - Rebuild IBus emoji with unicode-emoji-13.0-4 and cldr-emoji-annotation-39-2

5
plans/test.fmf Normal file
View File

@ -0,0 +1,5 @@
summary: Basic smoke test
discover:
how: fmf
execute:
how: tmt

2
sources Normal file
View File

@ -0,0 +1,2 @@
SHA512 (ibus-1.5.19.tar.gz) = ddcd464c9afb6d081df1cfac65069506877eb4818c3ba5594bcf76f3c6795ef6c17177a778dc89b2ef69d10d87297aa12c8e04f156b750e500b51b32787bd9fc
SHA512 (ibus-po-1.5.19-20210706.tar.gz) = e605f7cc2ec22104e22d079710ad4795905e2bbd4f2d5e5d05c2345da87cb1a150b47fbc93b63686b23aa142c6da80c83a1d0316682b5f069f6b87bc7926a908

View File

@ -0,0 +1,35 @@
summary: Install common GNOME desktop components
description:
The listed packages are installed commonly between Fedora and
RHEL GNOME desktop components.
require:
# IBus CI sets
- ibus
- ibus-desktop-testing
- dbus-x11
# https://pagure.io/fedora-comps/blob/main/f/comps-f41.xml.in
# dnf group info GNOME
# base-graphical mandatory
- mesa-dri-drivers
# gnome-desktop mandatory
- dconf
- gdm
- gedit
- gnome-control-center
- gnome-screenshot
- gnome-session-xsession
- gnome-session
- gnome-settings-daemon
- gnome-shell
- gnome-terminal
- polkit
- procps-ng
- rsync
- xorg-x11-server-Xvfb
# Sometimes version mismatch with gnome-shell in rawhide
#- chrome-gnome-shell
- glib-networking
# Move systemd-oomd-defaults to Post-Installing section
# desktop-accessibility default
- at-spi2-atk
- at-spi2-core

View File

@ -0,0 +1,41 @@
summary: Install Fedora specific GNOME desktop components
description:
The listed packages are available in Fedora only.
enabled: false
adjust:
when: distro == fedora
enabled: true
require:
- adobe-source-code-pro-fonts
- gnome-screenshot
- gnome-boxes
- yelp
- cheese
- eog
- evince
- evince-djvu
- gnome-backgrounds
- gnome-calendar
- gnome-contacts
- gnome-epub-thumbnailer
- gnome-logs
- gnome-maps
- gnome-photos
- gnome-themes-extra
- gnome-user-share
- gnome-weather
- gvfs-afc
- gvfs-afp
- gvfs-archive
- gvfs-fuse
- gvfs-gphoto2
- gvfs-smb
- NetworkManager-openconnect-gnome
- NetworkManager-openvpn-gnome
- NetworkManager-pptp-gnome
- NetworkManager-ssh-gnome
- NetworkManager-vpnc-gnome
- rygel
- simple-scan
- sushi
- totem

View File

@ -0,0 +1,7 @@
summary: Install RHEL specific GNOME desktop components
description:
Currently no specific packages for RHEL.
enabled: false
adjust:
when: distro != fedora
enabled: true

View File

@ -0,0 +1,14 @@
#!/bin/bash
# vim: dict+=/usr/share/beakerlib/dictionary.vim cpt=.,w,b,u,t,i,k
. /usr/share/beakerlib/beakerlib.sh || exit 1
rlJournalStart
rlPhaseStartTest
rlRun -t "git clone https://gitlab.com/redhat/centos-stream/tests/gnome-desktop-testing.git gnome-desktop-testing"
rlRun -t "cd gnome-desktop-testing"
rlRun -t "git checkout -q -b v2021.1 refs/tags/v2021.1"
rlRun -t "./autogen.sh --prefix=/usr --sysconfdir=/etc --localstatedir=/var"
rlRun -t "make"
rlRun -t "make install"
rlPhaseEnd
rlJournalEnd

View File

@ -0,0 +1,17 @@
summary: Install GNOME installed-tests testing harness
description:
gnome-desktop-testing package is required by IBus CI(ibus-desktop-testing)
and it's available in Fedora only at present.
require:
- git
- make
- gcc
- diffutils
- autoconf
- automake
- libtool
- glib2-devel
#- systemd-devel
test: ./build.sh
# Use build.sh script because the url module does not work:
# https://github.com/teemtee/tmt/issues/3684

View File

@ -0,0 +1,5 @@
summary: Install TMT packages
description:
The test script is calling the beakerlib script.
require:
- beakerlib

View File

@ -0,0 +1,10 @@
summary: Install ibus specific packages
description:
The listed packages are required by CI of ibus core.
require:
- ibus-tests
# ibus-compose test needs locales
- glibc-langpack-el
- glibc-langpack-fi
- glibc-langpack-ja
- glibc-langpack-pt

View File

@ -0,0 +1,3 @@
summary: gnome-desktop-testing tests
# common test for sub tests
test: env

View File

@ -0,0 +1,5 @@
summary: Run tests
description:
Run CI with ibus-desktop-testing-runner in GNOME Wayland.
duration: 15m
test: ./test.sh

View File

@ -0,0 +1,15 @@
#!/bin/bash
# vim: dict+=/usr/share/beakerlib/dictionary.vim cpt=.,w,b,u,t,i,k
. /usr/share/beakerlib/beakerlib.sh || exit 1
rlJournalStart
rlPhaseStartTest
rlRun -t "/usr/bin/ibus-desktop-testing-runner --runner gnome --no-graphics --tests ibus --output test.log --result result.log"
rlPhaseEnd
rlPhaseStartCleanup
rlRun "echo test.log"
rlRun "cat test.log"
rlRun "echo result.log"
rlRun "cat result.log"
rlPhaseEnd
rlJournalEnd

1
tests/main.fmt Normal file
View File

@ -0,0 +1 @@
contact: Takao Fujiwara <fujiwara@redhat.com>