Compare commits
No commits in common. "c8" and "c8s-ci-centos" have entirely different histories.
c8
...
c8s-ci-cen
62
.gitignore
vendored
62
.gitignore
vendored
@ -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
|
||||
|
||||
@ -1,2 +0,0 @@
|
||||
fdda025d81247e40ad7acf953c2a0a606d18e965 SOURCES/ibus-1.5.19.tar.gz
|
||||
236f5dc3c072d0587e107ae75084454c791bbf73 SOURCES/ibus-po-1.5.19-20210706.tar.gz
|
||||
@ -1,153 +0,0 @@
|
||||
--- 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
|
||||
@@ -4,7 +4,7 @@
|
||||
#
|
||||
# ibus - The Input Bus
|
||||
#
|
||||
-# Copyright (c) 2018-2020 Takao Fujiwara <takao.fujiwara1@gmail.com>
|
||||
+# Copyright (c) 2018-2021 Takao Fujiwara <takao.fujiwara1@gmail.com>
|
||||
# Copyright (c) 2018 Red Hat, Inc.
|
||||
#
|
||||
# This program is free software; you can redistribute it and/or modify
|
||||
@@ -36,7 +36,7 @@
|
||||
|
||||
|
||||
PROGNAME=`basename $0`
|
||||
-VERSION=0.1
|
||||
+VERSION=0.2
|
||||
DISPLAY=:99.0
|
||||
BUILDDIR="."
|
||||
SRCDIR="."
|
||||
@@ -44,7 +44,7 @@ TEST_LOG="test-suite.log"
|
||||
TEST_LOG_STDOUT=0
|
||||
RESULT_LOG=""
|
||||
HAVE_GRAPHICS=1
|
||||
-DESKTOP_COMMAND="dbus-launch --exit-with-session gnome-session"
|
||||
+DESKTOP_COMMAND="dbus-launch --exit-with-session mutter"
|
||||
PID_XORG=0
|
||||
PID_GNOME_SESSION=0
|
||||
TESTING_RUNNER="default"
|
||||
@@ -80,7 +80,9 @@ usage()
|
||||
"-b, --builddir=BUILDDIR Set the BUILDDIR\n" \
|
||||
"-s, --srcdir=SOURCEDIR Set the SOURCEDIR\n" \
|
||||
"-c, --no-graphics Use Xvfb instead of Xorg\n" \
|
||||
-"-d, --desktop=DESKTOP Run DESTKTOP. The default is gnome-session\n" \
|
||||
+"-d, --desktop=DESKTOP Run DESTKTOP. The default is mutter.\n" \
|
||||
+" Suffix '-with-dbus' can run DESKTOP with dbus session." \
|
||||
+" E.g. --desktop=gnome-session-with-dbus" \
|
||||
"-t, --tests=\"TESTS...\" Run TESTS programs which is separated by space\n" \
|
||||
"-r, --runner=RUNNER Run TESTS programs with a test RUNNER.\n" \
|
||||
" RUNNDER = gnome or default.\n" \
|
||||
@@ -115,6 +117,13 @@ parse_args()
|
||||
* ) usage; exit 1;;
|
||||
esac
|
||||
done
|
||||
+ DL='$'
|
||||
+ echo "$DESKTOP_COMMAND" | grep "\-with\-dbus$DL" > /dev/null
|
||||
+ HAS_DBUS_SUFFIX=$?
|
||||
+ if [ $HAS_DBUS_SUFFIX -eq 0 ] ; then
|
||||
+ DESKTOP_COMMAND=`echo "$DESKTOP_COMMAND" | sed -e 's/-with-dbus$//'`
|
||||
+ DESKTOP_COMMAND="dbus-launch --exit-with-session $DESKTOP_COMMAND"
|
||||
+ fi
|
||||
}
|
||||
|
||||
init_desktop()
|
||||
@@ -124,8 +133,9 @@ init_desktop()
|
||||
rm $RESULT_LOG
|
||||
fi
|
||||
fi
|
||||
- HAS_STDOUT=`echo "$TEST_LOG" | grep ':stdout'`
|
||||
- if [ x"$HAS_STDOUT" != x ] ; then
|
||||
+ echo "$TEST_LOG" | grep ':stdout' > /dev/null
|
||||
+ HAS_STDOUT=$?
|
||||
+ if [ $HAS_STDOUT -eq 0 ] ; then
|
||||
TEST_LOG=`echo "$TEST_LOG" | sed -e 's|:stdout||'`
|
||||
TEST_LOG_STDOUT=1
|
||||
fi
|
||||
@@ -203,8 +213,52 @@ run_dbus_daemon()
|
||||
export DBUS_SESSION_BUS_ADDRESS="unix:path=/run/user/$UID/bus"
|
||||
}
|
||||
|
||||
+init_gnome()
|
||||
+{
|
||||
+ # gsettings set command needs dconf-service with the same $DISPLAY
|
||||
+ pkill dconf-service
|
||||
+ # G_MESSAGES_DEBUG=all or G_MESSAGES_DEBUG=GLib-GIO-DEBUG would append
|
||||
+ # debug messages to gsettings output and could not get the result correctly.
|
||||
+ backup_G_MESSAGES_DEBUG="$G_MESSAGES_DEBUG"
|
||||
+ unset G_MESSAGES_DEBUG
|
||||
+ # Disable Tour dialog to get focus
|
||||
+ V=`gsettings get org.gnome.shell welcome-dialog-last-shown-version`
|
||||
+ if [ x"$V" = x"''" ] ; then
|
||||
+ gsettings set org.gnome.shell welcome-dialog-last-shown-version '100'
|
||||
+ fi
|
||||
+ # gnome-shell now starts overview mode by login.
|
||||
+ # https://extensions.gnome.org/extension/4099/no-overview/
|
||||
+ NO_SYS_DIR=/usr/share/gnome-shell/extensions/no-overview@fthx
|
||||
+ NO_USER_DIR=$HOME/.local/share/gnome-shell/extensions/no-overview@fthx
|
||||
+ if [ ! -d $NO_SYS_DIR ] && [ ! -d $NO_USER_DIR ] ; then
|
||||
+ mkdir -p "`dirname $NO_USER_DIR`"
|
||||
+ cp -R "no-overview@fthx" "`dirname $NO_USER_DIR`"
|
||||
+ fi
|
||||
+ V=`gsettings get org.gnome.shell disable-user-extensions`
|
||||
+ if [ x"$V" = x"true" ] ; then
|
||||
+ gsettings set org.gnome.shell disable-user-extensions false
|
||||
+ fi
|
||||
+ V=`gsettings get org.gnome.shell enabled-extensions`
|
||||
+ echo "$V" | grep "no-overview" > /dev/null
|
||||
+ V2=$?
|
||||
+ if [ $V2 -ne 0 ] ; then
|
||||
+ V3=`echo "$V" | sed -e 's/@as //' -e 's/\[//' -e 's/\]//'`
|
||||
+ if [ x"$V3" = x"''" ] || [ x"$V3" = x"" ]; then
|
||||
+ V4="['no-overview@fthx']"
|
||||
+ else
|
||||
+ V4="[$V3, 'no-overview@fthx']"
|
||||
+ fi
|
||||
+ gsettings set org.gnome.shell enabled-extensions "$V4"
|
||||
+ fi
|
||||
+ if [ x"$backup_G_MESSAGES_DEBUG" != x ] ; then
|
||||
+ export G_MESSAGES_DEBUG="$backup_G_MESSAGES_DEBUG"
|
||||
+ fi
|
||||
+}
|
||||
+
|
||||
run_desktop()
|
||||
{
|
||||
+ echo "$DESKTOP_COMMAND" | grep gnome-session > /dev/null
|
||||
+ HAS_GNOME=$?
|
||||
if test $HAVE_GRAPHICS -eq 1 ; then
|
||||
/usr/libexec/Xorg.wrap -noreset +extension GLX +extension RANDR +extension RENDER -logfile ./xorg.log -config ./xorg.conf -configdir . $DISPLAY &
|
||||
else
|
||||
@@ -213,12 +267,15 @@ run_desktop()
|
||||
PID_XORG=$!
|
||||
sleep 1
|
||||
export DISPLAY=$DISPLAY
|
||||
+ # init_gnome need to be called with $DISPLAY before gnome-session is called
|
||||
+ if [ $HAS_GNOME -eq 0 ] ; then
|
||||
+ init_gnome
|
||||
+ fi
|
||||
echo "Running $DESKTOP_COMMAND with $USER in `tty`"
|
||||
$DESKTOP_COMMAND &
|
||||
PID_GNOME_SESSION=$!
|
||||
sleep 30
|
||||
- HAS_GNOME=`echo $DESKTOP_COMMAND | grep gnome-session`
|
||||
- if [ x"$HAS_GNOME" = x ] ; then
|
||||
+ if [ $HAS_GNOME -ne 0 ] ; then
|
||||
ibus-daemon --daemonize --verbose
|
||||
sleep 3
|
||||
fi
|
||||
@@ -360,8 +417,13 @@ EOF_RUNNER
|
||||
;;
|
||||
esac
|
||||
echo ""
|
||||
- print_log -e "${GREEN}PASS${NC}: $pass"
|
||||
- print_log -e "${RED}FAIL${NC}: $fail"
|
||||
+ # Fedora CI assumes the test is failed even if $fail is 0.
|
||||
+ if [ $pass -ne 0 ] ; then
|
||||
+ print_log -e "${GREEN}PASS${NC}: $pass"
|
||||
+ fi
|
||||
+ if [ $fail -ne 0 ] ; then
|
||||
+ print_log -e "${RED}FAIL${NC}: $fail"
|
||||
+ fi
|
||||
echo ""
|
||||
if [ $TEST_LOG_STDOUT -eq 1 ] ; then
|
||||
cat $TEST_LOG
|
||||
7
gating.yaml
Normal file
7
gating.yaml
Normal 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}
|
||||
129
ibus-xx-tests-screenshot.patch
Normal file
129
ibus-xx-tests-screenshot.patch
Normal 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.
|
||||
@ -59,8 +59,8 @@ 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 Backport CI from RHEL 9
|
||||
Patch9: %{name}-xx-tests-desktop-el9.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
|
||||
@ -506,8 +506,9 @@ dconf update || :
|
||||
%{_datadir}/installed-tests/ibus
|
||||
|
||||
%changelog
|
||||
* Sat Apr 19 2025 Takao Fujiwara <tfujiwar@redhat.com> - 1.5.19-15
|
||||
- Resolves: RHEL-87876 Backport desktop-testing from RHEL 9
|
||||
* 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
|
||||
2
sources
Normal file
2
sources
Normal file
@ -0,0 +1,2 @@
|
||||
SHA512 (ibus-1.5.19.tar.gz) = ddcd464c9afb6d081df1cfac65069506877eb4818c3ba5594bcf76f3c6795ef6c17177a778dc89b2ef69d10d87297aa12c8e04f156b750e500b51b32787bd9fc
|
||||
SHA512 (ibus-po-1.5.19-20210706.tar.gz) = e605f7cc2ec22104e22d079710ad4795905e2bbd4f2d5e5d05c2345da87cb1a150b47fbc93b63686b23aa142c6da80c83a1d0316682b5f069f6b87bc7926a908
|
||||
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
|
||||
13
tests/roles/ibus-desktop-testing-role/files/autogen.patch
Normal file
13
tests/roles/ibus-desktop-testing-role/files/autogen.patch
Normal file
@ -0,0 +1,13 @@
|
||||
diff --git a/autogen.sh b/autogen.sh
|
||||
index 83779c7..507dab5 100755
|
||||
--- a/autogen.sh
|
||||
+++ b/autogen.sh
|
||||
@@ -16,7 +16,7 @@ fi
|
||||
|
||||
mkdir -p m4
|
||||
|
||||
-autoreconf --force --install --verbose
|
||||
+autoreconf --force --install 2>/dev/null
|
||||
|
||||
cd $olddir
|
||||
test -n "$NOCONFIGURE" || "$srcdir/configure" "$@"
|
||||
68
tests/roles/ibus-desktop-testing-role/files/check-results.sh
Executable file
68
tests/roles/ibus-desktop-testing-role/files/check-results.sh
Executable file
@ -0,0 +1,68 @@
|
||||
#!/bin/bash
|
||||
|
||||
TEST_LOG="test.log"
|
||||
TEST_RUN_IN_RAWHIDE=1
|
||||
|
||||
declare -i TEST_RUN_IN_RAWHIDE
|
||||
|
||||
if [ $# -gt 0 ] ; then
|
||||
TEST_LOG="$1"
|
||||
TEST_RUN_IN_RAWHIDE=$2
|
||||
fi
|
||||
|
||||
gen_results()
|
||||
{
|
||||
TEST_RUNTIME="$1"
|
||||
TEST_STATUS="$2"
|
||||
TEST_STATUS_UPPER="$(echo "$TEST_STATUS" | tr '[:lower:]' '[:upper:]')"
|
||||
cat > results.xml << _EOF
|
||||
results:
|
||||
- test: results
|
||||
result: $TEST_STATUS
|
||||
runtime: $TEST_RUNTIME
|
||||
logs:
|
||||
- ${TEST_STATUS_UPPER}-str_results.log
|
||||
|
||||
_EOF
|
||||
|
||||
DIR=$(dirname "$TEST_LOG")
|
||||
if [ x"$TEST_LOG" != x ] ; then
|
||||
cp "$TEST_LOG" "$DIR/${TEST_STATUS_UPPER}-str_results.log"
|
||||
else
|
||||
touch "$DIR/${TEST_STATUS_UPPER}-str_results.log"
|
||||
fi
|
||||
if [ x"$DIR" != x. ] ; then
|
||||
mv results.xml "$DIR"
|
||||
fi
|
||||
}
|
||||
|
||||
if [ $TEST_RUN_IN_RAWHIDE -eq 0 ] ; then
|
||||
if grep -q -i rawhide /etc/fedora-release &> /dev/null ; then
|
||||
gen_results "0" "pass"
|
||||
echo -n PASS
|
||||
exit 0
|
||||
fi
|
||||
fi
|
||||
if [ ! -f $TEST_LOG ] ; then
|
||||
gen_results "0" "fail"
|
||||
echo -n ERROR
|
||||
else
|
||||
FAIL="$(grep "^FAIL: " $TEST_LOG | grep -v 'FAIL: 0$')"
|
||||
RUNTIME_FAIL="$(grep -v 'frame' $TEST_LOG | grep "^FAIL: " | sed -e "s/FAIL: //")"
|
||||
RUNTIME_PASS="$(grep -v 'frame' $TEST_LOG | grep "^PASS: " | sed -e "s/PASS: //")"
|
||||
if [ x"$RUNTIME_FAIL" = x ] ; then
|
||||
RUNTIME_FAIL="0"
|
||||
fi
|
||||
if [ x"$RUNTIME_PASS" = x ] ; then
|
||||
RUNTIME_PASS="0"
|
||||
fi
|
||||
RUNTIME="$(expr $RUNTIME_FAIL + $RUNTIME_PASS)"
|
||||
if [ x"$FAIL" != x ] ; then
|
||||
gen_results "$RUNTIME" "fail"
|
||||
echo -n ERROR
|
||||
else
|
||||
gen_results "$RUNTIME" "pass"
|
||||
echo -n PASS
|
||||
fi
|
||||
fi
|
||||
|
||||
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
|
||||
125
tests/roles/ibus-desktop-testing-role/tasks/main.yml
Normal file
125
tests/roles/ibus-desktop-testing-role/tasks/main.yml
Normal file
@ -0,0 +1,125 @@
|
||||
---
|
||||
- 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-screenshot
|
||||
- gnome-session
|
||||
- gnome-shell
|
||||
- dbus-x11
|
||||
- patch
|
||||
- procps-ng
|
||||
- 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'
|
||||
repo: 'https://gitlab.com/redhat/centos-stream/tests/gnome-desktop-testing.git'
|
||||
dest: gnome-desktop-testing
|
||||
force: yes
|
||||
|
||||
- name: Checkout v2021.1 tag in GNOME installed-tests testing harness
|
||||
command: git checkout -q -b v2021.1 refs/tags/v2021.1
|
||||
args:
|
||||
chdir: gnome-desktop-testing
|
||||
|
||||
- name: Delete stderr in GNOME installed-tests testing harness build
|
||||
patch:
|
||||
basedir: gnome-desktop-testing
|
||||
src: autogen.patch
|
||||
strip: 1
|
||||
|
||||
- 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'
|
||||
LANG: 'C.UTF-8'
|
||||
block:
|
||||
- name: Execute IBus tests
|
||||
shell: |
|
||||
set -e
|
||||
# Delete LC_CTYPE=C.UTF-8
|
||||
export -n LC_CTYPE
|
||||
status="FAIL: frame"
|
||||
ibus-desktop-testing-runner \
|
||||
--no-graphics \
|
||||
--runner=gnome \
|
||||
--tests='{{ installed_test_name }}' \
|
||||
--output='{{ remote_artifacts }}/{{ installed_test_name }}.log' \
|
||||
--result='{{ remote_artifacts }}/test.log' \
|
||||
--timeout=900 \
|
||||
null
|
||||
if [ $? -eq 0 ]; then
|
||||
status="PASS: frame"
|
||||
fi
|
||||
echo "${status}" >> {{ remote_artifacts }}/test.log
|
||||
echo "#### {{ remote_artifacts }}/{{ installed_test_name }}.log"
|
||||
if [ -f {{ remote_artifacts }}/{{ installed_test_name }}.log ] ; then
|
||||
cat {{ remote_artifacts }}/{{ installed_test_name }}.log
|
||||
fi
|
||||
echo "#"
|
||||
echo "#### {{ remote_artifacts }}/test.log"
|
||||
if [ -f {{ remote_artifacts }}/test.log ] ; then
|
||||
cat {{ remote_artifacts }}/test.log
|
||||
fi
|
||||
echo "#"
|
||||
|
||||
- name: Copy check-results.sh
|
||||
copy:
|
||||
src: check-results.sh
|
||||
dest: ./
|
||||
|
||||
- name: Check the results
|
||||
script: ./check-results.sh "{{ remote_artifacts }}/test.log" "0" 2>/dev/null
|
||||
register: test_fails
|
||||
failed_when: '"ERROR" in test_fails.stdout'
|
||||
|
||||
- name: Set role result
|
||||
set_fact:
|
||||
role_result: "{{ test_fails.stdout }}"
|
||||
role_result_failed: false
|
||||
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