102 lines
2.9 KiB
YAML
102 lines
2.9 KiB
YAML
|
---
|
||
|
- 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
|
||
|
|