* [igt-dev] [PATCH i-g-t 1/7] lib/tests: Check that igt_assert forwards correctly through igt_fork
@ 2019-02-07 16:50 Daniel Vetter
2019-02-07 16:50 ` [igt-dev] [PATCH i-g-t 2/7] lib/tests: make sure igt_skip in igt_fork is forbidden Daniel Vetter
` (7 more replies)
0 siblings, 8 replies; 9+ messages in thread
From: Daniel Vetter @ 2019-02-07 16:50 UTC (permalink / raw)
To: IGT development; +Cc: Daniel Vetter
Note that without the igt_waitchildren nothing at all gets forwarded,
maybe we should check for left-behind children somewhere on subtest
exit.
Signed-off-by: Daniel Vetter <daniel.vetter@intel.com>
---
lib/tests/igt_fork.c | 87 +++++++++++++++++++++++++++++++++++++++++++
lib/tests/meson.build | 1 +
2 files changed, 88 insertions(+)
create mode 100644 lib/tests/igt_fork.c
diff --git a/lib/tests/igt_fork.c b/lib/tests/igt_fork.c
new file mode 100644
index 000000000000..d495c7815e06
--- /dev/null
+++ b/lib/tests/igt_fork.c
@@ -0,0 +1,87 @@
+/*
+ * Copyright © 2019 Intel Corporation
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining a
+ * copy of this software and associated documentation files (the "Software"),
+ * to deal in the Software without restriction, including without limitation
+ * the rights to use, copy, modify, merge, publish, distribute, sublicense,
+ * and/or sell copies of the Software, and to permit persons to whom the
+ * Software is furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice (including the next
+ * paragraph) shall be included in all copies or substantial portions of the
+ * Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
+ * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+ * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS
+ * IN THE SOFTWARE.
+ *
+ */
+
+#include <assert.h>
+#include <errno.h>
+#include <stdint.h>
+#include <stdlib.h>
+#include <unistd.h>
+#include <sys/types.h>
+#include <sys/wait.h>
+
+#include "igt_core.h"
+
+/*
+ * We need to hide assert from the cocci igt test refactor spatch.
+ *
+ * IMPORTANT: Test infrastructure tests are the only valid places where using
+ * assert is allowed.
+ */
+#define internal_assert assert
+
+char test[] = "test";
+char *argv_run[] = { test };
+
+static void igt_fork_vs_assert(void)
+{
+ igt_fork(i, 1) {
+ igt_assert(0);
+ }
+
+ igt_waitchildren();
+}
+
+static int do_fork(void (*test_to_run)(void))
+{
+ int pid, status;
+ int argc;
+
+ switch (pid = fork()) {
+ case -1:
+ internal_assert(0);
+ case 0:
+ argc = 1;
+ igt_simple_init(argc, argv_run);
+ test_to_run();
+ igt_exit();
+ default:
+ while (waitpid(pid, &status, 0) == -1 &&
+ errno == EINTR)
+ ;
+
+ if(WIFSIGNALED(status))
+ return WTERMSIG(status) + 128;
+
+ return WEXITSTATUS(status);
+ }
+}
+
+
+int main(int argc, char **argv)
+{
+ int ret;
+
+ ret = do_fork(igt_fork_vs_assert);
+ internal_assert(ret == IGT_EXIT_FAILURE);
+}
diff --git a/lib/tests/meson.build b/lib/tests/meson.build
index 55ab2b3d2dff..665ad4a0fbcc 100644
--- a/lib/tests/meson.build
+++ b/lib/tests/meson.build
@@ -1,5 +1,6 @@
lib_tests = [
'igt_fork_helper',
+ 'igt_fork',
'igt_list_only',
'igt_simulation',
'igt_stats',
--
2.20.1
_______________________________________________
igt-dev mailing list
igt-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/igt-dev
^ permalink raw reply related [flat|nested] 9+ messages in thread
* [igt-dev] [PATCH i-g-t 2/7] lib/tests: make sure igt_skip in igt_fork is forbidden
2019-02-07 16:50 [igt-dev] [PATCH i-g-t 1/7] lib/tests: Check that igt_assert forwards correctly through igt_fork Daniel Vetter
@ 2019-02-07 16:50 ` Daniel Vetter
2019-02-07 16:50 ` [igt-dev] [PATCH i-g-t 3/7] lib: Don't leak children in igt_waitchildren_timeout Daniel Vetter
` (6 subsequent siblings)
7 siblings, 0 replies; 9+ messages in thread
From: Daniel Vetter @ 2019-02-07 16:50 UTC (permalink / raw)
To: IGT development; +Cc: Daniel Vetter
Another corner case to check.
Signed-off-by: Daniel Vetter <daniel.vetter@intel.com>
---
lib/tests/igt_fork.c | 14 ++++++++++++++
1 file changed, 14 insertions(+)
diff --git a/lib/tests/igt_fork.c b/lib/tests/igt_fork.c
index d495c7815e06..5ff2956dd0ab 100644
--- a/lib/tests/igt_fork.c
+++ b/lib/tests/igt_fork.c
@@ -43,6 +43,15 @@
char test[] = "test";
char *argv_run[] = { test };
+static void igt_fork_vs_skip(void)
+{
+ igt_fork(i, 1) {
+ igt_skip("skipping");
+ }
+
+ igt_waitchildren();
+}
+
static void igt_fork_vs_assert(void)
{
igt_fork(i, 1) {
@@ -82,6 +91,11 @@ int main(int argc, char **argv)
{
int ret;
+ /* check that igt_assert is forwarded */
ret = do_fork(igt_fork_vs_assert);
internal_assert(ret == IGT_EXIT_FAILURE);
+
+ /* check that igt_skip within a fork blows up */
+ ret = do_fork(igt_fork_vs_skip);
+ internal_assert(ret == SIGABRT + 128);
}
--
2.20.1
_______________________________________________
igt-dev mailing list
igt-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/igt-dev
^ permalink raw reply related [flat|nested] 9+ messages in thread
* [igt-dev] [PATCH i-g-t 3/7] lib: Don't leak children in igt_waitchildren_timeout
2019-02-07 16:50 [igt-dev] [PATCH i-g-t 1/7] lib/tests: Check that igt_assert forwards correctly through igt_fork Daniel Vetter
2019-02-07 16:50 ` [igt-dev] [PATCH i-g-t 2/7] lib/tests: make sure igt_skip in igt_fork is forbidden Daniel Vetter
@ 2019-02-07 16:50 ` Daniel Vetter
2019-02-07 16:50 ` [igt-dev] [PATCH i-g-t 4/7] lib/tests: make sure we catch igt_fork leaks Daniel Vetter
` (5 subsequent siblings)
7 siblings, 0 replies; 9+ messages in thread
From: Daniel Vetter @ 2019-02-07 16:50 UTC (permalink / raw)
To: IGT development; +Cc: Daniel Vetter
Instead of cleaning up the mess in igt_exit make sure we don't even
let it out of the container. See also
commit 754876378d6c9b2775e8c07b4d16f9878c55949f
Author: Chris Wilson <chris@chris-wilson.co.uk>
Date: Fri Feb 26 22:11:10 2016 +0000
igt/gem_sync: Enforce a timeout of 20s
which added this helper.
To make sure that everyone follows the rules, add an assert.
We're keeping the cleanup code as a failsafe, and because it speeds
up the testcase I'm following up with.
v2: Chris pointed out that my original patch did nothing. Which I
didn't catch because my testcase was also broken. Unfortunately this
means we need to open code part of the waiting.
Cc: Chris Wilson <chris@chris-wilson.co.uk>
Signed-off-by: Daniel Vetter <daniel.vetter@intel.com>
---
lib/igt_core.c | 39 ++++++++++++++++++++++++++++++++++-----
1 file changed, 34 insertions(+), 5 deletions(-)
diff --git a/lib/igt_core.c b/lib/igt_core.c
index 49fbf70deb06..a23e29ca36fe 100644
--- a/lib/igt_core.c
+++ b/lib/igt_core.c
@@ -1525,6 +1525,7 @@ void igt_exit(void)
for (int c = 0; c < num_test_children; c++)
kill(test_children[c], SIGKILL);
+ assert(!num_test_children);
if (!test_with_subtests) {
struct timespec now;
@@ -1828,20 +1829,48 @@ void igt_waitchildren(void)
igt_fail(err);
}
+static bool igt_killchidren_timed_out;
+
+static void igt_alarm_killchildren(int signal)
+{
+ igt_info("Timed out waiting for children\n");
+
+ igt_killchidren_timed_out = true;
+
+ for (int c = 0; c < num_test_children; c++)
+ kill(test_children[c], SIGKILL);
+}
+
/**
* igt_waitchildren_timeout:
* @seconds: timeout in seconds to wait
* @reason: debug string explaining what timedout
*
- * Wait for all children forked with igt_fork, for a maximum of @seconds.
- *
- * Wraps igt_waitchildren() and igt_set_timeout()
+ * Wait for all children forked with igt_fork, for a maximum of @seconds. If the
+ * timeout expires, kills all children and cleans them up.
*/
void igt_waitchildren_timeout(int seconds, const char *reason)
{
- igt_set_timeout(seconds, reason);
- igt_waitchildren();
+ struct sigaction sa;
+ int ret;
+
+ sa.sa_handler = igt_alarm_killchildren;
+ sigemptyset(&sa.sa_mask);
+ sa.sa_flags = 0;
+
+ igt_killchidren_timed_out = false;
+
+ sigaction(SIGALRM, &sa, NULL);
+
+ alarm(seconds);
+
+ ret = __igt_waitchildren();
+ if (!igt_killchidren_timed_out && ret)
+ igt_fail(ret);
igt_reset_timeout();
+ __igt_waitchildren();
+ if (igt_killchidren_timed_out)
+ igt_fail(IGT_EXIT_FAILURE);
}
/* exit handler code */
--
2.20.1
_______________________________________________
igt-dev mailing list
igt-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/igt-dev
^ permalink raw reply related [flat|nested] 9+ messages in thread
* [igt-dev] [PATCH i-g-t 4/7] lib/tests: make sure we catch igt_fork leaks
2019-02-07 16:50 [igt-dev] [PATCH i-g-t 1/7] lib/tests: Check that igt_assert forwards correctly through igt_fork Daniel Vetter
2019-02-07 16:50 ` [igt-dev] [PATCH i-g-t 2/7] lib/tests: make sure igt_skip in igt_fork is forbidden Daniel Vetter
2019-02-07 16:50 ` [igt-dev] [PATCH i-g-t 3/7] lib: Don't leak children in igt_waitchildren_timeout Daniel Vetter
@ 2019-02-07 16:50 ` Daniel Vetter
2019-02-07 16:50 ` [igt-dev] [PATCH i-g-t 5/7] lib: Make sure we leak no child processes Daniel Vetter
` (4 subsequent siblings)
7 siblings, 0 replies; 9+ messages in thread
From: Daniel Vetter @ 2019-02-07 16:50 UTC (permalink / raw)
To: IGT development; +Cc: Daniel Vetter
Tests have to call igt_waitchildren(_timeout) before they finish
(either with success or an igt_fail/assert/skip/whatever).
Make sure we catch this.
v2: Another testcase to make sure igt_waitchildren_timeout cleans up.
v3: Actually test that igt_waitchildren_timeout kills children - we
want a proper IGT_EXIT_FAILURE, not some assert.
Signed-off-by: Daniel Vetter <daniel.vetter@intel.com>
---
lib/tests/igt_fork.c | 24 ++++++++++++++++++++++++
1 file changed, 24 insertions(+)
diff --git a/lib/tests/igt_fork.c b/lib/tests/igt_fork.c
index 5ff2956dd0ab..e5b0ab016b23 100644
--- a/lib/tests/igt_fork.c
+++ b/lib/tests/igt_fork.c
@@ -61,6 +61,22 @@ static void igt_fork_vs_assert(void)
igt_waitchildren();
}
+static void igt_fork_leak(void)
+{
+ igt_fork(i, 1) {
+ sleep(10);
+ }
+}
+
+static void igt_fork_timeout_leak(void)
+{
+ igt_fork(i, 1) {
+ sleep(10);
+ }
+
+ igt_waitchildren_timeout(1, "library test");
+}
+
static int do_fork(void (*test_to_run)(void))
{
int pid, status;
@@ -98,4 +114,12 @@ int main(int argc, char **argv)
/* check that igt_skip within a fork blows up */
ret = do_fork(igt_fork_vs_skip);
internal_assert(ret == SIGABRT + 128);
+
+ /* check that failure to clean up fails */
+ ret = do_fork(igt_fork_leak);
+ internal_assert(ret == SIGABRT + 128);
+
+ /* check that igt_waitchildren_timeout cleans up*/
+ ret = do_fork(igt_fork_timeout_leak);
+ internal_assert(ret == IGT_EXIT_FAILURE);
}
--
2.20.1
_______________________________________________
igt-dev mailing list
igt-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/igt-dev
^ permalink raw reply related [flat|nested] 9+ messages in thread
* [igt-dev] [PATCH i-g-t 5/7] lib: Make sure we leak no child processes
2019-02-07 16:50 [igt-dev] [PATCH i-g-t 1/7] lib/tests: Check that igt_assert forwards correctly through igt_fork Daniel Vetter
` (2 preceding siblings ...)
2019-02-07 16:50 ` [igt-dev] [PATCH i-g-t 4/7] lib/tests: make sure we catch igt_fork leaks Daniel Vetter
@ 2019-02-07 16:50 ` Daniel Vetter
2019-02-07 16:50 ` [igt-dev] [PATCH i-g-t 6/7] lib: Drop igt_child_done Daniel Vetter
` (3 subsequent siblings)
7 siblings, 0 replies; 9+ messages in thread
From: Daniel Vetter @ 2019-02-07 16:50 UTC (permalink / raw)
To: IGT development; +Cc: Daniel Vetter
There's a lot more ways to leak children than igt_fork, some even
handrolled. So check for that. Also have a nice littel testcase for
that too.
Signed-off-by: Daniel Vetter <daniel.vetter@intel.com>
---
lib/igt_core.c | 4 ++++
lib/tests/igt_fork.c | 18 ++++++++++++++++++
2 files changed, 22 insertions(+)
diff --git a/lib/igt_core.c b/lib/igt_core.c
index a23e29ca36fe..7329a85b69bf 100644
--- a/lib/igt_core.c
+++ b/lib/igt_core.c
@@ -1492,6 +1492,8 @@ void __igt_fail_assert(const char *domain, const char *file, const int line,
*/
void igt_exit(void)
{
+ int tmp;
+
igt_exit_called = true;
if (igt_key_file)
@@ -1527,6 +1529,8 @@ void igt_exit(void)
kill(test_children[c], SIGKILL);
assert(!num_test_children);
+ assert(wait(&tmp) == -1 && errno == ECHILD);
+
if (!test_with_subtests) {
struct timespec now;
const char *result;
diff --git a/lib/tests/igt_fork.c b/lib/tests/igt_fork.c
index e5b0ab016b23..b486d07000bb 100644
--- a/lib/tests/igt_fork.c
+++ b/lib/tests/igt_fork.c
@@ -68,6 +68,20 @@ static void igt_fork_leak(void)
}
}
+static void plain_fork_leak(void)
+{
+ int pid;
+
+ switch (pid = fork()) {
+ case -1:
+ internal_assert(0);
+ case 0:
+ sleep(1);
+ default:
+ exit(0);
+ }
+}
+
static void igt_fork_timeout_leak(void)
{
igt_fork(i, 1) {
@@ -122,4 +136,8 @@ int main(int argc, char **argv)
/* check that igt_waitchildren_timeout cleans up*/
ret = do_fork(igt_fork_timeout_leak);
internal_assert(ret == IGT_EXIT_FAILURE);
+
+ /* check that any other process leaks are caught*/
+ ret = do_fork(plain_fork_leak);
+ internal_assert(ret == SIGABRT + 128);
}
--
2.20.1
_______________________________________________
igt-dev mailing list
igt-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/igt-dev
^ permalink raw reply related [flat|nested] 9+ messages in thread
* [igt-dev] [PATCH i-g-t 6/7] lib: Drop igt_child_done
2019-02-07 16:50 [igt-dev] [PATCH i-g-t 1/7] lib/tests: Check that igt_assert forwards correctly through igt_fork Daniel Vetter
` (3 preceding siblings ...)
2019-02-07 16:50 ` [igt-dev] [PATCH i-g-t 5/7] lib: Make sure we leak no child processes Daniel Vetter
@ 2019-02-07 16:50 ` Daniel Vetter
2019-02-07 16:51 ` [igt-dev] [PATCH i-g-t 7/7] lib: Drop IGT_EXIT_TIMEOUT Daniel Vetter
` (2 subsequent siblings)
7 siblings, 0 replies; 9+ messages in thread
From: Daniel Vetter @ 2019-02-07 16:50 UTC (permalink / raw)
To: IGT development; +Cc: Daniel Vetter, Tvrtko Ursulin
Added in
commit 054eb1abecd1cce2e4ee0516f3ff8a67a35dca22
Author: Tvrtko Ursulin <tvrtko.ursulin@intel.com>
Date: Thu Mar 30 14:32:29 2017 +0100
benchmarks/gem_wsim: Command submission workload simulator
but since then the only user was lost.
Cc: Tvrtko Ursulin <tvrtko.ursulin@intel.com>
Signed-off-by: Daniel Vetter <daniel.vetter@intel.com>
---
lib/igt_core.c | 26 --------------------------
lib/igt_core.h | 1 -
2 files changed, 27 deletions(-)
diff --git a/lib/igt_core.c b/lib/igt_core.c
index 7329a85b69bf..89f476ca1807 100644
--- a/lib/igt_core.c
+++ b/lib/igt_core.c
@@ -1738,32 +1738,6 @@ bool __igt_fork(void)
}
-/**
- * igt_child_done:
- *
- * Lets the IGT core know that one of the children has exited.
- */
-void igt_child_done(pid_t pid)
-{
- int i = 0;
- int found = -1;
-
- igt_assert(num_test_children > 1);
-
- for (i = 0; i < num_test_children; i++) {
- if (pid == test_children[i]) {
- found = i;
- break;
- }
- }
-
- igt_assert(found >= 0);
-
- num_test_children--;
- for (i = found; i < num_test_children; i++)
- test_children[i] = test_children[i + 1];
-}
-
int __igt_waitchildren(void)
{
int err = 0;
diff --git a/lib/igt_core.h b/lib/igt_core.h
index 0d02c90beec1..46bc935a428c 100644
--- a/lib/igt_core.h
+++ b/lib/igt_core.h
@@ -775,7 +775,6 @@ bool __igt_fork(void);
#define igt_fork(child, num_children) \
for (int child = 0; child < (num_children); child++) \
for (; __igt_fork(); exit(0))
-void igt_child_done(pid_t pid);
int __igt_waitchildren(void);
void igt_waitchildren(void);
void igt_waitchildren_timeout(int seconds, const char *reason);
--
2.20.1
_______________________________________________
igt-dev mailing list
igt-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/igt-dev
^ permalink raw reply related [flat|nested] 9+ messages in thread
* [igt-dev] [PATCH i-g-t 7/7] lib: Drop IGT_EXIT_TIMEOUT
2019-02-07 16:50 [igt-dev] [PATCH i-g-t 1/7] lib/tests: Check that igt_assert forwards correctly through igt_fork Daniel Vetter
` (4 preceding siblings ...)
2019-02-07 16:50 ` [igt-dev] [PATCH i-g-t 6/7] lib: Drop igt_child_done Daniel Vetter
@ 2019-02-07 16:51 ` Daniel Vetter
2019-02-07 17:10 ` [igt-dev] ✓ Fi.CI.BAT: success for series starting with [i-g-t,1/7] lib/tests: Check that igt_assert forwards correctly through igt_fork Patchwork
2019-02-07 18:44 ` [igt-dev] ✗ Fi.CI.IGT: failure " Patchwork
7 siblings, 0 replies; 9+ messages in thread
From: Daniel Vetter @ 2019-02-07 16:51 UTC (permalink / raw)
To: IGT development; +Cc: Daniel Vetter
We use the timeout status for when the runner had to kill a testcase,
which indicates a more sever issue than an operation failing that we
expected to complete within seconds.
Since it's unused, drop it.
Signed-off-by: Daniel Vetter <daniel.vetter@intel.com>
---
docs/reference/igt-gpu-tools/igt_test_programs.xml | 5 -----
lib/igt_core.c | 8 +-------
lib/igt_core.h | 7 -------
runner/resultgen.c | 3 ---
4 files changed, 1 insertion(+), 22 deletions(-)
diff --git a/docs/reference/igt-gpu-tools/igt_test_programs.xml b/docs/reference/igt-gpu-tools/igt_test_programs.xml
index 2487da79588b..b64ba474a5f7 100644
--- a/docs/reference/igt-gpu-tools/igt_test_programs.xml
+++ b/docs/reference/igt-gpu-tools/igt_test_programs.xml
@@ -81,11 +81,6 @@
<entry>77</entry>
<entry>The test was skipped</entry>
</row>
- <row>
- <entry>#IGT_EXIT_TIMEOUT</entry>
- <entry>78</entry>
- <entry>The test took longer than expected and was stopped</entry>
- </row>
<row>
<entry>#IGT_EXIT_INVALID</entry>
<entry>79</entry>
diff --git a/lib/igt_core.c b/lib/igt_core.c
index 89f476ca1807..9f29666969c0 100644
--- a/lib/igt_core.c
+++ b/lib/igt_core.c
@@ -1135,10 +1135,7 @@ void igt_fail(int exitcode)
_igt_log_buffer_dump();
if (in_subtest) {
- if (exitcode == IGT_EXIT_TIMEOUT)
- exit_subtest("TIMEOUT");
- else
- exit_subtest("FAIL");
+ exit_subtest("FAIL");
} else {
assert(igt_can_fail());
@@ -1541,9 +1538,6 @@ void igt_exit(void)
case IGT_EXIT_SUCCESS:
result = "SUCCESS";
break;
- case IGT_EXIT_TIMEOUT:
- result = "TIMEOUT";
- break;
case IGT_EXIT_SKIP:
result = "SKIP";
break;
diff --git a/lib/igt_core.h b/lib/igt_core.h
index 46bc935a428c..47ffd9e77308 100644
--- a/lib/igt_core.h
+++ b/lib/igt_core.h
@@ -93,13 +93,6 @@ extern char *igt_frame_dump_path;
*/
#define IGT_TEST_DESCRIPTION(str) const char* __igt_test_description = str
-/**
- * IGT_EXIT_TIMEOUT:
- *
- * Exit status indicating a timeout occurred.
- */
-#define IGT_EXIT_TIMEOUT 78
-
/**
* IGT_EXIT_SKIP:
*
diff --git a/runner/resultgen.c b/runner/resultgen.c
index be884955e86c..32b59d59aad2 100644
--- a/runner/resultgen.c
+++ b/runner/resultgen.c
@@ -18,7 +18,6 @@
#define INCOMPLETE_EXITCODE -1
-_Static_assert(INCOMPLETE_EXITCODE != IGT_EXIT_TIMEOUT, "exit code clash");
_Static_assert(INCOMPLETE_EXITCODE != IGT_EXIT_SKIP, "exit code clash");
_Static_assert(INCOMPLETE_EXITCODE != IGT_EXIT_SUCCESS, "exit code clash");
_Static_assert(INCOMPLETE_EXITCODE != IGT_EXIT_INVALID, "exit code clash");
@@ -731,8 +730,6 @@ static bool fill_from_dmesg(int fd,
static const char *result_from_exitcode(int exitcode)
{
switch (exitcode) {
- case IGT_EXIT_TIMEOUT:
- return "timeout";
case IGT_EXIT_SKIP:
return "skip";
case IGT_EXIT_SUCCESS:
--
2.20.1
_______________________________________________
igt-dev mailing list
igt-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/igt-dev
^ permalink raw reply related [flat|nested] 9+ messages in thread
* [igt-dev] ✓ Fi.CI.BAT: success for series starting with [i-g-t,1/7] lib/tests: Check that igt_assert forwards correctly through igt_fork
2019-02-07 16:50 [igt-dev] [PATCH i-g-t 1/7] lib/tests: Check that igt_assert forwards correctly through igt_fork Daniel Vetter
` (5 preceding siblings ...)
2019-02-07 16:51 ` [igt-dev] [PATCH i-g-t 7/7] lib: Drop IGT_EXIT_TIMEOUT Daniel Vetter
@ 2019-02-07 17:10 ` Patchwork
2019-02-07 18:44 ` [igt-dev] ✗ Fi.CI.IGT: failure " Patchwork
7 siblings, 0 replies; 9+ messages in thread
From: Patchwork @ 2019-02-07 17:10 UTC (permalink / raw)
To: Daniel Vetter; +Cc: igt-dev
== Series Details ==
Series: series starting with [i-g-t,1/7] lib/tests: Check that igt_assert forwards correctly through igt_fork
URL : https://patchwork.freedesktop.org/series/56353/
State : success
== Summary ==
CI Bug Log - changes from CI_DRM_5560 -> IGTPW_2355
====================================================
Summary
-------
**SUCCESS**
No regressions found.
External URL: https://patchwork.freedesktop.org/api/1.0/series/56353/revisions/1/mbox/
Known issues
------------
Here are the changes found in IGTPW_2355 that come from known issues:
### IGT changes ###
#### Issues hit ####
* igt@kms_busy@basic-flip-a:
- fi-gdg-551: PASS -> FAIL [fdo#103182]
* igt@kms_chamelium@common-hpd-after-suspend:
- fi-kbl-7500u: NOTRUN -> DMESG-WARN [fdo#102505] / [fdo#103558] / [fdo#105079] / [fdo#105602]
* igt@kms_pipe_crc_basic@read-crc-pipe-b-frame-sequence:
- fi-byt-clapper: PASS -> FAIL [fdo#103191] / [fdo#107362] +1
* igt@prime_vgem@basic-fence-flip:
- fi-gdg-551: PASS -> DMESG-FAIL [fdo#103182]
#### Possible fixes ####
* igt@i915_selftest@live_hangcheck:
- fi-skl-gvtdvm: INCOMPLETE [fdo#105600] / [fdo#108744] -> PASS
* igt@kms_chamelium@common-hpd-after-suspend:
- fi-kbl-7567u: WARN [fdo#109380] -> PASS
* igt@kms_pipe_crc_basic@hang-read-crc-pipe-b:
- fi-byt-clapper: FAIL [fdo#103191] / [fdo#107362] -> PASS
* igt@kms_pipe_crc_basic@nonblocking-crc-pipe-c:
- fi-kbl-7567u: {SKIP} [fdo#109271] -> PASS +33
* igt@pm_rpm@basic-pci-d3-state:
- fi-byt-j1900: {SKIP} [fdo#109271] -> PASS
* igt@pm_rpm@basic-rte:
- fi-byt-j1900: FAIL [fdo#108800] -> PASS
{name}: This element is suppressed. This means it is ignored when computing
the status of the difference (SUCCESS, WARNING, or FAILURE).
[fdo#102505]: https://bugs.freedesktop.org/show_bug.cgi?id=102505
[fdo#103182]: https://bugs.freedesktop.org/show_bug.cgi?id=103182
[fdo#103191]: https://bugs.freedesktop.org/show_bug.cgi?id=103191
[fdo#103558]: https://bugs.freedesktop.org/show_bug.cgi?id=103558
[fdo#105079]: https://bugs.freedesktop.org/show_bug.cgi?id=105079
[fdo#105600]: https://bugs.freedesktop.org/show_bug.cgi?id=105600
[fdo#105602]: https://bugs.freedesktop.org/show_bug.cgi?id=105602
[fdo#107362]: https://bugs.freedesktop.org/show_bug.cgi?id=107362
[fdo#108744]: https://bugs.freedesktop.org/show_bug.cgi?id=108744
[fdo#108800]: https://bugs.freedesktop.org/show_bug.cgi?id=108800
[fdo#109271]: https://bugs.freedesktop.org/show_bug.cgi?id=109271
[fdo#109380]: https://bugs.freedesktop.org/show_bug.cgi?id=109380
[fdo#109527]: https://bugs.freedesktop.org/show_bug.cgi?id=109527
Participating hosts (48 -> 45)
------------------------------
Additional (1): fi-kbl-7500u
Missing (4): fi-ilk-m540 fi-byt-squawks fi-bsw-cyan fi-bdw-samus
Build changes
-------------
* IGT: IGT_4813 -> IGTPW_2355
CI_DRM_5560: b3cc6ae9211bbf4e40195469147a884b74c0ec8e @ git://anongit.freedesktop.org/gfx-ci/linux
IGTPW_2355: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_2355/
IGT_4813: 09f506726d0e115ee7f4a1604ae71adcf9f12690 @ git://anongit.freedesktop.org/xorg/app/intel-gpu-tools
== Logs ==
For more details see: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_2355/
_______________________________________________
igt-dev mailing list
igt-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/igt-dev
^ permalink raw reply [flat|nested] 9+ messages in thread
* [igt-dev] ✗ Fi.CI.IGT: failure for series starting with [i-g-t,1/7] lib/tests: Check that igt_assert forwards correctly through igt_fork
2019-02-07 16:50 [igt-dev] [PATCH i-g-t 1/7] lib/tests: Check that igt_assert forwards correctly through igt_fork Daniel Vetter
` (6 preceding siblings ...)
2019-02-07 17:10 ` [igt-dev] ✓ Fi.CI.BAT: success for series starting with [i-g-t,1/7] lib/tests: Check that igt_assert forwards correctly through igt_fork Patchwork
@ 2019-02-07 18:44 ` Patchwork
7 siblings, 0 replies; 9+ messages in thread
From: Patchwork @ 2019-02-07 18:44 UTC (permalink / raw)
To: Daniel Vetter; +Cc: igt-dev
== Series Details ==
Series: series starting with [i-g-t,1/7] lib/tests: Check that igt_assert forwards correctly through igt_fork
URL : https://patchwork.freedesktop.org/series/56353/
State : failure
== Summary ==
CI Bug Log - changes from CI_DRM_5560_full -> IGTPW_2355_full
====================================================
Summary
-------
**FAILURE**
Serious unknown changes coming with IGTPW_2355_full absolutely need to be
verified manually.
If you think the reported changes have nothing to do with the changes
introduced in IGTPW_2355_full, please notify your bug team to allow them
to document this new failure mode, which will reduce false positives in CI.
External URL: https://patchwork.freedesktop.org/api/1.0/series/56353/revisions/1/mbox/
Possible new issues
-------------------
Here are the unknown changes that may have been introduced in IGTPW_2355_full:
### IGT changes ###
#### Possible regressions ####
* igt@gem_exec_reuse@baggage:
- shard-snb: PASS -> TIMEOUT +2
* igt@gem_exec_reuse@contexts:
- shard-hsw: PASS -> TIMEOUT +2
- shard-kbl: PASS -> TIMEOUT +2
- shard-apl: PASS -> TIMEOUT +2
* igt@gem_exec_reuse@single:
- shard-glk: PASS -> TIMEOUT +2
#### Warnings ####
* igt@i915_missed_irq:
- shard-hsw: {SKIP} [fdo#109271] -> TIMEOUT
- shard-glk: {SKIP} [fdo#109271] -> TIMEOUT
- shard-apl: {SKIP} [fdo#109271] -> TIMEOUT
Known issues
------------
Here are the changes found in IGTPW_2355_full that come from known issues:
### IGT changes ###
#### Issues hit ####
* igt@gem_exec_suspend@basic-s3:
- shard-kbl: PASS -> INCOMPLETE [fdo#103665]
* igt@gem_tiled_swapping@non-threaded:
- shard-hsw: PASS -> INCOMPLETE [fdo#103540]
* igt@kms_available_modes_crc@available_mode_test_crc:
- shard-kbl: PASS -> FAIL [fdo#106641]
* igt@kms_cursor_crc@cursor-256x256-onscreen:
- shard-kbl: PASS -> FAIL [fdo#103232]
* igt@kms_cursor_crc@cursor-256x256-random:
- shard-glk: PASS -> FAIL [fdo#103232] +6
- shard-apl: PASS -> FAIL [fdo#103232] +3
* igt@kms_flip@2x-flip-vs-expired-vblank-interruptible:
- shard-glk: PASS -> FAIL [fdo#105363]
* igt@kms_frontbuffer_tracking@fbc-1p-primscrn-cur-indfb-draw-blt:
- shard-glk: PASS -> FAIL [fdo#103167] +8
* igt@kms_frontbuffer_tracking@fbc-1p-primscrn-spr-indfb-onoff:
- shard-apl: PASS -> FAIL [fdo#103167] +2
* igt@kms_frontbuffer_tracking@fbc-rgb565-draw-pwrite:
- shard-snb: PASS -> INCOMPLETE [fdo#105411]
* igt@kms_plane_alpha_blend@pipe-a-alpha-transparant-fb:
- shard-glk: NOTRUN -> FAIL [fdo#108145]
* igt@kms_plane_multiple@atomic-pipe-b-tiling-none:
- shard-glk: PASS -> FAIL [fdo#103166] +5
* igt@kms_plane_multiple@atomic-pipe-b-tiling-yf:
- shard-apl: PASS -> FAIL [fdo#103166] +1
* igt@kms_setmode@basic:
- shard-hsw: PASS -> FAIL [fdo#99912]
- shard-snb: NOTRUN -> FAIL [fdo#99912]
#### Possible fixes ####
* igt@gem_ctx_isolation@vcs0-s3:
- shard-kbl: INCOMPLETE [fdo#103665] -> PASS
* igt@kms_ccs@pipe-b-crc-sprite-planes-basic:
- shard-apl: FAIL [fdo#106510] / [fdo#108145] -> PASS
* igt@kms_cursor_crc@cursor-64x64-sliding:
- shard-apl: FAIL [fdo#103232] -> PASS +1
- shard-kbl: FAIL [fdo#103232] -> PASS
* igt@kms_cursor_crc@cursor-alpha-opaque:
- shard-apl: FAIL [fdo#109350] -> PASS
* igt@kms_frontbuffer_tracking@fbc-1p-primscrn-shrfb-plflip-blt:
- shard-snb: {SKIP} [fdo#109271] -> PASS +1
* igt@kms_frontbuffer_tracking@fbc-2p-primscrn-spr-indfb-draw-mmap-gtt:
- shard-glk: FAIL [fdo#103167] -> PASS
* igt@kms_plane@plane-position-covered-pipe-c-planes:
- shard-apl: FAIL [fdo#103166] -> PASS +1
- shard-glk: FAIL [fdo#103166] -> PASS
* igt@kms_plane_alpha_blend@pipe-a-constant-alpha-max:
- shard-glk: FAIL [fdo#108145] -> PASS +2
{name}: This element is suppressed. This means it is ignored when computing
the status of the difference (SUCCESS, WARNING, or FAILURE).
[fdo#103166]: https://bugs.freedesktop.org/show_bug.cgi?id=103166
[fdo#103167]: https://bugs.freedesktop.org/show_bug.cgi?id=103167
[fdo#103232]: https://bugs.freedesktop.org/show_bug.cgi?id=103232
[fdo#103540]: https://bugs.freedesktop.org/show_bug.cgi?id=103540
[fdo#103665]: https://bugs.freedesktop.org/show_bug.cgi?id=103665
[fdo#105363]: https://bugs.freedesktop.org/show_bug.cgi?id=105363
[fdo#105411]: https://bugs.freedesktop.org/show_bug.cgi?id=105411
[fdo#106510]: https://bugs.freedesktop.org/show_bug.cgi?id=106510
[fdo#106641]: https://bugs.freedesktop.org/show_bug.cgi?id=106641
[fdo#108145]: https://bugs.freedesktop.org/show_bug.cgi?id=108145
[fdo#109271]: https://bugs.freedesktop.org/show_bug.cgi?id=109271
[fdo#109278]: https://bugs.freedesktop.org/show_bug.cgi?id=109278
[fdo#109350]: https://bugs.freedesktop.org/show_bug.cgi?id=109350
[fdo#99912]: https://bugs.freedesktop.org/show_bug.cgi?id=99912
Participating hosts (7 -> 5)
------------------------------
Missing (2): shard-skl shard-iclb
Build changes
-------------
* IGT: IGT_4813 -> IGTPW_2355
* Piglit: piglit_4509 -> None
CI_DRM_5560: b3cc6ae9211bbf4e40195469147a884b74c0ec8e @ git://anongit.freedesktop.org/gfx-ci/linux
IGTPW_2355: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_2355/
IGT_4813: 09f506726d0e115ee7f4a1604ae71adcf9f12690 @ git://anongit.freedesktop.org/xorg/app/intel-gpu-tools
piglit_4509: fdc5a4ca11124ab8413c7988896eec4c97336694 @ git://anongit.freedesktop.org/piglit
== Logs ==
For more details see: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_2355/
_______________________________________________
igt-dev mailing list
igt-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/igt-dev
^ permalink raw reply [flat|nested] 9+ messages in thread
end of thread, other threads:[~2019-02-07 18:44 UTC | newest]
Thread overview: 9+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2019-02-07 16:50 [igt-dev] [PATCH i-g-t 1/7] lib/tests: Check that igt_assert forwards correctly through igt_fork Daniel Vetter
2019-02-07 16:50 ` [igt-dev] [PATCH i-g-t 2/7] lib/tests: make sure igt_skip in igt_fork is forbidden Daniel Vetter
2019-02-07 16:50 ` [igt-dev] [PATCH i-g-t 3/7] lib: Don't leak children in igt_waitchildren_timeout Daniel Vetter
2019-02-07 16:50 ` [igt-dev] [PATCH i-g-t 4/7] lib/tests: make sure we catch igt_fork leaks Daniel Vetter
2019-02-07 16:50 ` [igt-dev] [PATCH i-g-t 5/7] lib: Make sure we leak no child processes Daniel Vetter
2019-02-07 16:50 ` [igt-dev] [PATCH i-g-t 6/7] lib: Drop igt_child_done Daniel Vetter
2019-02-07 16:51 ` [igt-dev] [PATCH i-g-t 7/7] lib: Drop IGT_EXIT_TIMEOUT Daniel Vetter
2019-02-07 17:10 ` [igt-dev] ✓ Fi.CI.BAT: success for series starting with [i-g-t,1/7] lib/tests: Check that igt_assert forwards correctly through igt_fork Patchwork
2019-02-07 18:44 ` [igt-dev] ✗ Fi.CI.IGT: failure " Patchwork
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox