diff --git a/.gitignore b/.gitignore index d2273ed..62b1938 100644 --- a/.gitignore +++ b/.gitignore @@ -1,2 +1,52 @@ -SOURCES/ibus-table-1.9.18.tar.gz +ibus-table-1.3.0.20100621.tar.gz +/ibus-table-1.3.9.20110827.tar.gz +/ibus-table-1.4.99.20120907.tar.gz +/ibus-table-1.4.99.20121113.tar.gz +/ibus-table-1.4.99.20130103.tar.gz +/ibus-table-1.4.99.20130108.tar.gz +/ibus-table-1.4.99.20130110.tar.gz +/ibus-table-1.5.0.tar.gz +/ibus-table-1.5.0.20130419.tar.gz +/ibus-table-1.5.0.20140203.tar.gz +/ibus-table-1.5.0.20140205.tar.gz +/ibus-table-1.5.0.20140218.tar.gz +/ibus-table-1.5.0.20140306.tar.gz +/ibus-table-1.5.0.20140311.tar.gz +/ibus-table-1.5.0.20140312.tar.gz +/ibus-table-1.5.0.20140402.tar.gz +/ibus-table-1.5.0.20140409.tar.gz +/ibus-table-1.5.0.20140416.tar.gz +/ibus-table-1.5.0.20140519.tar.gz +/ibus-table-1.5.0.20140527.tar.gz +/ibus-table-1.5.0.20140528.tar.gz +/ibus-table-1.8.0.tar.gz +/ibus-table-1.8.1.tar.gz +/ibus-table-1.8.2.tar.gz +/ibus-table-1.8.3.tar.gz +/ibus-table-1.8.4.tar.gz +/ibus-table-1.8.5.tar.gz +/ibus-table-1.8.6.tar.gz +/ibus-table-1.8.7.tar.gz +/ibus-table-1.8.8.tar.gz +/ibus-table-1.8.9.tar.gz +/ibus-table-1.8.10.tar.gz +/ibus-table-1.8.11.tar.gz +/ibus-table-1.9.0.tar.gz +/ibus-table-1.9.1.tar.gz +/ibus-table-1.9.2.tar.gz +/ibus-table-1.9.3.tar.gz +/ibus-table-1.9.4.tar.gz +/ibus-table-1.9.5.tar.gz +/ibus-table-1.9.6.tar.gz +/ibus-table-1.9.7.tar.gz +/ibus-table-1.9.8.tar.gz +/ibus-table-1.9.9.tar.gz +/ibus-table-1.9.10.tar.gz +/ibus-table-1.9.11.tar.gz +/ibus-table-1.9.12.tar.gz +/ibus-table-1.9.13.tar.gz +/ibus-table-1.9.14.tar.gz +/ibus-table-1.9.15.tar.gz +/ibus-table-1.9.16.tar.gz +/ibus-table-1.9.17.tar.gz /ibus-table-1.9.18.tar.gz diff --git a/tests/roles/ibus-desktop-testing-role/defaults/main.yml b/tests/roles/ibus-desktop-testing-role/defaults/main.yml new file mode 100644 index 0000000..ddf03ff --- /dev/null +++ b/tests/roles/ibus-desktop-testing-role/defaults/main.yml @@ -0,0 +1,21 @@ +role_pkgs_req: + - rsync + - xorg-x11-server-Xvfb + - libappstream-glib + - desktop-file-utils + - python3-mock + - python3-gobject + - python3-gobject-base + - glib2 + - gtk3 + - dconf + - dbus-x11 + - ibus + - ibus-devel + - gcc + - python3-devel + - python3-pyxdg + - xorg-x11-server-Xvfb + - ibus-table-chinese-wubi-jidian + - ibus-table-chinese-cangjie + - ibus-table-chinese-stroke5 diff --git a/tests/roles/ibus-desktop-testing-role/meta/main.yml b/tests/roles/ibus-desktop-testing-role/meta/main.yml new file mode 100644 index 0000000..6626402 --- /dev/null +++ b/tests/roles/ibus-desktop-testing-role/meta/main.yml @@ -0,0 +1,4 @@ +--- + +dependencies: + - role: str-common-init diff --git a/tests/roles/ibus-desktop-testing-role/tasks/main.yml b/tests/roles/ibus-desktop-testing-role/tasks/main.yml new file mode 100644 index 0000000..a958379 --- /dev/null +++ b/tests/roles/ibus-desktop-testing-role/tasks/main.yml @@ -0,0 +1,101 @@ +--- +- 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: | + 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 + diff --git a/tests/tests.yml b/tests/tests.yml new file mode 100644 index 0000000..08966a8 --- /dev/null +++ b/tests/tests.yml @@ -0,0 +1,8 @@ +- hosts: localhost + roles: + - role: ibus-desktop-testing-role + installed_test_name: ibus-table + tags: + - classic + - gating +