#11 Convert CI tests to tmt
Merged 2 years ago by mfabian. Opened 2 years ago by mfabian.
rpms/ mfabian/ibus-table rawhide  into  rawhide

file added
+1
@@ -0,0 +1,1 @@ 

+ 1

file modified
+2 -2
@@ -63,8 +63,8 @@ 

  %__rm -rf $RPM_BUILD_ROOT

  export PYTHON=%{__python3}

  %make_install NO_INDEX=true pkgconfigdir=%{_datadir}/pkgconfig

- %py_byte_compile %{python3} /usr/share/ibus-table/engine

- %py_byte_compile %{python3} /usr/share/ibus-table/setup

+ %py_byte_compile %{python3} %{buildroot}/usr/share/ibus-table/engine

+ %py_byte_compile %{python3} %{buildroot}/usr/share/ibus-table/setup

  

  %find_lang %{name}

  

file added
+5
@@ -0,0 +1,5 @@ 

+ summary: Basic smoke test

+ discover:

+     how: fmf

+ execute:

+     how: tmt

tests/main.fmf tests/roles/ibus-desktop-testing-role/defaults/main.yml
file renamed
+25 -4
@@ -1,4 +1,28 @@ 

- role_pkgs_req:

+ 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

+   - gnome-session

+   - gnome-shell

+   - gnome-shell-extension-no-overview

+   - ibus

+   - ibus-devel

+   - ibus-desktop-testing

+   - gnome-desktop-testing

+   - ibus-table

+   - ibus-table-tests

    - rsync

    - xorg-x11-server-Xvfb

    - appstream
@@ -11,9 +35,6 @@ 

    - gtk3

    - dconf

    - dbus-x11

-   - ibus

-   - ibus-devel

-   - gcc

    - python3-devel

    - python3-pyxdg

    - xorg-x11-server-Xvfb

@@ -1,4 +0,0 @@ 

- ---

- 

- dependencies:

-     - role: str-common-init

@@ -1,106 +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-table-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 table 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: |

-         IS_RAWHIDE=`grep -i rawhide /etc/fedora-release`

-         if [ x"$IS_RAWHIDE" != x ] ; then

-             echo PASS

-             exit 0

-         fi

-         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

- 

file added
+40
@@ -0,0 +1,40 @@ 

+ #!/bin/bash

+ . /usr/share/beakerlib/beakerlib.sh || exit 1

+ 

+ NAME=ibus-table

+ 

+ rlJournalStart

+     rlPhaseStartSetup

+         rlAssertRpm ${NAME}

+         rlAssertRpm gnome-desktop-testing

+         rlAssertRpm gnome-shell-extension-no-overview

+         rlAssertBinaryOrigin gnome-desktop-testing-runner gnome-desktop-testing

+         rlRun "tmp=\$(mktemp -d)" 0 "Create tmp directory"

+         rlRun "pushd $tmp"

+     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

file removed
-8
@@ -1,8 +0,0 @@ 

- - hosts: localhost

-   roles:

-     - role: ibus-desktop-testing-role

-       installed_test_name: ibus-table

-       tags:

-       - classic

-       - gating

-