--- - 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