diff options
author | Simon McVittie <smcv@collabora.com> | 2020-08-05 21:08:05 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2020-08-05 23:08:05 +0300 |
commit | 7db49db67d4aa7582cf46feb7157235e66aa95b1 (patch) | |
tree | c8ed49db60f25d00f872043f7729111bdba94216 /test cases/common/213 tap tests | |
parent | d4ec080f732a36a361911c3949e5644512642852 (diff) | |
download | meson-7db49db67d4aa7582cf46feb7157235e66aa95b1.zip meson-7db49db67d4aa7582cf46feb7157235e66aa95b1.tar.gz meson-7db49db67d4aa7582cf46feb7157235e66aa95b1.tar.bz2 |
mtest: TestResult.SKIP is not a failure (#7525)
* 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 <smcv@debian.org>
* Add test-cases for partially skipped TAP tests
issue7515.txt is the output of one of the real TAP tests in gjs, which
failed as a result of #7515. The version inline in meson.build is
a minimal reproducer.
Signed-off-by: Simon McVittie <smcv@debian.org>
Diffstat (limited to 'test cases/common/213 tap tests')
-rw-r--r-- | test cases/common/213 tap tests/cat.c | 26 | ||||
-rw-r--r-- | test cases/common/213 tap tests/issue7515.txt | 27 | ||||
-rw-r--r-- | test cases/common/213 tap tests/meson.build | 3 |
3 files changed, 56 insertions, 0 deletions
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 0000000..4b92010 --- /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 0000000..ca85637 --- /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 58529a7..c762c73 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') |