--- - 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-anthy-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' 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 tests shell: | set -e status="FAIL: frame" if [ -f $HOME/.config/anthy/last-record2_default.utf8 ] ; then \ rm $HOME/.config/anthy/last-record2_default.utf8 fi if [ -f $HOME/.anthy/last-record2_default.utf8 ] ; then \ rm $HOME/.anthy/last-record2_default.utf8 fi 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}" >> {{ 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: Check the results #shell: grep "^FAIL" {{ remote_artifacts }}/test.log shell: | log="{{ remote_artifacts }}/test.log" if [ ! -f $log ] ; then echo ERROR else FAIL=`grep "^FAIL: " {{ remote_artifacts }}/test.log | grep -v 'FAIL: 0$'` if [ x"$FAIL" != x ] ; then echo ERROR 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