From 63dc7997692593bbef692fddacca2cdffdf12150 Mon Sep 17 00:00:00 2001 From: Takao Fujiwara Date: Thu, 16 May 2024 14:46:26 +0900 Subject: [PATCH] Disable ibus-panel in ibus-desktop-testing-runner --- ibus-HEAD.patch | 79 +++++++++++++++++++ ibus-xx-desktop-testing-mutter.patch | 4 +- ibus.spec | 1 + .../files/check-results.sh | 13 +-- .../ibus-desktop-testing-role/tasks/main.yml | 2 +- 5 files changed, 91 insertions(+), 8 deletions(-) diff --git a/ibus-HEAD.patch b/ibus-HEAD.patch index e69de29..d3ccc73 100644 --- a/ibus-HEAD.patch +++ b/ibus-HEAD.patch @@ -0,0 +1,79 @@ +From cf30db6d19fd0d3c46a5468b34c53a2b7ba5d3b6 Mon Sep 17 00:00:00 2001 +From: fujiwarat +Date: Wed, 15 May 2024 23:30:59 +0900 +Subject: [PATCH] src/tests: Fix ibus-daemon in ibus-desktop-testing-runner + +Some distributions do not need the IBus panel and gnome-shell also +does not need it. +Add --verbose option to get ibus-daemon error messages. +--- + src/tests/ibus-desktop-testing-runner.in | 15 ++++++++++++--- + 1 file changed, 12 insertions(+), 3 deletions(-) + +diff --git a/src/tests/ibus-desktop-testing-runner.in b/src/tests/ibus-desktop-testing-runner.in +index 6b208345..1ac2dfc8 100755 +--- a/src/tests/ibus-desktop-testing-runner.in ++++ b/src/tests/ibus-desktop-testing-runner.in +@@ -45,6 +45,7 @@ TEST_LOG_STDOUT=0 + RESULT_LOG="" + SCREEN_LOG="" + HAVE_GRAPHICS=1 ++VERBOSE=0 + DESKTOP_COMMAND="dbus-launch --exit-with-session gnome-session" + PID_XORG=0 + PID_GNOME_SESSION=0 +@@ -83,6 +84,7 @@ usage() + "-b, --builddir=BUILDDIR Set the BUILDDIR\n" \ + "-s, --srcdir=SOURCEDIR Set the SOURCEDIR\n" \ + "-c, --no-graphics Use Xvfb instead of Xorg\n" \ ++"-V, --verbose Verbose log for ibus-daemon\n" \ + "-d, --desktop=DESKTOP Run DESTKTOP. The default is gnome-session.\n" \ + " Suffix '-with-dbus' can run DESKTOP with dbus session." \ + " E.g. --desktop=mutter-with-dbus" \ +@@ -101,8 +103,8 @@ usage() + parse_args() + { + # This is GNU getopt. "sudo port getopt" in BSD? +- 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:\ ++ ARGS=`getopt -o hvb:s:cVd:t:r:T:o:O:S: --long \ ++ help,version,builddir:,srcdir:,no-graphics,verbose,desktop:,tests:,runner:,timeout:,output:,result:,screendump:\ + -- "$@"`; + eval set -- "$ARGS" + while [ 1 ] ; do +@@ -112,6 +114,7 @@ parse_args() + -b | --builddir ) BUILDDIR="$2"; shift 2;; + -s | --srcdir ) SRCDIR="$2"; shift 2;; + -c | --no-graphics ) HAVE_GRAPHICS=0; shift;; ++ -V | --verbose ) VERBOSE=1; shift;; + -d | --desktop ) DESKTOP_COMMAND="$2"; shift 2;; + -t | --tests ) TESTS="$2"; shift 2;; + -r | --runner ) TESTING_RUNNER="$2"; shift 2;; +@@ -286,6 +289,7 @@ run_desktop() + PID_GNOME_SESSION=$! + sleep 30 + ++ IBUS_ARGS="--verbose --panel disable" + # gnome-shell 42 checks if org.freedesktop.IBus.session.GNOME.service + # systemd file is available with org.freedesktop.systemd1.Manager.GetUnit + # D-Bus method, which is provided by IBus 1.5.26, and if the file +@@ -302,8 +306,15 @@ run_desktop() + # with gnome-session.target systemd file. + # But `systemctl start gdm` terminates the parent script forcibly + # and the script cannot get the CI result. +- ibus-daemon --daemonize --verbose ++ if test $VERBOSE -eq 1 ; then ++ ibus-daemon $IBUS_ARGS & ++ else ++ ibus-daemon $IBUS_ARGS --daemonize ++ fi + sleep 3 ++ if test $VERBOSE -eq 1 ; then ++ ps -ef | grep ibus ++ fi + } + + +-- +2.45.0 + diff --git a/ibus-xx-desktop-testing-mutter.patch b/ibus-xx-desktop-testing-mutter.patch index c39ef7a..08f6160 100644 --- a/ibus-xx-desktop-testing-mutter.patch +++ b/ibus-xx-desktop-testing-mutter.patch @@ -12,18 +12,18 @@ index 54b7e0d7..211e0da5 100755 --- a/src/tests/ibus-desktop-testing-runner.in +++ b/src/tests/ibus-desktop-testing-runner.in @@ -45,7 +45,7 @@ TEST_LOG_STDOUT=0 - RESULT_LOG="" SCREEN_LOG="" HAVE_GRAPHICS=1 + VERBOSE=0 -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" @@ -81,9 +81,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" \ + "-V, --verbose Verbose log for ibus-daemon\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." \ diff --git a/ibus.spec b/ibus.spec index 87fe6ec..44a1cd0 100644 --- a/ibus.spec +++ b/ibus.spec @@ -70,6 +70,7 @@ Source1: https://github.com/ibus/%name/releases/download/%{source_version Source2: %{name}-xinput Source3: %{name}.conf.5 # Patch0: %%{name}-HEAD.patch +Patch0: %{name}-HEAD.patch # #2267615 Patch1: %{name}-2267615-wayland-init-keymap.patch # Under testing #1349148 #1385349 #1350291 #1406699 #1432252 #1601577 diff --git a/tests/roles/ibus-desktop-testing-role/files/check-results.sh b/tests/roles/ibus-desktop-testing-role/files/check-results.sh index 1160dac..8a46118 100755 --- a/tests/roles/ibus-desktop-testing-role/files/check-results.sh +++ b/tests/roles/ibus-desktop-testing-role/files/check-results.sh @@ -1,11 +1,13 @@ #!/bin/bash TEST_LOG="test.log" -TEST_RUN_IN_RAWHIDE="1" +TEST_RUN_IN_RAWHIDE=1 + +declare -i TEST_RUN_IN_RAWHIDE if [ $# -gt 0 ] ; then TEST_LOG="$1" - TEST_RUN_IN_RAWHIDE="$2" + TEST_RUN_IN_RAWHIDE=$2 fi gen_results() @@ -15,7 +17,6 @@ gen_results() TEST_STATUS_UPPER="$(echo "$TEST_STATUS" | tr '[:lower:]' '[:upper:]')" cat > results.xml << _EOF results: - - test: results result: $TEST_STATUS runtime: $TEST_RUNTIME @@ -39,12 +40,13 @@ if [ $TEST_RUN_IN_RAWHIDE -eq 0 ] ; then IS_RAWHIDE="$(grep -i rawhide /etc/fedora-release)" if [ x"$IS_RAWHIDE" != x ] ; then gen_results "0" "pass" + echo -n PASS exit 0 fi fi if [ ! -f $TEST_LOG ] ; then gen_results "0" "fail" - echo ERROR + 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: //")" @@ -58,9 +60,10 @@ else RUNTIME="$(expr $RUNTIME_FAIL + $RUNTIME_PASS)" if [ x"$FAIL" != x ] ; then gen_results "$RUNTIME" "fail" - echo ERROR + echo -n ERROR else gen_results "$RUNTIME" "pass" + echo -n PASS fi fi diff --git a/tests/roles/ibus-desktop-testing-role/tasks/main.yml b/tests/roles/ibus-desktop-testing-role/tasks/main.yml index c4f0138..b89c23a 100644 --- a/tests/roles/ibus-desktop-testing-role/tasks/main.yml +++ b/tests/roles/ibus-desktop-testing-role/tasks/main.yml @@ -201,7 +201,7 @@ - name: Check the results script: check-results.sh "{{ remote_artifacts }}/test.log" "0" register: test_fails - failed_when: False + failed_when: '"ERROR" in test_fails.stdout' - name: Set role result set_fact: