Control: tags 966923 + patch
Control: tags 966923 + pending
Control: tags 968704 + pending

Dear maintainer,

I'm sponsoring an NMU for meson (versioned as 0.55.0-2.1) and uploaded
it without delay, after Marco spoke to Martin. Hopefully this doesn't
cause you too much trouble - the skip bug is blocking our work on
updating GNOME to 3.38 so we need this fixed at least in unstable.

Regards,

-- 
Iain Lane                                  [ i...@orangesquash.org.uk ]
Debian Developer                                   [ la...@debian.org ]
Ubuntu Developer                                   [ la...@ubuntu.com ]
diff -Nru meson-0.55.0/debian/changelog meson-0.55.0/debian/changelog
--- meson-0.55.0/debian/changelog	2020-07-16 17:19:52.000000000 +0100
+++ meson-0.55.0/debian/changelog	2020-08-20 18:10:34.000000000 +0100
@@ -1,3 +1,11 @@
+meson (0.55.0-2.1) unstable; urgency=medium
+
+  * Non-maintainer upload.
+  * Don't consider skipped tests as failures. Closes: #966923
+  * Fix test with setuptools 49. Closes: #968704
+
+ -- Marco Trevisan (TreviƱo) <ma...@ubuntu.com>  Thu, 20 Aug 2020 18:10:34 +0100
+
 meson (0.55.0-2) unstable; urgency=medium
 
   * Fix crossbuild test from Gianfranco Costamagna. Closes: #963546
