From 1388602db82e8ced8c830c44c5e4975347bfdc0f Mon Sep 17 00:00:00 2001 From: Adam Samalik Date: Wed, 21 Jun 2023 14:53:30 +0200 Subject: [PATCH] import sources --- .gitignore | 3 +- 569.patch | 47 ++++++++++ .../defaults/main.yml | 4 + .../gnome-desktop-testing-role/meta/main.yml | 4 + .../gnome-desktop-testing-role/tasks/main.yml | 85 +++++++++++++++++++ tests/tests.yml | 10 +++ update-gio-modules | 19 +++++ 7 files changed, 170 insertions(+), 2 deletions(-) create mode 100644 569.patch create mode 100644 tests/roles/gnome-desktop-testing-role/defaults/main.yml create mode 100644 tests/roles/gnome-desktop-testing-role/meta/main.yml create mode 100644 tests/roles/gnome-desktop-testing-role/tasks/main.yml create mode 100644 tests/tests.yml create mode 100644 update-gio-modules diff --git a/.gitignore b/.gitignore index 550bb45..526b2e6 100644 --- a/.gitignore +++ b/.gitignore @@ -1,2 +1 @@ -SOURCES/glib-2.56.4.tar.xz -/glib-2.56.4.tar.xz +/glib-2.*.tar.xz diff --git a/569.patch b/569.patch new file mode 100644 index 0000000..6699c59 --- /dev/null +++ b/569.patch @@ -0,0 +1,47 @@ +From 4ef58e5661849317a1110c9b93957f2c608677dd Mon Sep 17 00:00:00 2001 +From: Simon McVittie +Date: Thu, 3 Jan 2019 08:21:40 +0000 +Subject: [PATCH 2/2] gvariant test: Also force alignment for tuple test data + +glib!552 (commit 9eed22b3) fixed this for the tests that failed on i686, +but this additional test failed on Debian's s390x port +(IBM z/Architecture, 64-bit big-endian). + +Signed-off-by: Simon McVittie +--- + glib/tests/gvariant.c | 7 +++++-- + 1 file changed, 5 insertions(+), 2 deletions(-) + +diff --git a/glib/tests/gvariant.c b/glib/tests/gvariant.c +index a7b19826d..c4a996c1f 100644 +--- a/glib/tests/gvariant.c ++++ b/glib/tests/gvariant.c +@@ -4820,6 +4820,7 @@ test_normal_checking_array_offsets (void) + static void + test_normal_checking_tuple_offsets (void) + { ++ gpointer aligned_data; + const guint8 data[] = { + 0x07, 0xe5, 0x00, 0x07, 0x00, 0x07, + '(', 'a', 's', 'a', 's', 'a', 's', 'a', 's', 'a', 's', 'a', 's', ')', +@@ -4828,13 +4829,15 @@ test_normal_checking_tuple_offsets (void) + GVariant *variant = NULL; + GVariant *normal_variant = NULL; + +- variant = g_variant_new_from_data (G_VARIANT_TYPE_VARIANT, data, size, +- FALSE, NULL, NULL); ++ aligned_data = g_memdup (data, size); /* guarantee alignment */ ++ variant = g_variant_new_from_data (G_VARIANT_TYPE_VARIANT, aligned_data, ++ size, FALSE, NULL, NULL); + g_assert_nonnull (variant); + + normal_variant = g_variant_get_normal_form (variant); + g_assert_nonnull (normal_variant); + ++ g_free (aligned_data); + g_variant_unref (normal_variant); + g_variant_unref (variant); + } +-- +2.19.1 + diff --git a/tests/roles/gnome-desktop-testing-role/defaults/main.yml b/tests/roles/gnome-desktop-testing-role/defaults/main.yml new file mode 100644 index 0000000..6359d45 --- /dev/null +++ b/tests/roles/gnome-desktop-testing-role/defaults/main.yml @@ -0,0 +1,4 @@ +role_pkgs_req: + - rsync + - xorg-x11-server-Xvfb + - sudo diff --git a/tests/roles/gnome-desktop-testing-role/meta/main.yml b/tests/roles/gnome-desktop-testing-role/meta/main.yml new file mode 100644 index 0000000..6626402 --- /dev/null +++ b/tests/roles/gnome-desktop-testing-role/meta/main.yml @@ -0,0 +1,4 @@ +--- + +dependencies: + - role: str-common-init diff --git a/tests/roles/gnome-desktop-testing-role/tasks/main.yml b/tests/roles/gnome-desktop-testing-role/tasks/main.yml new file mode 100644 index 0000000..ff20eab --- /dev/null +++ b/tests/roles/gnome-desktop-testing-role/tasks/main.yml @@ -0,0 +1,85 @@ +--- +- 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 GNOME installed-tests testing harness + package: + name: + - git + - make + - gcc + - diffutils + - autoconf + - automake + - libtool + - glib2-devel + - systemd-devel + + - 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: Create a user to run GNOME installed-tests as + user: + name: shadowman + state: present + +- name: Start GNOME installed-tests testing harness + block: + - name: Allow shadowman user access to artifacts dir + file: + path: "{{ remote_artifacts }}" + mode: 01777 + + - name: Execute tests + become: yes + become_user: shadowman + shell: | + set -e + log_file="{{ remote_artifacts }}/{{ installed_test_name }}.log" + exec 2>>$log_file 1>>$log_file + status="FAIL" + dbus-run-session xvfb-run -a -s '-screen 0 1024x768x24' env TMPDIR='{{ remote_artifacts }}' G_MESSAGES_DEBUG='all' gnome-desktop-testing-runner '{{ installed_test_name }}' + if [ $? -eq 0 ]; then + status="PASS" + fi + echo "${status} $TEST" >> {{ remote_artifacts }}/test.log + args: + chdir: "{{ remote_artifacts }}" + + - name: Check the results + shell: grep "^FAIL" {{ remote_artifacts }}/test.log + register: test_fails + failed_when: False + + - name: Set role result + set_fact: + 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..dba76d0 --- /dev/null +++ b/tests/tests.yml @@ -0,0 +1,10 @@ +- hosts: localhost + roles: + - role: gnome-desktop-testing-role + installed_test_name: glib + tags: + - classic + - gating + required_packages: + - shared-mime-info + diff --git a/update-gio-modules b/update-gio-modules new file mode 100644 index 0000000..d203db3 --- /dev/null +++ b/update-gio-modules @@ -0,0 +1,19 @@ +#! /bin/sh + +if test $# != 1; then + echo "usage: update-gio-modules host_triplet" 1>&2 + exit 1 +fi + +echo "Warning: update-gio-modules is deprecated and will be removed in glib2-2.28.0" + +umask 022 + +case "$host" in + alpha*|ia64*|powerpc64*|ppc64*|s390x*|sparc64*|x86_64*) + /usr/bin/gio-querymodules-64 /usr/lib64/gio/modules + ;; + *) + /usr/bin/gio-querymodules-32 /usr/lib/gio/modules + ;; +esac