diff -Nru meson-0.55.0/debian/patches/3-mtest_TestResult_SKIP_is_not_a_failure.patch meson-0.55.0/debian/patches/3-mtest_TestResult_SKIP_is_not_a_failure.patch
--- meson-0.55.0/debian/patches/3-mtest_TestResult_SKIP_is_not_a_failure.patch	1970-01-01 01:00:00.000000000 +0100
+++ meson-0.55.0/debian/patches/3-mtest_TestResult_SKIP_is_not_a_failure.patch	2020-08-20 18:10:31.000000000 +0100
@@ -0,0 +1,125 @@
+From 998ee63e9596d8b3315ddce3d6f4612fec3588ef Mon Sep 17 00:00:00 2001
+From: Simon McVittie <s...@debian.org>
+Date: Mon, 3 Aug 2020 13:31:42 +0100
+Subject: [PATCH] mtest: TestResult.SKIP is not a failure
+
+If some but not all tests in a run were skipped, then the overall result
+is given by whether there were any failures among the non-skipped tests.
+
+Resolves: https://github.com/mesonbuild/meson/issues/7515
+Signed-off-by: Simon McVittie <s...@debian.org>
+
+Bug-Upstream: https://github.com/mesonbuild/meson/issues/7515
+Bug-Debian: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=966923
+Origin: https://github.com/mesonbuild/meson/pull/7525
+Applied-Upstream: 0.56.0
+---
+ mesonbuild/mtest.py | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/mesonbuild/mtest.py b/mesonbuild/mtest.py
+index 0d8169218f..817550e666 100644
+--- a/mesonbuild/mtest.py
++++ b/mesonbuild/mtest.py
+@@ -489,7 +489,7 @@ def make_tap(cls, test: 'TestSerialisation', test_env: T.Dict[str, str],
+                 failed = True
+             elif isinstance(i, TAPParser.Test):
+                 results.append(i.result)
+-                if i.result not in {TestResult.OK, TestResult.EXPECTEDFAIL}:
++                if i.result not in {TestResult.OK, TestResult.EXPECTEDFAIL, TestResult.SKIP}:
+                     failed = True
+             elif isinstance(i, TAPParser.Error):
+                 results.append(TestResult.ERROR)
+
+diff --git a/test cases/common/213 tap tests/cat.c b/test cases/common/213 tap tests/cat.c
+new file mode 100644
+index 0000000000..4b92010ade
+--- /dev/null
++++ b/test cases/common/213 tap tests/cat.c	
+@@ -0,0 +1,26 @@
++#include <errno.h>
++#include <stdio.h>
++
++int main(int argc, char **argv) {
++    char buf[1024];
++    size_t len;
++    FILE *fh;
++
++    if (argc != 2) {
++        fprintf(stderr, "Incorrect number of arguments, got %i\n", argc);
++        return 1;
++    }
++    fh = fopen(argv[1], "r");
++    if (fh == NULL) {
++        fprintf(stderr, "Opening %s: errno=%i\n", argv[1], errno);
++        return 1;
++    }
++    do {
++        len = fread(buf, 1, sizeof(buf), fh);
++        if (len > 0) {
++            fwrite(buf, 1, len, stdout);
++        }
++    } while (len > 0);
++    fclose(fh);
++    return 0;
++}
+diff --git a/test cases/common/213 tap tests/issue7515.txt b/test cases/common/213 tap tests/issue7515.txt
+new file mode 100644
+index 0000000000..ca8563778d
+--- /dev/null
++++ b/test cases/common/213 tap tests/issue7515.txt	
+@@ -0,0 +1,27 @@
++1..26
++ok 1 Gtk overrides UI template sets up internal and public template children
++ok 2 Gtk overrides UI template sets up public template children with the correct widgets
++ok 3 Gtk overrides UI template sets up internal template children with the correct widgets
++ok 4 Gtk overrides UI template connects template callbacks to the correct handler
++ok 5 Gtk overrides UI template binds template callbacks to the correct object
++ok 6 Gtk overrides UI template from resource sets up internal and public template children
++ok 7 Gtk overrides UI template from resource sets up public template children with the correct widgets
++ok 8 Gtk overrides UI template from resource sets up internal template children with the correct widgets
++ok 9 Gtk overrides UI template from resource connects template callbacks to the correct handler
++ok 10 Gtk overrides UI template from resource binds template callbacks to the correct object
++ok 11 Gtk overrides UI template from file sets up internal and public template children
++ok 12 Gtk overrides UI template from file sets up public template children with the correct widgets
++ok 13 Gtk overrides UI template from file sets up internal template children with the correct widgets
++ok 14 Gtk overrides UI template from file connects template callbacks to the correct handler
++ok 15 Gtk overrides UI template from file binds template callbacks to the correct object
++ok 16 Gtk overrides Class inheriting from template class sets up internal and public template children # SKIP pending
++ok 17 Gtk overrides Class inheriting from template class sets up public template children with the correct widgets # SKIP pending
++ok 18 Gtk overrides Class inheriting from template class sets up internal template children with the correct widgets # SKIP pending
++ok 19 Gtk overrides Class inheriting from template class connects template callbacks to the correct handler # SKIP pending
++ok 20 Gtk overrides Class inheriting from template class binds template callbacks to the correct object # SKIP pending
++ok 21 Gtk overrides sets CSS names on classes
++ok 22 Gtk overrides avoid crashing when GTK vfuncs are called in garbage collection
++ok 23 Gtk overrides accepts string in place of GdkAtom
++ok 24 Gtk overrides accepts null in place of GdkAtom as GDK_NONE
++ok 25 Gtk overrides uses the correct GType for null child properties
++ok 26 Gtk overrides can create a Gtk.TreeIter with accessible stamp field
+diff --git a/test cases/common/213 tap tests/meson.build b/test cases/common/213 tap tests/meson.build
+index 58529a72eb..c762c733e2 100644
+--- a/test cases/common/213 tap tests/meson.build	
++++ b/test cases/common/213 tap tests/meson.build	
+@@ -1,10 +1,13 @@
+ project('test features', 'c')
+ 
+ tester = executable('tester', 'tester.c')
++cat = executable('cat', 'cat.c')
+ test('pass', tester, args : ['ok'], protocol: 'tap')
+ test('fail', tester, args : ['not ok'], should_fail: true, protocol: 'tap')
+ test('xfail', tester, args : ['not ok # todo'], protocol: 'tap')
+ test('xpass', tester, args : ['ok # todo'], should_fail: true, protocol: 'tap')
+ test('skip', tester, args : ['ok # skip'], protocol: 'tap')
++test('partially skipped', tester, args : ['ok 1\nok 2 # skip'], protocol: 'tap')
++test('partially skipped (real-world example)', cat, args : [files('issue7515.txt')], protocol: 'tap')
+ test('skip failure', tester, args : ['not ok # skip'], should_fail: true, protocol: 'tap')
+ test('no tests', tester, args : ['1..0 # skip'], protocol: 'tap')
+diff --git a/test cases/failing test/5 tap tests/meson.build b/test cases/failing test/5 tap tests/meson.build
+index 844c1f9900..c49043bc6c 100644
+--- a/test cases/failing test/5 tap tests/meson.build	
++++ b/test cases/failing test/5 tap tests/meson.build	
+@@ -4,3 +4,4 @@ tester = executable('tester', 'tester.c')
+ test('nonzero return code', tester, args : [], protocol: 'tap')
+ test('missing test', tester, args : ['1..1'], protocol: 'tap')
+ test('incorrect skip', tester, args : ['1..1 # skip\nok 1'], protocol: 'tap')
++test('partially skipped', tester, args : ['not ok 1\nok 2 # skip'], protocol: 'tap')
diff -Nru meson-0.55.0/debian/patches/4-fix-setuptools-49-test.patch meson-0.55.0/debian/patches/4-fix-setuptools-49-test.patch
--- meson-0.55.0/debian/patches/4-fix-setuptools-49-test.patch	1970-01-01 01:00:00.000000000 +0100
+++ meson-0.55.0/debian/patches/4-fix-setuptools-49-test.patch	2020-08-20 18:10:27.000000000 +0100
@@ -0,0 +1,29 @@
+From d3fe172acd856a1fece3b12c600b07df13677ad9 Mon Sep 17 00:00:00 2001
+From: Daniel Mensinger <dan...@mensinger-ka.de>
+Date: Fri, 17 Jul 2020 18:17:47 +0200
+Subject: [PATCH] Fix setuptools 49 test. (fixes #7452)
+
+Bug-Upstream: https://github.com/mesonbuild/meson/issues/7452
+Bug-Debian: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=968704
+Origin: https://github.com/mesonbuild/meson/commit/d3fe172acd856a1fece3
+Applied-Upstream: 0.55.1
+
+---
+ run_meson_command_tests.py | 4 ++++
+ 1 file changed, 4 insertions(+)
+
+diff --git a/run_meson_command_tests.py b/run_meson_command_tests.py
+index 6ed3d8f8db..7bc6185f1a 100755
+--- a/run_meson_command_tests.py
++++ b/run_meson_command_tests.py
+@@ -129,6 +129,10 @@ def test_meson_installed(self):
+         os.environ['PYTHONPATH'] = os.path.join(str(pylibdir), '')
+         os.environ['PATH'] = str(bindir) + os.pathsep + os.environ['PATH']
+         self._run(python_command + ['setup.py', 'install', '--prefix', str(prefix)])
++        # Fix importlib-metadata by appending all dirs in pylibdir
++        PYTHONPATHS = [pylibdir] + [x for x in pylibdir.iterdir()]
++        PYTHONPATHS = [os.path.join(str(x), '') for x in PYTHONPATHS]
++        os.environ['PYTHONPATH'] = os.pathsep.join(PYTHONPATHS)
+         # Check that all the files were installed correctly
+         self.assertTrue(bindir.is_dir())
+         self.assertTrue(pylibdir.is_dir())
diff -Nru meson-0.55.0/debian/patches/series meson-0.55.0/debian/patches/series
--- meson-0.55.0/debian/patches/series	2020-07-12 15:29:07.000000000 +0100
+++ meson-0.55.0/debian/patches/series	2020-08-20 18:08:19.000000000 +0100
@@ -1,2 +1,4 @@
 1-disable-openmpi.patch
 2-disable-rootdir-test.patch
+3-mtest_TestResult_SKIP_is_not_a_failure.patch
+4-fix-setuptools-49-test.patch

Attachment: signature.asc
Description: PGP signature

Reply via email to