* [igt-dev] [PATCH i-g-t 1/5] meson/cc: Disable memory-allocating builtins
@ 2019-05-09 10:03 Arkadiusz Hiler
2019-05-09 10:03 ` [igt-dev] [PATCH i-g-t 2/5] lib/tests/igt_subtest_group: Operate within defined behavior Arkadiusz Hiler
` (8 more replies)
0 siblings, 9 replies; 15+ messages in thread
From: Arkadiusz Hiler @ 2019-05-09 10:03 UTC (permalink / raw)
To: igt-dev
Disable the memory allocating builtins as they may cause unexpected behavior
with our framework. They *may* get optimized out in favor of a register or
stack variable, making them effectively local.
Local variables do not play well with longjmp, which we use for fixtures
and subtests.
Signed-off-by: Arkadiusz Hiler <arkadiusz.hiler@intel.com>
---
meson.build | 6 ++++++
1 file changed, 6 insertions(+)
diff --git a/meson.build b/meson.build
index 8196ab63..2d54c28f 100644
--- a/meson.build
+++ b/meson.build
@@ -62,6 +62,12 @@ cc_args = [
'-Werror=sequence-point',
'-Werror=trigraphs',
'-Werror=write-strings',
+# Disable the memory allocating builtins as they may cause unexpected behavior
+# with our framework. They *may* get optimized out in favor of a register or
+# stack variable, making them effectively local. Local variables do not play
+# well with longjmp which is heavily used by IGT framework.
+ '-fno-builtin-malloc',
+ '-fno-builtin-calloc',
]
foreach cc_arg : cc_args
--
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] 15+ messages in thread
* [igt-dev] [PATCH i-g-t 2/5] lib/tests/igt_subtest_group: Operate within defined behavior
2019-05-09 10:03 [igt-dev] [PATCH i-g-t 1/5] meson/cc: Disable memory-allocating builtins Arkadiusz Hiler
@ 2019-05-09 10:03 ` Arkadiusz Hiler
2019-05-09 10:31 ` Ser, Simon
2019-05-09 10:03 ` [igt-dev] [PATCH i-g-t 3/5] runner_tests: " Arkadiusz Hiler
` (7 subsequent siblings)
8 siblings, 1 reply; 15+ messages in thread
From: Arkadiusz Hiler @ 2019-05-09 10:03 UTC (permalink / raw)
To: igt-dev
Quoting lib/igt_core.c:
* - Code blocks with magic control flow are implemented with setjmp() and
* longjmp(). This applies to #igt_fixture and #igt_subtest blocks and all the
* three variants to finish test: igt_success(), igt_skip() and igt_fail().
* Mostly this is of no concern, except when such a control block changes
* stack variables defined in the same function as the control block resides.
* Any store/load behaviour after a longjmp() is ill-defined for these
* variables. Avoid such code.
*
* Quoting the man page for longjmp():
*
* "The values of automatic variables are unspecified after a call to
* longjmp() if they meet all the following criteria:"
* - "they are local to the function that made the corresponding setjmp() call;
* - "their values are changed between the calls to setjmp() and longjmp(); and
* - "they are not declared as volatile."
igt_subtest_group test uses two local variables for tracking the state
of execution, making sure that skips are working correctly.
We can just make them volatile to be back on the defined grounds.
Cc: Simon Ser <simon.ser@intel.com>
Cc: Daniel Vetter <daniel.vetter@ffwll.ch>
Signed-off-by: Arkadiusz Hiler <arkadiusz.hiler@intel.com>
---
lib/tests/igt_subtest_group.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/lib/tests/igt_subtest_group.c b/lib/tests/igt_subtest_group.c
index 7783d021..d8e7d861 100644
--- a/lib/tests/igt_subtest_group.c
+++ b/lib/tests/igt_subtest_group.c
@@ -28,8 +28,8 @@
igt_main
{
- bool t1 = false;
- int t2 = 0;
+ volatile bool t1 = false;
+ volatile int t2 = 0;
igt_subtest_group {
igt_fixture {
--
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] 15+ messages in thread
* [igt-dev] [PATCH i-g-t 3/5] runner_tests: Operate within defined behavior
2019-05-09 10:03 [igt-dev] [PATCH i-g-t 1/5] meson/cc: Disable memory-allocating builtins Arkadiusz Hiler
2019-05-09 10:03 ` [igt-dev] [PATCH i-g-t 2/5] lib/tests/igt_subtest_group: Operate within defined behavior Arkadiusz Hiler
@ 2019-05-09 10:03 ` Arkadiusz Hiler
2019-05-09 10:43 ` Petri Latvala
2019-05-09 10:03 ` [igt-dev] [PATCH i-g-t 4/5] meson: Change the default build type to debugoptimized Arkadiusz Hiler
` (6 subsequent siblings)
8 siblings, 1 reply; 15+ messages in thread
From: Arkadiusz Hiler @ 2019-05-09 10:03 UTC (permalink / raw)
To: igt-dev; +Cc: Petri Latvala
Quoting lib/igt_core.c:
* - Code blocks with magic control flow are implemented with setjmp() and
* longjmp(). This applies to #igt_fixture and #igt_subtest blocks and all the
* three variants to finish test: igt_success(), igt_skip() and igt_fail().
* Mostly this is of no concern, except when such a control block changes
* stack variables defined in the same function as the control block resides.
* Any store/load behaviour after a longjmp() is ill-defined for these
* variables. Avoid such code.
*
* Quoting the man page for longjmp():
*
* "The values of automatic variables are unspecified after a call to
* longjmp() if they meet all the following criteria:"
* - "they are local to the function that made the corresponding setjmp() call;
* - "their values are changed between the calls to setjmp() and longjmp(); and
* - "they are not declared as volatile."
We have quite a few igt_subtest_group that define local variables to
share the state between subtest and fixture (e.g. set open() in subtest,
close() in the following fixture), causing the contents to be undefined.
We can allocate some of them using malloc and make the others volatile
to be back on the defined grounds.
Cc: Petri Latvala <petri.latvala@intel.com>
Signed-off-by: Arkadiusz Hiler <arkadiusz.hiler@intel.com>
---
runner/runner_tests.c | 573 ++++++++++++++++++++++--------------------
1 file changed, 300 insertions(+), 273 deletions(-)
diff --git a/runner/runner_tests.c b/runner/runner_tests.c
index ade78b18..33e289a4 100644
--- a/runner/runner_tests.c
+++ b/runner/runner_tests.c
@@ -10,7 +10,7 @@
#include "job_list.h"
#include "executor.h"
-static char testdatadir[] = TESTDATA_DIRECTORY;
+static const char testdatadir[] = TESTDATA_DIRECTORY;
static void igt_assert_eqstr(const char *one, const char *two)
{
@@ -65,10 +65,10 @@ static void job_list_filter_test(const char *name, const char *filterarg1, const
size_t expected_normal, size_t expected_multiple)
{
int multiple;
- struct settings settings;
+ struct settings *settings = malloc(sizeof(*settings));
igt_fixture
- init_settings(&settings);
+ init_settings(settings);
for (multiple = 0; multiple < 2; multiple++) {
igt_subtest_f("job-list-filters-%s-%s", name, multiple ? "multiple" : "normal") {
@@ -84,9 +84,9 @@ static void job_list_filter_test(const char *name, const char *filterarg1, const
size_t size;
init_job_list(&list);
- igt_assert(parse_options(ARRAY_SIZE(argv), (char**)argv, &settings));
+ igt_assert(parse_options(ARRAY_SIZE(argv), (char**)argv, settings));
- success = create_job_list(&list, &settings);
+ success = create_job_list(&list, settings);
size = list.size;
if (success)
@@ -99,8 +99,10 @@ static void job_list_filter_test(const char *name, const char *filterarg1, const
}
}
- igt_fixture
- free_settings(&settings);
+ igt_fixture {
+ free_settings(settings);
+ free(settings);
+ }
}
static void clear_directory_fd(int dirfd)
@@ -196,10 +198,10 @@ static void assert_execution_results_exist(int dirfd)
igt_main
{
- struct settings settings;
+ struct settings *settings = malloc(sizeof(*settings));
igt_fixture
- init_settings(&settings);
+ init_settings(settings);
igt_subtest("default-settings") {
const char *argv[] = { "runner",
@@ -207,26 +209,26 @@ igt_main
"path-to-results",
};
- igt_assert(parse_options(ARRAY_SIZE(argv), (char**)argv, &settings));
+ igt_assert(parse_options(ARRAY_SIZE(argv), (char**)argv, settings));
- igt_assert_eq(settings.abort_mask, 0);
- igt_assert(!settings.test_list);
- igt_assert_eqstr(settings.name, "path-to-results");
- igt_assert(!settings.dry_run);
- igt_assert_eq(settings.include_regexes.size, 0);
- igt_assert_eq(settings.exclude_regexes.size, 0);
- igt_assert(!settings.sync);
- igt_assert_eq(settings.log_level, LOG_LEVEL_NORMAL);
- igt_assert(!settings.overwrite);
- igt_assert(!settings.multiple_mode);
- igt_assert_eq(settings.inactivity_timeout, 0);
- igt_assert_eq(settings.overall_timeout, 0);
- igt_assert(!settings.use_watchdog);
- igt_assert(strstr(settings.test_root, "test-root-dir") != NULL);
- igt_assert(strstr(settings.results_path, "path-to-results") != NULL);
+ igt_assert_eq(settings->abort_mask, 0);
+ igt_assert(!settings->test_list);
+ igt_assert_eqstr(settings->name, "path-to-results");
+ igt_assert(!settings->dry_run);
+ igt_assert_eq(settings->include_regexes.size, 0);
+ igt_assert_eq(settings->exclude_regexes.size, 0);
+ igt_assert(!settings->sync);
+ igt_assert_eq(settings->log_level, LOG_LEVEL_NORMAL);
+ igt_assert(!settings->overwrite);
+ igt_assert(!settings->multiple_mode);
+ igt_assert_eq(settings->inactivity_timeout, 0);
+ igt_assert_eq(settings->overall_timeout, 0);
+ igt_assert(!settings->use_watchdog);
+ igt_assert(strstr(settings->test_root, "test-root-dir") != NULL);
+ igt_assert(strstr(settings->results_path, "path-to-results") != NULL);
- igt_assert(!settings.piglit_style_dmesg);
- igt_assert_eq(settings.dmesg_warn_level, 4);
+ igt_assert(!settings->piglit_style_dmesg);
+ igt_assert_eq(settings->dmesg_warn_level, 4);
}
igt_subtest_group {
@@ -262,10 +264,10 @@ igt_main
}
igt_subtest_group {
+ const char tmptestlist[] = "tmp.testlist";
char dirname[] = "tmpdirXXXXXX";
- char tmptestlist[] = "tmp.testlist";
char pathtotestlist[64];
- char *path;
+ volatile char *path;
igt_fixture {
int dirfd, fd;
@@ -290,19 +292,19 @@ igt_main
dirname,
};
- igt_assert(parse_options(ARRAY_SIZE(argv), (char**)argv, &settings));
+ igt_assert(parse_options(ARRAY_SIZE(argv), (char**)argv, settings));
path = realpath(testdatadir, NULL);
igt_assert(path != NULL);
- igt_assert_eqstr(settings.test_root, path);
- free(path);
+ igt_assert_eqstr(settings->test_root, (char*)path);
+ free((void*)path);
path = realpath(dirname, NULL);
igt_assert(path != NULL);
- igt_assert_eqstr(settings.results_path, path);
- free(path);
+ igt_assert_eqstr(settings->results_path, (char*)path);
+ free((void*)path);
path = realpath(pathtotestlist, NULL);
igt_assert(path != NULL);
- igt_assert_eqstr(settings.test_list, path);
+ igt_assert_eqstr(settings->test_list, (char*)path);
}
igt_fixture {
@@ -313,7 +315,7 @@ igt_main
close(dirfd);
rmdir(dirname);
- free(path);
+ free((void*)path);
}
}
@@ -324,24 +326,24 @@ igt_main
};
setenv("IGT_TEST_ROOT", testdatadir, 1);
- igt_assert(parse_options(ARRAY_SIZE(argv), (char**)argv, &settings));
+ igt_assert(parse_options(ARRAY_SIZE(argv), (char**)argv, settings));
- igt_assert_eq(settings.abort_mask, 0);
- igt_assert(!settings.test_list);
- igt_assert_eqstr(settings.name, "path-to-results");
- igt_assert(!settings.dry_run);
- igt_assert_eq(settings.include_regexes.size, 0);
- igt_assert_eq(settings.exclude_regexes.size, 0);
- igt_assert(!settings.sync);
- igt_assert_eq(settings.log_level, LOG_LEVEL_NORMAL);
- igt_assert(!settings.overwrite);
- igt_assert(!settings.multiple_mode);
- igt_assert_eq(settings.inactivity_timeout, 0);
- igt_assert_eq(settings.overall_timeout, 0);
- igt_assert(!settings.use_watchdog);
- igt_assert(strstr(settings.test_root, testdatadir) != NULL);
- igt_assert(strstr(settings.results_path, "path-to-results") != NULL);
- igt_assert(!settings.piglit_style_dmesg);
+ igt_assert_eq(settings->abort_mask, 0);
+ igt_assert(!settings->test_list);
+ igt_assert_eqstr(settings->name, "path-to-results");
+ igt_assert(!settings->dry_run);
+ igt_assert_eq(settings->include_regexes.size, 0);
+ igt_assert_eq(settings->exclude_regexes.size, 0);
+ igt_assert(!settings->sync);
+ igt_assert_eq(settings->log_level, LOG_LEVEL_NORMAL);
+ igt_assert(!settings->overwrite);
+ igt_assert(!settings->multiple_mode);
+ igt_assert_eq(settings->inactivity_timeout, 0);
+ igt_assert_eq(settings->overall_timeout, 0);
+ igt_assert(!settings->use_watchdog);
+ igt_assert(strstr(settings->test_root, testdatadir) != NULL);
+ igt_assert(strstr(settings->results_path, "path-to-results") != NULL);
+ igt_assert(!settings->piglit_style_dmesg);
}
igt_fixture {
@@ -372,30 +374,30 @@ igt_main
"path-to-results",
};
- igt_assert(parse_options(ARRAY_SIZE(argv), (char**)argv, &settings));
+ igt_assert(parse_options(ARRAY_SIZE(argv), (char**)argv, settings));
- igt_assert_eq(settings.abort_mask, ABORT_TAINT | ABORT_LOCKDEP);
- igt_assert(strstr(settings.test_list, "path-to-test-list") != NULL);
- igt_assert_eqstr(settings.name, "foo");
- igt_assert(settings.dry_run);
- igt_assert_eq(settings.include_regexes.size, 2);
- igt_assert_eqstr(settings.include_regexes.regex_strings[0], "pattern1");
- igt_assert_eqstr(settings.include_regexes.regex_strings[1], "pattern2");
- igt_assert_eq(settings.exclude_regexes.size, 2);
- igt_assert_eqstr(settings.exclude_regexes.regex_strings[0], "xpattern1");
- igt_assert_eqstr(settings.exclude_regexes.regex_strings[1], "xpattern2");
- igt_assert(settings.sync);
- igt_assert_eq(settings.log_level, LOG_LEVEL_VERBOSE);
- igt_assert(settings.overwrite);
- igt_assert(settings.multiple_mode);
- igt_assert_eq(settings.inactivity_timeout, 27);
- igt_assert_eq(settings.overall_timeout, 360);
- igt_assert(settings.use_watchdog);
- igt_assert(strstr(settings.test_root, "test-root-dir") != NULL);
- igt_assert(strstr(settings.results_path, "path-to-results") != NULL);
+ igt_assert_eq(settings->abort_mask, ABORT_TAINT | ABORT_LOCKDEP);
+ igt_assert(strstr(settings->test_list, "path-to-test-list") != NULL);
+ igt_assert_eqstr(settings->name, "foo");
+ igt_assert(settings->dry_run);
+ igt_assert_eq(settings->include_regexes.size, 2);
+ igt_assert_eqstr(settings->include_regexes.regex_strings[0], "pattern1");
+ igt_assert_eqstr(settings->include_regexes.regex_strings[1], "pattern2");
+ igt_assert_eq(settings->exclude_regexes.size, 2);
+ igt_assert_eqstr(settings->exclude_regexes.regex_strings[0], "xpattern1");
+ igt_assert_eqstr(settings->exclude_regexes.regex_strings[1], "xpattern2");
+ igt_assert(settings->sync);
+ igt_assert_eq(settings->log_level, LOG_LEVEL_VERBOSE);
+ igt_assert(settings->overwrite);
+ igt_assert(settings->multiple_mode);
+ igt_assert_eq(settings->inactivity_timeout, 27);
+ igt_assert_eq(settings->overall_timeout, 360);
+ igt_assert(settings->use_watchdog);
+ igt_assert(strstr(settings->test_root, "test-root-dir") != NULL);
+ igt_assert(strstr(settings->results_path, "path-to-results") != NULL);
- igt_assert(settings.piglit_style_dmesg);
- igt_assert_eq(settings.dmesg_warn_level, 3);
+ igt_assert(settings->piglit_style_dmesg);
+ igt_assert_eq(settings->dmesg_warn_level, 3);
}
igt_subtest("dmesg-warn-level-inferred") {
@@ -404,10 +406,10 @@ igt_main
"path-to-results",
};
- igt_assert(parse_options(ARRAY_SIZE(argv), (char**)argv, &settings));
+ igt_assert(parse_options(ARRAY_SIZE(argv), (char**)argv, settings));
- igt_assert(!settings.piglit_style_dmesg);
- igt_assert_eq(settings.dmesg_warn_level, 4);
+ igt_assert(!settings->piglit_style_dmesg);
+ igt_assert_eq(settings->dmesg_warn_level, 4);
}
igt_subtest("dmesg-warn-level-inferred-with-piglit-style") {
@@ -417,10 +419,10 @@ igt_main
"path-to-results",
};
- igt_assert(parse_options(ARRAY_SIZE(argv), (char**)argv, &settings));
+ igt_assert(parse_options(ARRAY_SIZE(argv), (char**)argv, settings));
- igt_assert(settings.piglit_style_dmesg);
- igt_assert_eq(settings.dmesg_warn_level, 5);
+ igt_assert(settings->piglit_style_dmesg);
+ igt_assert_eq(settings->dmesg_warn_level, 5);
}
igt_subtest("dmesg-warn-level-overridable-with-piglit-style") {
@@ -431,10 +433,10 @@ igt_main
"path-to-results",
};
- igt_assert(parse_options(ARRAY_SIZE(argv), (char**)argv, &settings));
+ igt_assert(parse_options(ARRAY_SIZE(argv), (char**)argv, settings));
- igt_assert(settings.piglit_style_dmesg);
- igt_assert_eq(settings.dmesg_warn_level, 3);
+ igt_assert(settings->piglit_style_dmesg);
+ igt_assert_eq(settings->dmesg_warn_level, 3);
}
igt_subtest("invalid-option") {
@@ -444,14 +446,14 @@ igt_main
"results-path",
};
- igt_assert(!parse_options(ARRAY_SIZE(argv), (char**)argv, &settings));
+ igt_assert(!parse_options(ARRAY_SIZE(argv), (char**)argv, settings));
}
igt_subtest("paths-missing") {
const char *argv[] = { "runner",
"-o",
};
- igt_assert(!parse_options(ARRAY_SIZE(argv), (char**)argv, &settings));
+ igt_assert(!parse_options(ARRAY_SIZE(argv), (char**)argv, settings));
}
igt_subtest("log-levels") {
@@ -461,16 +463,16 @@ igt_main
"results-path",
};
- igt_assert(parse_options(ARRAY_SIZE(argv), (char**)argv, &settings));
- igt_assert_eq(settings.log_level, LOG_LEVEL_NORMAL);
+ igt_assert(parse_options(ARRAY_SIZE(argv), (char**)argv, settings));
+ igt_assert_eq(settings->log_level, LOG_LEVEL_NORMAL);
argv[2] = "quiet";
- igt_assert(parse_options(ARRAY_SIZE(argv), (char**)argv, &settings));
- igt_assert_eq(settings.log_level, LOG_LEVEL_QUIET);
+ igt_assert(parse_options(ARRAY_SIZE(argv), (char**)argv, settings));
+ igt_assert_eq(settings->log_level, LOG_LEVEL_QUIET);
argv[2] = "verbose";
- igt_assert(parse_options(ARRAY_SIZE(argv), (char**)argv, &settings));
- igt_assert_eq(settings.log_level, LOG_LEVEL_VERBOSE);
+ igt_assert(parse_options(ARRAY_SIZE(argv), (char**)argv, settings));
+ igt_assert_eq(settings->log_level, LOG_LEVEL_VERBOSE);
}
igt_subtest("abort-conditions") {
@@ -480,35 +482,35 @@ igt_main
"results-path",
};
- igt_assert(parse_options(ARRAY_SIZE(argv), (char**)argv, &settings));
- igt_assert_eq(settings.abort_mask, ABORT_TAINT);
+ igt_assert(parse_options(ARRAY_SIZE(argv), (char**)argv, settings));
+ igt_assert_eq(settings->abort_mask, ABORT_TAINT);
argv[1] = "--abort-on-monitored-error=lockdep";
- igt_assert(parse_options(ARRAY_SIZE(argv), (char**)argv, &settings));
- igt_assert_eq(settings.abort_mask, ABORT_LOCKDEP);
+ igt_assert(parse_options(ARRAY_SIZE(argv), (char**)argv, settings));
+ igt_assert_eq(settings->abort_mask, ABORT_LOCKDEP);
argv[1] = "--abort-on-monitored-error=taint";
- igt_assert(parse_options(ARRAY_SIZE(argv), (char**)argv, &settings));
- igt_assert_eq(settings.abort_mask, ABORT_TAINT);
+ igt_assert(parse_options(ARRAY_SIZE(argv), (char**)argv, settings));
+ igt_assert_eq(settings->abort_mask, ABORT_TAINT);
argv[1] = "--abort-on-monitored-error=lockdep,taint";
- igt_assert(parse_options(ARRAY_SIZE(argv), (char**)argv, &settings));
- igt_assert_eq(settings.abort_mask, ABORT_TAINT | ABORT_LOCKDEP);
+ igt_assert(parse_options(ARRAY_SIZE(argv), (char**)argv, settings));
+ igt_assert_eq(settings->abort_mask, ABORT_TAINT | ABORT_LOCKDEP);
argv[1] = "--abort-on-monitored-error=taint,lockdep";
- igt_assert(parse_options(ARRAY_SIZE(argv), (char**)argv, &settings));
- igt_assert_eq(settings.abort_mask, ABORT_TAINT | ABORT_LOCKDEP);
+ igt_assert(parse_options(ARRAY_SIZE(argv), (char**)argv, settings));
+ igt_assert_eq(settings->abort_mask, ABORT_TAINT | ABORT_LOCKDEP);
argv[1] = "--abort-on-monitored-error=all";
- igt_assert(parse_options(ARRAY_SIZE(argv), (char**)argv, &settings));
- igt_assert_eq(settings.abort_mask, ABORT_ALL);
+ igt_assert(parse_options(ARRAY_SIZE(argv), (char**)argv, settings));
+ igt_assert_eq(settings->abort_mask, ABORT_ALL);
argv[1] = "--abort-on-monitored-error=";
- igt_assert(parse_options(ARRAY_SIZE(argv), (char**)argv, &settings));
- igt_assert_eq(settings.abort_mask, 0);
+ igt_assert(parse_options(ARRAY_SIZE(argv), (char**)argv, settings));
+ igt_assert_eq(settings->abort_mask, 0);
argv[1] = "--abort-on-monitored-error=doesnotexist";
- igt_assert(!parse_options(ARRAY_SIZE(argv), (char**)argv, &settings));
+ igt_assert(!parse_options(ARRAY_SIZE(argv), (char**)argv, settings));
}
@@ -520,29 +522,29 @@ igt_main
"results-path",
};
- igt_assert(parse_options(ARRAY_SIZE(argv), (char**)argv, &settings));
+ igt_assert(parse_options(ARRAY_SIZE(argv), (char**)argv, settings));
- igt_assert_eqstr(settings.name, "foo");
- igt_assert(settings.dry_run);
- igt_assert(!settings.test_list);
- igt_assert(!settings.sync);
+ igt_assert_eqstr(settings->name, "foo");
+ igt_assert(settings->dry_run);
+ igt_assert(!settings->test_list);
+ igt_assert(!settings->sync);
argv[1] = "--test-list";
argv[3] = "--sync";
- igt_assert(parse_options(ARRAY_SIZE(argv), (char**)argv, &settings));
+ igt_assert(parse_options(ARRAY_SIZE(argv), (char**)argv, settings));
- igt_assert_eqstr(settings.name, "results-path");
- igt_assert(!settings.dry_run);
- igt_assert(strstr(settings.test_list, "foo") != NULL);
- igt_assert(settings.sync);
+ igt_assert_eqstr(settings->name, "results-path");
+ igt_assert(!settings->dry_run);
+ igt_assert(strstr(settings->test_list, "foo") != NULL);
+ igt_assert(settings->sync);
}
igt_subtest_group {
char filename[] = "tmplistXXXXXX";
- int fd = -1;
igt_fixture {
+ int fd;
igt_require((fd = mkstemp(filename)) >= 0);
close(fd);
}
@@ -554,9 +556,9 @@ igt_main
"path-to-results",
};
- igt_assert(parse_options(ARRAY_SIZE(argv), (char**)argv, &settings));
+ igt_assert(parse_options(ARRAY_SIZE(argv), (char**)argv, settings));
- igt_assert(validate_settings(&settings));
+ igt_assert(validate_settings(settings));
}
igt_fixture {
@@ -573,18 +575,18 @@ igt_main
};
igt_assert_lt(open(nosuchfile, O_RDONLY), 0);
- igt_assert(parse_options(ARRAY_SIZE(argv), (char**)argv, &settings));
+ igt_assert(parse_options(ARRAY_SIZE(argv), (char**)argv, settings));
- igt_assert(!validate_settings(&settings));
+ igt_assert(!validate_settings(settings));
}
igt_subtest_group {
char dirname[] = "tmpdirXXXXXX";
- struct job_list list;
+ struct job_list *list = malloc(sizeof(*list));
igt_fixture {
igt_require(mkdtemp(dirname) != NULL);
- init_job_list(&list);
+ init_job_list(list);
}
igt_subtest("job-list-no-test-list-txt") {
@@ -593,14 +595,15 @@ igt_main
"path-to-results",
};
- igt_assert(parse_options(ARRAY_SIZE(argv), (char**)argv, &settings));
+ igt_assert(parse_options(ARRAY_SIZE(argv), (char**)argv, settings));
- igt_assert(!create_job_list(&list, &settings));
+ igt_assert(!create_job_list(list, settings));
}
igt_fixture {
rmdir(dirname);
- free_job_list(&list);
+ free_job_list(list);
+ free(list);
}
}
@@ -614,17 +617,18 @@ igt_main
igt_subtest_group {
char filename[] = "tmplistXXXXXX";
- char testlisttext[] = "igt@successtest@first-subtest\n"
+ const char testlisttext[] = "igt@successtest@first-subtest\n"
"igt@successtest@second-subtest\n"
"igt@nosubtests\n";
- int fd = -1, multiple;
- struct job_list list;
+ int multiple;
+ struct job_list *list = malloc(sizeof(*list));
igt_fixture {
+ int fd;
igt_require((fd = mkstemp(filename)) >= 0);
igt_require(write(fd, testlisttext, strlen(testlisttext)) == strlen(testlisttext));
close(fd);
- init_job_list(&list);
+ init_job_list(list);
}
for (multiple = 0; multiple < 2; multiple++) {
@@ -636,21 +640,21 @@ igt_main
"path-to-results",
};
- igt_assert(parse_options(ARRAY_SIZE(argv), (char**)argv, &settings));
- igt_assert(create_job_list(&list, &settings));
+ igt_assert(parse_options(ARRAY_SIZE(argv), (char**)argv, settings));
+ igt_assert(create_job_list(list, settings));
- igt_assert_eq(list.size, multiple ? 2 : 3);
+ igt_assert_eq(list->size, multiple ? 2 : 3);
- igt_assert_eqstr(list.entries[0].binary, "successtest");
- if (!multiple) igt_assert_eqstr(list.entries[1].binary, "successtest");
- igt_assert_eqstr(list.entries[multiple ? 1 : 2].binary, "nosubtests");
+ igt_assert_eqstr(list->entries[0].binary, "successtest");
+ if (!multiple) igt_assert_eqstr(list->entries[1].binary, "successtest");
+ igt_assert_eqstr(list->entries[multiple ? 1 : 2].binary, "nosubtests");
- igt_assert_eq(list.entries[0].subtest_count, multiple ? 2 : 1);
- igt_assert_eq(list.entries[1].subtest_count, multiple ? 0 : 1);
- if (!multiple) igt_assert_eq(list.entries[2].subtest_count, 0);
+ igt_assert_eq(list->entries[0].subtest_count, multiple ? 2 : 1);
+ igt_assert_eq(list->entries[1].subtest_count, multiple ? 0 : 1);
+ if (!multiple) igt_assert_eq(list->entries[2].subtest_count, 0);
- igt_assert_eqstr(list.entries[0].subtests[0], "first-subtest");
- igt_assert_eqstr(list.entries[multiple ? 0 : 1].subtests[multiple ? 1 : 0], "second-subtest");
+ igt_assert_eqstr(list->entries[0].subtests[0], "first-subtest");
+ igt_assert_eqstr(list->entries[multiple ? 0 : 1].subtests[multiple ? 1 : 0], "second-subtest");
}
igt_subtest_f("job-list-testlist-filtered-%s", multiple ? "multiple" : "normal") {
@@ -663,32 +667,33 @@ igt_main
"path-to-results",
};
- igt_assert(parse_options(ARRAY_SIZE(argv), (char**)argv, &settings));
- igt_assert(create_job_list(&list, &settings));
+ igt_assert(parse_options(ARRAY_SIZE(argv), (char**)argv, settings));
+ igt_assert(create_job_list(list, settings));
- igt_assert_eq(list.size, 1);
- igt_assert_eqstr(list.entries[0].binary, "successtest");
+ igt_assert_eq(list->size, 1);
+ igt_assert_eqstr(list->entries[0].binary, "successtest");
- igt_assert_eq(list.entries[0].subtest_count, 1);
- igt_assert_eqstr(list.entries[0].subtests[0], "second-subtest");
+ igt_assert_eq(list->entries[0].subtest_count, 1);
+ igt_assert_eqstr(list->entries[0].subtests[0], "second-subtest");
}
}
igt_fixture {
unlink(filename);
- free_job_list(&list);
+ free_job_list(list);
+ free(list);
}
}
igt_subtest_group {
char dirname[] = "tmpdirXXXXXX";
- int dirfd = -1, fd = -1;
- struct settings cmp_settings;
+ volatile int dirfd = -1, fd = -1;
+ struct settings *cmp_settings = malloc(sizeof(*cmp_settings));
igt_fixture {
igt_require(mkdtemp(dirname) != NULL);
rmdir(dirname);
- init_settings(&cmp_settings);
+ init_settings(cmp_settings);
}
igt_subtest("settings-serialize") {
@@ -714,9 +719,9 @@ igt_main
dirname,
};
- igt_assert(parse_options(ARRAY_SIZE(argv), (char**)argv, &settings));
+ igt_assert(parse_options(ARRAY_SIZE(argv), (char**)argv, settings));
- igt_assert(serialize_settings(&settings));
+ igt_assert(serialize_settings(settings));
dirfd = open(dirname, O_DIRECTORY, O_RDONLY);
igt_assert_f(dirfd >= 0, "Serialization did not create the results directory\n");
@@ -725,27 +730,31 @@ igt_main
"Opening %s/metadata.txt failed\n", dirname);
close(fd);
- igt_assert_f(read_settings_from_dir(&cmp_settings, dirfd), "Reading settings failed\n");
- assert_settings_equal(&settings, &cmp_settings);
+ igt_assert_f(read_settings_from_dir(cmp_settings, dirfd), "Reading settings failed\n");
+ assert_settings_equal(settings, cmp_settings);
}
igt_fixture {
close(fd);
close(dirfd);
clear_directory(dirname);
- free_settings(&cmp_settings);
+ free_settings(cmp_settings);
+ free(cmp_settings);
}
}
igt_subtest_group {
char dirname[] = "tmpdirXXXXXX";
- int dirfd = -1, fd = -1;
- struct job_list list, cmp_list;
+ volatile int dirfd = -1, fd = -1;
+ struct job_list *list, *cmp_list;
int multiple;
+ list = malloc(sizeof(*list));
+ cmp_list = malloc(sizeof(*cmp_list));
+
igt_fixture {
- init_job_list(&list);
- init_job_list(&cmp_list);
+ init_job_list(list);
+ init_job_list(cmp_list);
igt_require(mkdtemp(dirname) != NULL);
rmdir(dirname);
}
@@ -759,11 +768,11 @@ igt_main
dirname,
};
- igt_assert(parse_options(ARRAY_SIZE(argv), (char**)argv, &settings));
- igt_assert(create_job_list(&list, &settings));
+ igt_assert(parse_options(ARRAY_SIZE(argv), (char**)argv, settings));
+ igt_assert(create_job_list(list, settings));
- igt_assert(serialize_settings(&settings));
- igt_assert(serialize_job_list(&list, &settings));
+ igt_assert(serialize_settings(settings));
+ igt_assert(serialize_job_list(list, settings));
dirfd = open(dirname, O_DIRECTORY, O_RDONLY);
igt_assert_f(dirfd >= 0, "Serialization did not create the results directory\n");
@@ -773,27 +782,32 @@ igt_main
close(fd);
fd = -1;
- igt_assert_f(read_job_list(&cmp_list, dirfd), "Reading job list failed\n");
- assert_job_list_equal(&list, &cmp_list);
+ igt_assert_f(read_job_list(cmp_list, dirfd), "Reading job list failed\n");
+ assert_job_list_equal(list, cmp_list);
}
igt_fixture {
close(fd);
close(dirfd);
clear_directory(dirname);
- free_job_list(&cmp_list);
- free_job_list(&list);
+ free_job_list(cmp_list);
+ free_job_list(list);
}
}
+
+ igt_fixture {
+ free(cmp_list);
+ free(list);
+ }
}
igt_subtest_group {
char dirname[] = "tmpdirXXXXXX";
- struct job_list list;
- int dirfd = -1, subdirfd = -1, fd = -1;
+ struct job_list *list = malloc(sizeof(*list));
+ volatile int dirfd = -1, subdirfd = -1, fd = -1;
igt_fixture {
- init_job_list(&list);
+ init_job_list(list);
igt_require(mkdtemp(dirname) != NULL);
rmdir(dirname);
}
@@ -806,19 +820,19 @@ igt_main
dirname,
};
- igt_assert(parse_options(ARRAY_SIZE(argv), (char**)argv, &settings));
- igt_assert(create_job_list(&list, &settings));
+ igt_assert(parse_options(ARRAY_SIZE(argv), (char**)argv, settings));
+ igt_assert(create_job_list(list, settings));
- igt_assert(initialize_execute_state(&state, &settings, &list));
+ igt_assert(initialize_execute_state(&state, settings, list));
igt_assert_eq(state.next, 0);
igt_assert(state.dry);
- igt_assert_eq(list.size, 5);
+ igt_assert_eq(list->size, 5);
igt_assert_f((dirfd = open(dirname, O_DIRECTORY | O_RDONLY)) >= 0,
"Dry run initialization didn't create the results directory.\n");
/* Execute from just initialize_execute_state should fail */
- igt_assert(execute(&state, &settings, &list));
+ igt_assert(execute(&state, settings, list));
igt_assert_f(openat(dirfd, "0", O_DIRECTORY | O_RDONLY) < 0,
"Dry run executed when it should not have.\n");
igt_assert_f((fd = openat(dirfd, "metadata.txt", O_RDONLY)) >= 0,
@@ -830,16 +844,16 @@ igt_main
igt_assert_f((fd = openat(dirfd, "uname.txt", O_RDONLY)) < 0,
"Dry run initialization created uname.txt.\n");
- igt_assert(initialize_execute_state_from_resume(dirfd, &state, &settings, &list));
+ igt_assert(initialize_execute_state_from_resume(dirfd, &state, settings, list));
igt_assert_eq(state.next, 0);
igt_assert(!state.dry);
- igt_assert_eq(list.size, 5);
+ igt_assert_eq(list->size, 5);
/* initialize_execute_state_from_resume() closes the dirfd */
igt_assert_f((dirfd = open(dirname, O_DIRECTORY | O_RDONLY)) >= 0,
"Dry run resume somehow deleted the results directory.\n");
/* Execute from resume should work */
- igt_assert(execute(&state, &settings, &list));
+ igt_assert(execute(&state, settings, list));
igt_assert_f((fd = openat(dirfd, "uname.txt", O_RDONLY)) >= 0,
"Dry run resume didn't create uname.txt.\n");
close(fd);
@@ -854,17 +868,18 @@ igt_main
close(dirfd);
close(subdirfd);
clear_directory(dirname);
- free_job_list(&list);
+ free_job_list(list);
+ free(list);
}
}
igt_subtest_group {
char dirname[] = "tmpdirXXXXXX";
- struct job_list list;
- int dirfd = -1, fd = -1;
+ struct job_list *list = malloc(sizeof(*list));
+ volatile int dirfd = -1, fd = -1;
igt_fixture {
- init_job_list(&list);
+ init_job_list(list);
igt_require(mkdtemp(dirname) != NULL);
rmdir(dirname);
}
@@ -876,13 +891,13 @@ igt_main
dirname,
};
- igt_assert(parse_options(ARRAY_SIZE(argv), (char**)argv, &settings));
- igt_assert(create_job_list(&list, &settings));
+ igt_assert(parse_options(ARRAY_SIZE(argv), (char**)argv, settings));
+ igt_assert(create_job_list(list, settings));
- igt_assert(initialize_execute_state(&state, &settings, &list));
+ igt_assert(initialize_execute_state(&state, settings, list));
igt_assert_eq(state.next, 0);
- igt_assert_eq(list.size, 5);
+ igt_assert_eq(list->size, 5);
igt_assert_f((dirfd = open(dirname, O_DIRECTORY | O_RDONLY)) >= 0,
"Execute state initialization didn't create the results directory.\n");
igt_assert_f((fd = openat(dirfd, "metadata.txt", O_RDONLY)) >= 0,
@@ -901,17 +916,18 @@ igt_main
close(fd);
close(dirfd);
clear_directory(dirname);
- free_job_list(&list);
+ free_job_list(list);
+ free(list);
}
}
igt_subtest_group {
char dirname[] = "tmpdirXXXXXX";
- struct job_list list;
- int dirfd = -1, subdirfd = -1, fd = -1;
+ struct job_list *list = malloc(sizeof(*list));
+ volatile int dirfd = -1, subdirfd = -1, fd = -1;
igt_fixture {
- init_job_list(&list);
+ init_job_list(list);
igt_require(mkdtemp(dirname) != NULL);
}
@@ -923,16 +939,16 @@ igt_main
testdatadir,
dirname,
};
- char journaltext[] = "first-subtest\n";
- char excludestring[] = "!first-subtest";
+ const char journaltext[] = "first-subtest\n";
+ const char excludestring[] = "!first-subtest";
- igt_assert(parse_options(ARRAY_SIZE(argv), (char**)argv, &settings));
- igt_assert(create_job_list(&list, &settings));
- igt_assert(list.size == 1);
- igt_assert(list.entries[0].subtest_count == 0);
+ igt_assert(parse_options(ARRAY_SIZE(argv), (char**)argv, settings));
+ igt_assert(create_job_list(list, settings));
+ igt_assert(list->size == 1);
+ igt_assert(list->entries[0].subtest_count == 0);
- igt_assert(serialize_settings(&settings));
- igt_assert(serialize_job_list(&list, &settings));
+ igt_assert(serialize_settings(settings));
+ igt_assert(serialize_job_list(list, settings));
igt_assert((dirfd = open(dirname, O_DIRECTORY | O_RDONLY)) >= 0);
igt_assert(mkdirat(dirfd, "0", 0770) == 0);
@@ -940,15 +956,15 @@ igt_main
igt_assert((fd = openat(subdirfd, "journal.txt", O_CREAT | O_WRONLY | O_EXCL, 0660)) >= 0);
igt_assert(write(fd, journaltext, strlen(journaltext)) == strlen(journaltext));
- free_job_list(&list);
- free_settings(&settings);
- igt_assert(initialize_execute_state_from_resume(dirfd, &state, &settings, &list));
+ free_job_list(list);
+ free_settings(settings);
+ igt_assert(initialize_execute_state_from_resume(dirfd, &state, settings, list));
igt_assert_eq(state.next, 0);
- igt_assert_eq(list.size, 1);
- igt_assert_eq(list.entries[0].subtest_count, 2);
- igt_assert_eqstr(list.entries[0].subtests[0], "*");
- igt_assert_eqstr(list.entries[0].subtests[1], excludestring);
+ igt_assert_eq(list->size, 1);
+ igt_assert_eq(list->entries[0].subtest_count, 2);
+ igt_assert_eqstr(list->entries[0].subtests[0], "*");
+ igt_assert_eqstr(list->entries[0].subtests[1], excludestring);
}
igt_fixture {
@@ -956,17 +972,18 @@ igt_main
close(subdirfd);
close(dirfd);
clear_directory(dirname);
- free_job_list(&list);
+ free_job_list(list);
+ free(list);
}
}
igt_subtest_group {
char dirname[] = "tmpdirXXXXXX";
- struct job_list list;
- int dirfd = -1, subdirfd = -1, fd = -1;
+ struct job_list *list = malloc(sizeof(*list));
+ volatile int dirfd = -1, subdirfd = -1, fd = -1;
igt_fixture {
- init_job_list(&list);
+ init_job_list(list);
igt_require(mkdtemp(dirname) != NULL);
}
@@ -979,15 +996,15 @@ igt_main
testdatadir,
dirname,
};
- char journaltext[] = "first-subtest\nsecond-subtest\n";
+ const char journaltext[] = "first-subtest\nsecond-subtest\n";
- igt_assert(parse_options(ARRAY_SIZE(argv), (char**)argv, &settings));
- igt_assert(create_job_list(&list, &settings));
- igt_assert(list.size == 1);
- igt_assert(list.entries[0].subtest_count == 2);
+ igt_assert(parse_options(ARRAY_SIZE(argv), (char**)argv, settings));
+ igt_assert(create_job_list(list, settings));
+ igt_assert(list->size == 1);
+ igt_assert(list->entries[0].subtest_count == 2);
- igt_assert(serialize_settings(&settings));
- igt_assert(serialize_job_list(&list, &settings));
+ igt_assert(serialize_settings(settings));
+ igt_assert(serialize_job_list(list, settings));
igt_assert((dirfd = open(dirname, O_DIRECTORY | O_RDONLY)) >= 0);
igt_assert(mkdirat(dirfd, "0", 0770) == 0);
@@ -995,14 +1012,14 @@ igt_main
igt_assert((fd = openat(subdirfd, "journal.txt", O_CREAT | O_WRONLY | O_EXCL, 0660)) >= 0);
igt_assert(write(fd, journaltext, strlen(journaltext)) == strlen(journaltext));
- free_job_list(&list);
- free_settings(&settings);
- igt_assert(initialize_execute_state_from_resume(dirfd, &state, &settings, &list));
+ free_job_list(list);
+ free_settings(settings);
+ igt_assert(initialize_execute_state_from_resume(dirfd, &state, settings, list));
/* All subtests are in journal, the entry should be considered completed */
igt_assert_eq(state.next, 1);
- igt_assert_eq(list.size, 1);
- igt_assert_eq(list.entries[0].subtest_count, 4);
+ igt_assert_eq(list->size, 1);
+ igt_assert_eq(list->entries[0].subtest_count, 4);
}
igt_fixture {
@@ -1010,17 +1027,18 @@ igt_main
close(subdirfd);
close(dirfd);
clear_directory(dirname);
- free_job_list(&list);
+ free_job_list(list);
+ free(list);
}
}
igt_subtest_group {
char dirname[] = "tmpdirXXXXXX";
- struct job_list list;
- int dirfd = -1, subdirfd = -1, fd = -1;
+ struct job_list *list = malloc(sizeof(*list));
+ volatile int dirfd = -1, subdirfd = -1, fd = -1;
igt_fixture {
- init_job_list(&list);
+ init_job_list(list);
igt_require(mkdtemp(dirname) != NULL);
}
@@ -1031,22 +1049,22 @@ igt_main
testdatadir,
dirname,
};
- char journaltext[] = "first-subtest\nsecond-subtest\nexit:0\n";
+ const char journaltext[] = "first-subtest\nsecond-subtest\nexit:0\n";
- igt_assert(parse_options(ARRAY_SIZE(argv), (char**)argv, &settings));
- igt_assert(create_job_list(&list, &settings));
- igt_assert(list.size == 3);
+ igt_assert(parse_options(ARRAY_SIZE(argv), (char**)argv, settings));
+ igt_assert(create_job_list(list, settings));
+ igt_assert(list->size == 3);
- if (!strcmp(list.entries[0].binary, "no-subtests")) {
- struct job_list_entry tmp = list.entries[0];
- list.entries[0] = list.entries[1];
- list.entries[1] = tmp;
+ if (!strcmp(list->entries[0].binary, "no-subtests")) {
+ struct job_list_entry tmp = list->entries[0];
+ list->entries[0] = list->entries[1];
+ list->entries[1] = tmp;
}
- igt_assert(list.entries[0].subtest_count == 0);
+ igt_assert(list->entries[0].subtest_count == 0);
- igt_assert(serialize_settings(&settings));
- igt_assert(serialize_job_list(&list, &settings));
+ igt_assert(serialize_settings(settings));
+ igt_assert(serialize_job_list(list, settings));
igt_assert_lte(0, dirfd = open(dirname, O_DIRECTORY | O_RDONLY));
igt_assert_eq(mkdirat(dirfd, "0", 0770), 0);
@@ -1054,12 +1072,12 @@ igt_main
igt_assert_lte(0, fd = openat(subdirfd, "journal.txt", O_CREAT | O_WRONLY | O_EXCL, 0660));
igt_assert_eq(write(fd, journaltext, sizeof(journaltext)), sizeof(journaltext));
- free_job_list(&list);
- free_settings(&settings);
- igt_assert(initialize_execute_state_from_resume(dirfd, &state, &settings, &list));
+ free_job_list(list);
+ free_settings(settings);
+ igt_assert(initialize_execute_state_from_resume(dirfd, &state, settings, list));
igt_assert_eq(state.next, 1);
- igt_assert_eq(list.size, 3);
+ igt_assert_eq(list->size, 3);
}
igt_fixture {
@@ -1067,17 +1085,18 @@ igt_main
close(subdirfd);
close(dirfd);
clear_directory(dirname);
- free_job_list(&list);
+ free_job_list(list);
+ free(list);
}
}
igt_subtest_group {
- struct job_list list;
- int dirfd = -1, subdirfd = -1, fd = -1;
+ struct job_list *list = malloc(sizeof(*list));
+ volatile int dirfd = -1, subdirfd = -1, fd = -1;
int multiple;
igt_fixture {
- init_job_list(&list);
+ init_job_list(list);
}
for (multiple = 0; multiple < 2; multiple++) {
@@ -1100,11 +1119,11 @@ igt_main
size_t expected_tests = multiple ? 2 : 3;
size_t i;
- igt_assert(parse_options(ARRAY_SIZE(argv), (char**)argv, &settings));
- igt_assert(create_job_list(&list, &settings));
- igt_assert(initialize_execute_state(&state, &settings, &list));
+ igt_assert(parse_options(ARRAY_SIZE(argv), (char**)argv, settings));
+ igt_assert(create_job_list(list, settings));
+ igt_assert(initialize_execute_state(&state, settings, list));
- igt_assert(execute(&state, &settings, &list));
+ igt_assert(execute(&state, settings, list));
igt_assert_f((dirfd = open(dirname, O_DIRECTORY | O_RDONLY)) >= 0,
"Execute didn't create the results directory\n");
@@ -1132,9 +1151,12 @@ igt_main
close(subdirfd);
close(dirfd);
clear_directory(dirname);
- free_job_list(&list);
+ free_job_list(list);
}
}
+
+ igt_fixture
+ free(list);
}
igt_subtest_group {
@@ -1143,10 +1165,10 @@ igt_main
FILE *f = fmemopen(metadata, strlen(metadata), "r");
igt_assert(f);
- igt_assert(read_settings_from_file(&settings, f));
+ igt_assert(read_settings_from_file(settings, f));
- igt_assert(settings.piglit_style_dmesg);
- igt_assert_eq(settings.dmesg_warn_level, 5);
+ igt_assert(settings->piglit_style_dmesg);
+ igt_assert_eq(settings->dmesg_warn_level, 5);
fclose(f);
}
@@ -1156,10 +1178,10 @@ igt_main
FILE *f = fmemopen(metadata, strlen(metadata), "r");
igt_assert(f);
- igt_assert(read_settings_from_file(&settings, f));
+ igt_assert(read_settings_from_file(settings, f));
- igt_assert(settings.piglit_style_dmesg);
- igt_assert_eq(settings.dmesg_warn_level, 3);
+ igt_assert(settings->piglit_style_dmesg);
+ igt_assert_eq(settings->dmesg_warn_level, 3);
fclose(f);
}
@@ -1169,10 +1191,10 @@ igt_main
FILE *f = fmemopen(metadata, strlen(metadata), "r");
igt_assert(f);
- igt_assert(read_settings_from_file(&settings, f));
+ igt_assert(read_settings_from_file(settings, f));
- igt_assert(!settings.piglit_style_dmesg);
- igt_assert_eq(settings.dmesg_warn_level, 4);
+ igt_assert(!settings->piglit_style_dmesg);
+ igt_assert_eq(settings->dmesg_warn_level, 4);
fclose(f);
}
@@ -1182,22 +1204,22 @@ igt_main
FILE *f = fmemopen(metadata, strlen(metadata), "r");
igt_assert(f);
- igt_assert(read_settings_from_file(&settings, f));
+ igt_assert(read_settings_from_file(settings, f));
- igt_assert(!settings.piglit_style_dmesg);
- igt_assert_eq(settings.dmesg_warn_level, 3);
+ igt_assert(!settings->piglit_style_dmesg);
+ igt_assert_eq(settings->dmesg_warn_level, 3);
fclose(f);
}
}
igt_subtest_group {
- struct job_list list;
- int dirfd = -1, subdirfd = -1, fd = -1;
+ struct job_list *list = malloc(sizeof(*list));
+ volatile int dirfd = -1, subdirfd = -1, fd = -1;
int multiple;
igt_fixture {
- init_job_list(&list);
+ init_job_list(list);
}
for (multiple = 0; multiple < 2; multiple++) {
@@ -1222,11 +1244,11 @@ igt_main
"skip-one\nexit:77 (";
const char *expected_1 = "skip-two\nexit:77 (";
- igt_assert(parse_options(ARRAY_SIZE(argv), (char**)argv, &settings));
- igt_assert(create_job_list(&list, &settings));
- igt_assert(initialize_execute_state(&state, &settings, &list));
+ igt_assert(parse_options(ARRAY_SIZE(argv), (char**)argv, settings));
+ igt_assert(create_job_list(list, settings));
+ igt_assert(initialize_execute_state(&state, settings, list));
- igt_assert(execute(&state, &settings, &list));
+ igt_assert(execute(&state, settings, list));
igt_assert_f((dirfd = open(dirname, O_DIRECTORY | O_RDONLY)) >= 0,
"Execute didn't create the results directory\n");
@@ -1266,9 +1288,12 @@ igt_main
close(subdirfd);
close(dirfd);
clear_directory(dirname);
- free_job_list(&list);
+ free_job_list(list);
}
}
+
+ igt_fixture
+ free(list);
}
igt_subtest("file-descriptor-leakage") {
@@ -1289,6 +1314,8 @@ igt_main
}
}
- igt_fixture
- free_settings(&settings);
+ igt_fixture {
+ free_settings(settings);
+ free(settings);
+ }
}
--
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] 15+ messages in thread
* [igt-dev] [PATCH i-g-t 4/5] meson: Change the default build type to debugoptimized
2019-05-09 10:03 [igt-dev] [PATCH i-g-t 1/5] meson/cc: Disable memory-allocating builtins Arkadiusz Hiler
2019-05-09 10:03 ` [igt-dev] [PATCH i-g-t 2/5] lib/tests/igt_subtest_group: Operate within defined behavior Arkadiusz Hiler
2019-05-09 10:03 ` [igt-dev] [PATCH i-g-t 3/5] runner_tests: " Arkadiusz Hiler
@ 2019-05-09 10:03 ` Arkadiusz Hiler
2019-05-09 10:03 ` [igt-dev] [PATCH i-g-t 5/5] meson: Use -D_FORTIFY_SOURCE=2 on optimized builds Arkadiusz Hiler
` (5 subsequent siblings)
8 siblings, 0 replies; 15+ messages in thread
From: Arkadiusz Hiler @ 2019-05-09 10:03 UTC (permalink / raw)
To: igt-dev; +Cc: Petri Latvala
Similar as we had with autotools, enables some more compile checks.
Cc: Petri Latvala <petri.latvala@intel.com>
Signed-off-by: Arkadiusz Hiler <arkadiusz.hiler@intel.com>
---
meson.build | 5 +++--
1 file changed, 3 insertions(+), 2 deletions(-)
diff --git a/meson.build b/meson.build
index 2d54c28f..2a5a8580 100644
--- a/meson.build
+++ b/meson.build
@@ -3,7 +3,8 @@ project('igt-gpu-tools', 'c',
default_options: [
'warning_level=2',
'c_std=gnu11',
- 'b_ndebug=false',
+ 'b_ndebug=false',
+ 'buildtype=debugoptimized',
],
license : 'MIT',
meson_version : '>=0.46.0')
@@ -113,7 +114,7 @@ _tests_required = build_tests == 'true'
_build_runner = build_runner != 'false'
_runner_required = build_runner == 'true'
-build_info = []
+build_info = ['Build type: ' + get_option('buildtype')]
inc = include_directories('include/drm-uapi', 'lib', 'lib/stubs/syscalls', '.')
--
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] 15+ messages in thread
* [igt-dev] [PATCH i-g-t 5/5] meson: Use -D_FORTIFY_SOURCE=2 on optimized builds
2019-05-09 10:03 [igt-dev] [PATCH i-g-t 1/5] meson/cc: Disable memory-allocating builtins Arkadiusz Hiler
` (2 preceding siblings ...)
2019-05-09 10:03 ` [igt-dev] [PATCH i-g-t 4/5] meson: Change the default build type to debugoptimized Arkadiusz Hiler
@ 2019-05-09 10:03 ` Arkadiusz Hiler
2019-05-09 11:37 ` [igt-dev] ✓ Fi.CI.BAT: success for series starting with [i-g-t,1/5] meson/cc: Disable memory-allocating builtins Patchwork
` (4 subsequent siblings)
8 siblings, 0 replies; 15+ messages in thread
From: Arkadiusz Hiler @ 2019-05-09 10:03 UTC (permalink / raw)
To: igt-dev; +Cc: Eero Tamminen
Some distribution enable _FORTIFY_SOURCE implicitly if user sets of -O1
greater in the CFLAGS, which may cause surprise compile failures.
Let's fortify explicitly and for everyone with default build, since the
checks provided are good.
Cc: Eero Tamminen <eero.t.tamminen@intel.com>
Signed-off-by: Arkadiusz Hiler <arkadiusz.hiler@intel.com>
---
meson.build | 7 +++++++
1 file changed, 7 insertions(+)
diff --git a/meson.build b/meson.build
index 2a5a8580..2d1f5c50 100644
--- a/meson.build
+++ b/meson.build
@@ -255,6 +255,13 @@ config.set10('HAVE_MEMFD_CREATE', have)
add_project_arguments('-D_GNU_SOURCE', language : 'c')
add_project_arguments('-include', 'config.h', language : 'c')
+# FEATURE_TEST_MACROS(7)
+# performs lightweight overflow checks on quite a few libc functions
+# requires -O optimizations
+if ['debugoptimized', 'release', 'minsize'].contains(get_option('buildtype'))
+ add_project_arguments('-D_FORTIFY_SOURCE=2', language : 'c')
+endif
+
config.set('PACKAGE_NAME', meson.project_name())
config.set_quoted('PACKAGE_VERSION', meson.project_version())
config.set_quoted('PACKAGE', meson.project_name())
--
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] 15+ messages in thread
* Re: [igt-dev] [PATCH i-g-t 2/5] lib/tests/igt_subtest_group: Operate within defined behavior
2019-05-09 10:03 ` [igt-dev] [PATCH i-g-t 2/5] lib/tests/igt_subtest_group: Operate within defined behavior Arkadiusz Hiler
@ 2019-05-09 10:31 ` Ser, Simon
2019-05-09 11:11 ` Arkadiusz Hiler
0 siblings, 1 reply; 15+ messages in thread
From: Ser, Simon @ 2019-05-09 10:31 UTC (permalink / raw)
To: Hiler, Arkadiusz, igt-dev@lists.freedesktop.org
On Thu, 2019-05-09 at 13:03 +0300, Arkadiusz Hiler wrote:
> Quoting lib/igt_core.c:
> * - Code blocks with magic control flow are implemented with setjmp() and
> * longjmp(). This applies to #igt_fixture and #igt_subtest blocks and all the
> * three variants to finish test: igt_success(), igt_skip() and igt_fail().
> * Mostly this is of no concern, except when such a control block changes
> * stack variables defined in the same function as the control block resides.
> * Any store/load behaviour after a longjmp() is ill-defined for these
> * variables. Avoid such code.
> *
> * Quoting the man page for longjmp():
> *
> * "The values of automatic variables are unspecified after a call to
> * longjmp() if they meet all the following criteria:"
> * - "they are local to the function that made the corresponding setjmp() call;
> * - "their values are changed between the calls to setjmp() and longjmp(); and
> * - "they are not declared as volatile."
>
> igt_subtest_group test uses two local variables for tracking the state
> of execution, making sure that skips are working correctly.
>
> We can just make them volatile to be back on the defined grounds.
>
> Cc: Simon Ser <simon.ser@intel.com>
> Cc: Daniel Vetter <daniel.vetter@ffwll.ch>
> Signed-off-by: Arkadiusz Hiler <arkadiusz.hiler@intel.com>
> ---
> lib/tests/igt_subtest_group.c | 4 ++--
> 1 file changed, 2 insertions(+), 2 deletions(-)
>
> diff --git a/lib/tests/igt_subtest_group.c b/lib/tests/igt_subtest_group.c
> index 7783d021..d8e7d861 100644
> --- a/lib/tests/igt_subtest_group.c
> +++ b/lib/tests/igt_subtest_group.c
> @@ -28,8 +28,8 @@
>
> igt_main
> {
> - bool t1 = false;
> - int t2 = 0;
> + volatile bool t1 = false;
> + volatile int t2 = 0;
Hi,
I think a little comment explaining why these need to be volatile would
be a good addition to this patch. Something among the lines of: "Local
variables updated in subtests have undefined contents unless marked as
volatile".
> igt_subtest_group {
> igt_fixture {
_______________________________________________
igt-dev mailing list
igt-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/igt-dev
^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: [igt-dev] [PATCH i-g-t 3/5] runner_tests: Operate within defined behavior
2019-05-09 10:03 ` [igt-dev] [PATCH i-g-t 3/5] runner_tests: " Arkadiusz Hiler
@ 2019-05-09 10:43 ` Petri Latvala
0 siblings, 0 replies; 15+ messages in thread
From: Petri Latvala @ 2019-05-09 10:43 UTC (permalink / raw)
To: Arkadiusz Hiler; +Cc: igt-dev
On Thu, May 09, 2019 at 01:03:24PM +0300, Arkadiusz Hiler wrote:
> runner/runner_tests.c | 573 ++++++++++++++++++++++--------------------
Oh boy, this in particular was a mouthful.
Series is Reviewed-by: Petri Latvala <petri.latvala@intel.com>
_______________________________________________
igt-dev mailing list
igt-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/igt-dev
^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: [igt-dev] [PATCH i-g-t 2/5] lib/tests/igt_subtest_group: Operate within defined behavior
2019-05-09 10:31 ` Ser, Simon
@ 2019-05-09 11:11 ` Arkadiusz Hiler
2019-05-09 11:30 ` Ser, Simon
0 siblings, 1 reply; 15+ messages in thread
From: Arkadiusz Hiler @ 2019-05-09 11:11 UTC (permalink / raw)
To: Ser, Simon; +Cc: igt-dev@lists.freedesktop.org
On Thu, May 09, 2019 at 01:31:34PM +0300, Ser, Simon wrote:
> On Thu, 2019-05-09 at 13:03 +0300, Arkadiusz Hiler wrote:
> > Quoting lib/igt_core.c:
> > * - Code blocks with magic control flow are implemented with setjmp() and
> > * longjmp(). This applies to #igt_fixture and #igt_subtest blocks and all the
> > * three variants to finish test: igt_success(), igt_skip() and igt_fail().
> > * Mostly this is of no concern, except when such a control block changes
> > * stack variables defined in the same function as the control block resides.
> > * Any store/load behaviour after a longjmp() is ill-defined for these
> > * variables. Avoid such code.
> > *
> > * Quoting the man page for longjmp():
> > *
> > * "The values of automatic variables are unspecified after a call to
> > * longjmp() if they meet all the following criteria:"
> > * - "they are local to the function that made the corresponding setjmp() call;
> > * - "their values are changed between the calls to setjmp() and longjmp(); and
> > * - "they are not declared as volatile."
> >
> > igt_subtest_group test uses two local variables for tracking the state
> > of execution, making sure that skips are working correctly.
> >
> > We can just make them volatile to be back on the defined grounds.
> >
> > Cc: Simon Ser <simon.ser@intel.com>
> > Cc: Daniel Vetter <daniel.vetter@ffwll.ch>
> > Signed-off-by: Arkadiusz Hiler <arkadiusz.hiler@intel.com>
> > ---
> > lib/tests/igt_subtest_group.c | 4 ++--
> > 1 file changed, 2 insertions(+), 2 deletions(-)
> >
> > diff --git a/lib/tests/igt_subtest_group.c b/lib/tests/igt_subtest_group.c
> > index 7783d021..d8e7d861 100644
> > --- a/lib/tests/igt_subtest_group.c
> > +++ b/lib/tests/igt_subtest_group.c
> > @@ -28,8 +28,8 @@
> >
> > igt_main
> > {
> > - bool t1 = false;
> > - int t2 = 0;
> > + volatile bool t1 = false;
> > + volatile int t2 = 0;
>
> Hi,
>
> I think a little comment explaining why these need to be volatile would
> be a good addition to this patch. Something among the lines of: "Local
> variables updated in subtests have undefined contents unless marked as
> volatile".
Right. I'll add the comment and make Petri read it as the series has his r-b.
_______________________________________________
igt-dev mailing list
igt-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/igt-dev
^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: [igt-dev] [PATCH i-g-t 2/5] lib/tests/igt_subtest_group: Operate within defined behavior
2019-05-09 11:11 ` Arkadiusz Hiler
@ 2019-05-09 11:30 ` Ser, Simon
0 siblings, 0 replies; 15+ messages in thread
From: Ser, Simon @ 2019-05-09 11:30 UTC (permalink / raw)
To: Hiler, Arkadiusz; +Cc: igt-dev@lists.freedesktop.org
On Thu, 2019-05-09 at 14:11 +0300, Arkadiusz Hiler wrote:
> On Thu, May 09, 2019 at 01:31:34PM +0300, Ser, Simon wrote:
> > On Thu, 2019-05-09 at 13:03 +0300, Arkadiusz Hiler wrote:
> > > Quoting lib/igt_core.c:
> > > * - Code blocks with magic control flow are implemented with setjmp() and
> > > * longjmp(). This applies to #igt_fixture and #igt_subtest blocks and all the
> > > * three variants to finish test: igt_success(), igt_skip() and igt_fail().
> > > * Mostly this is of no concern, except when such a control block changes
> > > * stack variables defined in the same function as the control block resides.
> > > * Any store/load behaviour after a longjmp() is ill-defined for these
> > > * variables. Avoid such code.
> > > *
> > > * Quoting the man page for longjmp():
> > > *
> > > * "The values of automatic variables are unspecified after a call to
> > > * longjmp() if they meet all the following criteria:"
> > > * - "they are local to the function that made the corresponding setjmp() call;
> > > * - "their values are changed between the calls to setjmp() and longjmp(); and
> > > * - "they are not declared as volatile."
> > >
> > > igt_subtest_group test uses two local variables for tracking the state
> > > of execution, making sure that skips are working correctly.
> > >
> > > We can just make them volatile to be back on the defined grounds.
> > >
> > > Cc: Simon Ser <simon.ser@intel.com>
> > > Cc: Daniel Vetter <daniel.vetter@ffwll.ch>
> > > Signed-off-by: Arkadiusz Hiler <arkadiusz.hiler@intel.com>
> > > ---
> > > lib/tests/igt_subtest_group.c | 4 ++--
> > > 1 file changed, 2 insertions(+), 2 deletions(-)
> > >
> > > diff --git a/lib/tests/igt_subtest_group.c b/lib/tests/igt_subtest_group.c
> > > index 7783d021..d8e7d861 100644
> > > --- a/lib/tests/igt_subtest_group.c
> > > +++ b/lib/tests/igt_subtest_group.c
> > > @@ -28,8 +28,8 @@
> > >
> > > igt_main
> > > {
> > > - bool t1 = false;
> > > - int t2 = 0;
> > > + volatile bool t1 = false;
> > > + volatile int t2 = 0;
> >
> > Hi,
> >
> > I think a little comment explaining why these need to be volatile would
> > be a good addition to this patch. Something among the lines of: "Local
> > variables updated in subtests have undefined contents unless marked as
> > volatile".
>
> Right. I'll add the comment and make Petri read it as the series has his r-b.
Okay. Then with this the patch is:
Reviewed-by: Simon Ser <simon.ser@intel.com>
_______________________________________________
igt-dev mailing list
igt-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/igt-dev
^ permalink raw reply [flat|nested] 15+ messages in thread
* [igt-dev] ✓ Fi.CI.BAT: success for series starting with [i-g-t,1/5] meson/cc: Disable memory-allocating builtins
2019-05-09 10:03 [igt-dev] [PATCH i-g-t 1/5] meson/cc: Disable memory-allocating builtins Arkadiusz Hiler
` (3 preceding siblings ...)
2019-05-09 10:03 ` [igt-dev] [PATCH i-g-t 5/5] meson: Use -D_FORTIFY_SOURCE=2 on optimized builds Arkadiusz Hiler
@ 2019-05-09 11:37 ` Patchwork
2019-05-09 14:54 ` [igt-dev] ✗ Fi.CI.IGT: failure " Patchwork
` (3 subsequent siblings)
8 siblings, 0 replies; 15+ messages in thread
From: Patchwork @ 2019-05-09 11:37 UTC (permalink / raw)
To: Arkadiusz Hiler; +Cc: igt-dev
== Series Details ==
Series: series starting with [i-g-t,1/5] meson/cc: Disable memory-allocating builtins
URL : https://patchwork.freedesktop.org/series/60459/
State : success
== Summary ==
CI Bug Log - changes from CI_DRM_6069 -> IGTPW_2957
====================================================
Summary
-------
**SUCCESS**
No regressions found.
External URL: https://patchwork.freedesktop.org/api/1.0/series/60459/revisions/1/mbox/
Known issues
------------
Here are the changes found in IGTPW_2957 that come from known issues:
### IGT changes ###
#### Issues hit ####
* igt@i915_selftest@live_contexts:
- fi-skl-gvtdvm: [PASS][1] -> [DMESG-FAIL][2] ([fdo#110235])
[1]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6069/fi-skl-gvtdvm/igt@i915_selftest@live_contexts.html
[2]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_2957/fi-skl-gvtdvm/igt@i915_selftest@live_contexts.html
* igt@i915_selftest@live_hangcheck:
- fi-skl-iommu: [PASS][3] -> [INCOMPLETE][4] ([fdo#108602] / [fdo#108744])
[3]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6069/fi-skl-iommu/igt@i915_selftest@live_hangcheck.html
[4]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_2957/fi-skl-iommu/igt@i915_selftest@live_hangcheck.html
[fdo#108602]: https://bugs.freedesktop.org/show_bug.cgi?id=108602
[fdo#108744]: https://bugs.freedesktop.org/show_bug.cgi?id=108744
[fdo#110235]: https://bugs.freedesktop.org/show_bug.cgi?id=110235
Participating hosts (51 -> 45)
------------------------------
Missing (6): fi-ilk-m540 fi-hsw-4200u fi-byt-squawks fi-bsw-cyan fi-ctg-p8600 fi-byt-clapper
Build changes
-------------
* IGT: IGT_4974 -> IGTPW_2957
CI_DRM_6069: 7dcd3d663bc180ef9e7dcc5d5f5adebee1f285bf @ git://anongit.freedesktop.org/gfx-ci/linux
IGTPW_2957: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_2957/
IGT_4974: 23200bc1b008542bd4d744755540b07881d41fae @ git://anongit.freedesktop.org/xorg/app/intel-gpu-tools
== Logs ==
For more details see: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_2957/
_______________________________________________
igt-dev mailing list
igt-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/igt-dev
^ permalink raw reply [flat|nested] 15+ messages in thread
* [igt-dev] ✗ Fi.CI.IGT: failure for series starting with [i-g-t,1/5] meson/cc: Disable memory-allocating builtins
2019-05-09 10:03 [igt-dev] [PATCH i-g-t 1/5] meson/cc: Disable memory-allocating builtins Arkadiusz Hiler
` (4 preceding siblings ...)
2019-05-09 11:37 ` [igt-dev] ✓ Fi.CI.BAT: success for series starting with [i-g-t,1/5] meson/cc: Disable memory-allocating builtins Patchwork
@ 2019-05-09 14:54 ` Patchwork
2019-05-10 5:07 ` Arkadiusz Hiler
2019-05-09 20:35 ` [igt-dev] ✓ Fi.CI.BAT: success for series starting with [i-g-t,1/5] meson/cc: Disable memory-allocating builtins (rev2) Patchwork
` (2 subsequent siblings)
8 siblings, 1 reply; 15+ messages in thread
From: Patchwork @ 2019-05-09 14:54 UTC (permalink / raw)
To: Arkadiusz Hiler; +Cc: igt-dev
== Series Details ==
Series: series starting with [i-g-t,1/5] meson/cc: Disable memory-allocating builtins
URL : https://patchwork.freedesktop.org/series/60459/
State : failure
== Summary ==
CI Bug Log - changes from CI_DRM_6069_full -> IGTPW_2957_full
====================================================
Summary
-------
**FAILURE**
Serious unknown changes coming with IGTPW_2957_full absolutely need to be
verified manually.
If you think the reported changes have nothing to do with the changes
introduced in IGTPW_2957_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/60459/revisions/1/mbox/
Possible new issues
-------------------
Here are the unknown changes that may have been introduced in IGTPW_2957_full:
### IGT changes ###
#### Possible regressions ####
* igt@gem_eio@in-flight-suspend:
- shard-kbl: [PASS][1] -> [FAIL][2]
[1]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6069/shard-kbl1/igt@gem_eio@in-flight-suspend.html
[2]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_2957/shard-kbl3/igt@gem_eio@in-flight-suspend.html
Known issues
------------
Here are the changes found in IGTPW_2957_full that come from known issues:
### IGT changes ###
#### Issues hit ####
* igt@gem_tiled_swapping@non-threaded:
- shard-iclb: [PASS][3] -> [FAIL][4] ([fdo#108686])
[3]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6069/shard-iclb5/igt@gem_tiled_swapping@non-threaded.html
[4]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_2957/shard-iclb4/igt@gem_tiled_swapping@non-threaded.html
- shard-hsw: [PASS][5] -> [FAIL][6] ([fdo#108686])
[5]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6069/shard-hsw1/igt@gem_tiled_swapping@non-threaded.html
[6]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_2957/shard-hsw7/igt@gem_tiled_swapping@non-threaded.html
* igt@i915_suspend@debugfs-reader:
- shard-apl: [PASS][7] -> [DMESG-WARN][8] ([fdo#108566]) +6 similar issues
[7]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6069/shard-apl7/igt@i915_suspend@debugfs-reader.html
[8]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_2957/shard-apl4/igt@i915_suspend@debugfs-reader.html
* igt@kms_cursor_crc@cursor-256x85-sliding:
- shard-kbl: [PASS][9] -> [FAIL][10] ([fdo#103232]) +1 similar issue
[9]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6069/shard-kbl1/igt@kms_cursor_crc@cursor-256x85-sliding.html
[10]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_2957/shard-kbl1/igt@kms_cursor_crc@cursor-256x85-sliding.html
* igt@kms_cursor_crc@cursor-64x21-random:
- shard-apl: [PASS][11] -> [FAIL][12] ([fdo#103232]) +1 similar issue
[11]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6069/shard-apl7/igt@kms_cursor_crc@cursor-64x21-random.html
[12]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_2957/shard-apl5/igt@kms_cursor_crc@cursor-64x21-random.html
* igt@kms_frontbuffer_tracking@fbc-2p-scndscrn-pri-indfb-draw-mmap-wc:
- shard-glk: [PASS][13] -> [FAIL][14] ([fdo#103167])
[13]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6069/shard-glk9/igt@kms_frontbuffer_tracking@fbc-2p-scndscrn-pri-indfb-draw-mmap-wc.html
[14]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_2957/shard-glk4/igt@kms_frontbuffer_tracking@fbc-2p-scndscrn-pri-indfb-draw-mmap-wc.html
* igt@kms_frontbuffer_tracking@fbcpsr-1p-primscrn-shrfb-plflip-blt:
- shard-iclb: [PASS][15] -> [FAIL][16] ([fdo#103167]) +3 similar issues
[15]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6069/shard-iclb1/igt@kms_frontbuffer_tracking@fbcpsr-1p-primscrn-shrfb-plflip-blt.html
[16]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_2957/shard-iclb6/igt@kms_frontbuffer_tracking@fbcpsr-1p-primscrn-shrfb-plflip-blt.html
* igt@kms_plane@plane-panning-bottom-right-suspend-pipe-c-planes:
- shard-kbl: [PASS][17] -> [DMESG-WARN][18] ([fdo#108566])
[17]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6069/shard-kbl7/igt@kms_plane@plane-panning-bottom-right-suspend-pipe-c-planes.html
[18]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_2957/shard-kbl7/igt@kms_plane@plane-panning-bottom-right-suspend-pipe-c-planes.html
* igt@kms_psr@psr2_sprite_plane_onoff:
- shard-iclb: [PASS][19] -> [SKIP][20] ([fdo#109441])
[19]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6069/shard-iclb2/igt@kms_psr@psr2_sprite_plane_onoff.html
[20]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_2957/shard-iclb6/igt@kms_psr@psr2_sprite_plane_onoff.html
* igt@kms_setmode@basic:
- shard-iclb: [PASS][21] -> [FAIL][22] ([fdo#99912])
[21]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6069/shard-iclb5/igt@kms_setmode@basic.html
[22]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_2957/shard-iclb2/igt@kms_setmode@basic.html
- shard-kbl: [PASS][23] -> [FAIL][24] ([fdo#99912])
[23]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6069/shard-kbl6/igt@kms_setmode@basic.html
[24]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_2957/shard-kbl1/igt@kms_setmode@basic.html
#### Possible fixes ####
* igt@gem_ctx_isolation@vcs0-s3:
- shard-kbl: [DMESG-WARN][25] ([fdo#108566]) -> [PASS][26] +2 similar issues
[25]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6069/shard-kbl7/igt@gem_ctx_isolation@vcs0-s3.html
[26]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_2957/shard-kbl3/igt@gem_ctx_isolation@vcs0-s3.html
* igt@i915_pm_rpm@system-suspend-execbuf:
- shard-kbl: [INCOMPLETE][27] ([fdo#103665] / [fdo#107807]) -> [PASS][28]
[27]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6069/shard-kbl1/igt@i915_pm_rpm@system-suspend-execbuf.html
[28]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_2957/shard-kbl1/igt@i915_pm_rpm@system-suspend-execbuf.html
* igt@i915_suspend@sysfs-reader:
- shard-apl: [DMESG-WARN][29] ([fdo#108566]) -> [PASS][30] +6 similar issues
[29]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6069/shard-apl5/igt@i915_suspend@sysfs-reader.html
[30]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_2957/shard-apl3/igt@i915_suspend@sysfs-reader.html
* igt@kms_cursor_crc@cursor-128x42-offscreen:
- shard-hsw: [INCOMPLETE][31] ([fdo#103540]) -> [PASS][32]
[31]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6069/shard-hsw7/igt@kms_cursor_crc@cursor-128x42-offscreen.html
[32]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_2957/shard-hsw4/igt@kms_cursor_crc@cursor-128x42-offscreen.html
* igt@kms_cursor_legacy@cursor-vs-flip-toggle:
- shard-hsw: [FAIL][33] ([fdo#103355]) -> [PASS][34]
[33]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6069/shard-hsw8/igt@kms_cursor_legacy@cursor-vs-flip-toggle.html
[34]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_2957/shard-hsw6/igt@kms_cursor_legacy@cursor-vs-flip-toggle.html
* igt@kms_frontbuffer_tracking@fbc-2p-primscrn-spr-indfb-draw-mmap-gtt:
- shard-glk: [FAIL][35] ([fdo#103167]) -> [PASS][36]
[35]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6069/shard-glk8/igt@kms_frontbuffer_tracking@fbc-2p-primscrn-spr-indfb-draw-mmap-gtt.html
[36]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_2957/shard-glk9/igt@kms_frontbuffer_tracking@fbc-2p-primscrn-spr-indfb-draw-mmap-gtt.html
* igt@kms_frontbuffer_tracking@fbc-rgb565-draw-pwrite:
- shard-iclb: [FAIL][37] ([fdo#103167]) -> [PASS][38] +4 similar issues
[37]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6069/shard-iclb2/igt@kms_frontbuffer_tracking@fbc-rgb565-draw-pwrite.html
[38]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_2957/shard-iclb2/igt@kms_frontbuffer_tracking@fbc-rgb565-draw-pwrite.html
* igt@kms_psr@psr2_cursor_plane_onoff:
- shard-iclb: [SKIP][39] ([fdo#109441]) -> [PASS][40] +3 similar issues
[39]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6069/shard-iclb6/igt@kms_psr@psr2_cursor_plane_onoff.html
[40]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_2957/shard-iclb2/igt@kms_psr@psr2_cursor_plane_onoff.html
* igt@kms_setmode@basic:
- shard-apl: [FAIL][41] ([fdo#99912]) -> [PASS][42]
[41]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6069/shard-apl8/igt@kms_setmode@basic.html
[42]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_2957/shard-apl6/igt@kms_setmode@basic.html
[fdo#103167]: https://bugs.freedesktop.org/show_bug.cgi?id=103167
[fdo#103232]: https://bugs.freedesktop.org/show_bug.cgi?id=103232
[fdo#103355]: https://bugs.freedesktop.org/show_bug.cgi?id=103355
[fdo#103540]: https://bugs.freedesktop.org/show_bug.cgi?id=103540
[fdo#103665]: https://bugs.freedesktop.org/show_bug.cgi?id=103665
[fdo#107807]: https://bugs.freedesktop.org/show_bug.cgi?id=107807
[fdo#108566]: https://bugs.freedesktop.org/show_bug.cgi?id=108566
[fdo#108686]: https://bugs.freedesktop.org/show_bug.cgi?id=108686
[fdo#109441]: https://bugs.freedesktop.org/show_bug.cgi?id=109441
[fdo#99912]: https://bugs.freedesktop.org/show_bug.cgi?id=99912
Participating hosts (10 -> 6)
------------------------------
Missing (4): pig-skl-6260u shard-skl pig-hsw-4770r pig-glk-j5005
Build changes
-------------
* IGT: IGT_4974 -> IGTPW_2957
* Piglit: piglit_4509 -> None
CI_DRM_6069: 7dcd3d663bc180ef9e7dcc5d5f5adebee1f285bf @ git://anongit.freedesktop.org/gfx-ci/linux
IGTPW_2957: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_2957/
IGT_4974: 23200bc1b008542bd4d744755540b07881d41fae @ 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_2957/
_______________________________________________
igt-dev mailing list
igt-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/igt-dev
^ permalink raw reply [flat|nested] 15+ messages in thread
* [igt-dev] ✓ Fi.CI.BAT: success for series starting with [i-g-t,1/5] meson/cc: Disable memory-allocating builtins (rev2)
2019-05-09 10:03 [igt-dev] [PATCH i-g-t 1/5] meson/cc: Disable memory-allocating builtins Arkadiusz Hiler
` (5 preceding siblings ...)
2019-05-09 14:54 ` [igt-dev] ✗ Fi.CI.IGT: failure " Patchwork
@ 2019-05-09 20:35 ` Patchwork
2019-05-10 4:46 ` [igt-dev] ✓ Fi.CI.IGT: " Patchwork
2019-05-10 8:28 ` [igt-dev] [PATCH i-g-t 1/5] meson/cc: Disable memory-allocating builtins Daniel Vetter
8 siblings, 0 replies; 15+ messages in thread
From: Patchwork @ 2019-05-09 20:35 UTC (permalink / raw)
To: Arkadiusz Hiler; +Cc: igt-dev
== Series Details ==
Series: series starting with [i-g-t,1/5] meson/cc: Disable memory-allocating builtins (rev2)
URL : https://patchwork.freedesktop.org/series/60459/
State : success
== Summary ==
CI Bug Log - changes from IGT_4978 -> IGTPW_2960
====================================================
Summary
-------
**SUCCESS**
No regressions found.
External URL: https://patchwork.freedesktop.org/api/1.0/series/60459/revisions/2/mbox/
Known issues
------------
Here are the changes found in IGTPW_2960 that come from known issues:
### IGT changes ###
#### Issues hit ####
* igt@gem_exec_suspend@basic-s3:
- fi-apl-guc: [PASS][1] -> [DMESG-WARN][2] ([fdo#110512])
[1]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_4978/fi-apl-guc/igt@gem_exec_suspend@basic-s3.html
[2]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_2960/fi-apl-guc/igt@gem_exec_suspend@basic-s3.html
* igt@i915_selftest@live_evict:
- fi-bsw-kefka: [PASS][3] -> [DMESG-WARN][4] ([fdo#107709])
[3]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_4978/fi-bsw-kefka/igt@i915_selftest@live_evict.html
[4]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_2960/fi-bsw-kefka/igt@i915_selftest@live_evict.html
#### Possible fixes ####
* igt@amdgpu/amd_basic@userptr:
- fi-kbl-8809g: [DMESG-WARN][5] ([fdo#108965]) -> [PASS][6]
[5]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_4978/fi-kbl-8809g/igt@amdgpu/amd_basic@userptr.html
[6]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_2960/fi-kbl-8809g/igt@amdgpu/amd_basic@userptr.html
* igt@gem_ctx_switch@basic-default:
- {fi-icl-u2}: [INCOMPLETE][7] ([fdo#107713] / [fdo#108569]) -> [PASS][8]
[7]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_4978/fi-icl-u2/igt@gem_ctx_switch@basic-default.html
[8]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_2960/fi-icl-u2/igt@gem_ctx_switch@basic-default.html
* igt@i915_module_load@reload:
- fi-blb-e6850: [INCOMPLETE][9] ([fdo#107718]) -> [PASS][10]
[9]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_4978/fi-blb-e6850/igt@i915_module_load@reload.html
[10]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_2960/fi-blb-e6850/igt@i915_module_load@reload.html
* igt@i915_selftest@live_hangcheck:
- fi-skl-iommu: [INCOMPLETE][11] ([fdo#108602] / [fdo#108744]) -> [PASS][12]
[11]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_4978/fi-skl-iommu/igt@i915_selftest@live_hangcheck.html
[12]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_2960/fi-skl-iommu/igt@i915_selftest@live_hangcheck.html
* igt@kms_pipe_crc_basic@suspend-read-crc-pipe-a:
- fi-apl-guc: [DMESG-WARN][13] ([fdo#110512]) -> [PASS][14]
[13]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_4978/fi-apl-guc/igt@kms_pipe_crc_basic@suspend-read-crc-pipe-a.html
[14]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_2960/fi-apl-guc/igt@kms_pipe_crc_basic@suspend-read-crc-pipe-a.html
{name}: This element is suppressed. This means it is ignored when computing
the status of the difference (SUCCESS, WARNING, or FAILURE).
[fdo#107709]: https://bugs.freedesktop.org/show_bug.cgi?id=107709
[fdo#107713]: https://bugs.freedesktop.org/show_bug.cgi?id=107713
[fdo#107718]: https://bugs.freedesktop.org/show_bug.cgi?id=107718
[fdo#108569]: https://bugs.freedesktop.org/show_bug.cgi?id=108569
[fdo#108602]: https://bugs.freedesktop.org/show_bug.cgi?id=108602
[fdo#108744]: https://bugs.freedesktop.org/show_bug.cgi?id=108744
[fdo#108965]: https://bugs.freedesktop.org/show_bug.cgi?id=108965
[fdo#110512]: https://bugs.freedesktop.org/show_bug.cgi?id=110512
Participating hosts (50 -> 43)
------------------------------
Missing (7): fi-ilk-m540 fi-hsw-4200u fi-byt-squawks fi-bsw-cyan fi-ctg-p8600 fi-whl-u fi-byt-clapper
Build changes
-------------
* IGT: IGT_4978 -> IGTPW_2960
CI_DRM_6072: 645586708589c3d2ac81114595e875cdfbbff385 @ git://anongit.freedesktop.org/gfx-ci/linux
IGTPW_2960: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_2960/
IGT_4978: b9b3646d4f04dd0204ead2a1a10f9e1806a0b622 @ git://anongit.freedesktop.org/xorg/app/intel-gpu-tools
== Logs ==
For more details see: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_2960/
_______________________________________________
igt-dev mailing list
igt-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/igt-dev
^ permalink raw reply [flat|nested] 15+ messages in thread
* [igt-dev] ✓ Fi.CI.IGT: success for series starting with [i-g-t,1/5] meson/cc: Disable memory-allocating builtins (rev2)
2019-05-09 10:03 [igt-dev] [PATCH i-g-t 1/5] meson/cc: Disable memory-allocating builtins Arkadiusz Hiler
` (6 preceding siblings ...)
2019-05-09 20:35 ` [igt-dev] ✓ Fi.CI.BAT: success for series starting with [i-g-t,1/5] meson/cc: Disable memory-allocating builtins (rev2) Patchwork
@ 2019-05-10 4:46 ` Patchwork
2019-05-10 8:28 ` [igt-dev] [PATCH i-g-t 1/5] meson/cc: Disable memory-allocating builtins Daniel Vetter
8 siblings, 0 replies; 15+ messages in thread
From: Patchwork @ 2019-05-10 4:46 UTC (permalink / raw)
To: Arkadiusz Hiler; +Cc: igt-dev
== Series Details ==
Series: series starting with [i-g-t,1/5] meson/cc: Disable memory-allocating builtins (rev2)
URL : https://patchwork.freedesktop.org/series/60459/
State : success
== Summary ==
CI Bug Log - changes from IGT_4978_full -> IGTPW_2960_full
====================================================
Summary
-------
**SUCCESS**
No regressions found.
External URL: https://patchwork.freedesktop.org/api/1.0/series/60459/revisions/2/mbox/
Known issues
------------
Here are the changes found in IGTPW_2960_full that come from known issues:
### IGT changes ###
#### Issues hit ####
* igt@kms_color@pipe-a-ctm-blue-to-red:
- shard-kbl: [PASS][1] -> [FAIL][2] ([fdo#107201]) +1 similar issue
[1]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_4978/shard-kbl4/igt@kms_color@pipe-a-ctm-blue-to-red.html
[2]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_2960/shard-kbl7/igt@kms_color@pipe-a-ctm-blue-to-red.html
* igt@kms_color@pipe-a-ctm-green-to-red:
- shard-apl: [PASS][3] -> [FAIL][4] ([fdo#107201]) +1 similar issue
[3]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_4978/shard-apl7/igt@kms_color@pipe-a-ctm-green-to-red.html
[4]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_2960/shard-apl8/igt@kms_color@pipe-a-ctm-green-to-red.html
* igt@kms_dp_dsc@basic-dsc-enable-edp:
- shard-iclb: [PASS][5] -> [SKIP][6] ([fdo#109349])
[5]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_4978/shard-iclb2/igt@kms_dp_dsc@basic-dsc-enable-edp.html
[6]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_2960/shard-iclb1/igt@kms_dp_dsc@basic-dsc-enable-edp.html
* igt@kms_frontbuffer_tracking@fbcpsr-1p-primscrn-cur-indfb-draw-render:
- shard-iclb: [PASS][7] -> [FAIL][8] ([fdo#103167]) +5 similar issues
[7]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_4978/shard-iclb7/igt@kms_frontbuffer_tracking@fbcpsr-1p-primscrn-cur-indfb-draw-render.html
[8]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_2960/shard-iclb2/igt@kms_frontbuffer_tracking@fbcpsr-1p-primscrn-cur-indfb-draw-render.html
* igt@kms_plane@plane-panning-bottom-right-suspend-pipe-c-planes:
- shard-kbl: [PASS][9] -> [INCOMPLETE][10] ([fdo#103665])
[9]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_4978/shard-kbl3/igt@kms_plane@plane-panning-bottom-right-suspend-pipe-c-planes.html
[10]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_2960/shard-kbl1/igt@kms_plane@plane-panning-bottom-right-suspend-pipe-c-planes.html
* igt@kms_plane_lowres@pipe-a-tiling-y:
- shard-iclb: [PASS][11] -> [FAIL][12] ([fdo#103166])
[11]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_4978/shard-iclb5/igt@kms_plane_lowres@pipe-a-tiling-y.html
[12]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_2960/shard-iclb1/igt@kms_plane_lowres@pipe-a-tiling-y.html
* igt@kms_psr2_su@frontbuffer:
- shard-iclb: [PASS][13] -> [SKIP][14] ([fdo#109642])
[13]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_4978/shard-iclb2/igt@kms_psr2_su@frontbuffer.html
[14]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_2960/shard-iclb3/igt@kms_psr2_su@frontbuffer.html
* igt@kms_psr@psr2_primary_mmap_cpu:
- shard-iclb: [PASS][15] -> [SKIP][16] ([fdo#109441]) +3 similar issues
[15]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_4978/shard-iclb2/igt@kms_psr@psr2_primary_mmap_cpu.html
[16]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_2960/shard-iclb7/igt@kms_psr@psr2_primary_mmap_cpu.html
* igt@kms_vblank@pipe-a-ts-continuation-suspend:
- shard-apl: [PASS][17] -> [DMESG-WARN][18] ([fdo#108566]) +1 similar issue
[17]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_4978/shard-apl6/igt@kms_vblank@pipe-a-ts-continuation-suspend.html
[18]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_2960/shard-apl8/igt@kms_vblank@pipe-a-ts-continuation-suspend.html
#### Possible fixes ####
* igt@i915_pm_rpm@dpms-mode-unset-lpsp:
- shard-iclb: [INCOMPLETE][19] ([fdo#107713] / [fdo#108840]) -> [PASS][20]
[19]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_4978/shard-iclb5/igt@i915_pm_rpm@dpms-mode-unset-lpsp.html
[20]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_2960/shard-iclb6/igt@i915_pm_rpm@dpms-mode-unset-lpsp.html
* igt@i915_pm_rpm@i2c:
- shard-iclb: [DMESG-WARN][21] ([fdo#109982]) -> [PASS][22]
[21]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_4978/shard-iclb2/igt@i915_pm_rpm@i2c.html
[22]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_2960/shard-iclb5/igt@i915_pm_rpm@i2c.html
* igt@i915_suspend@debugfs-reader:
- shard-apl: [DMESG-WARN][23] ([fdo#108566]) -> [PASS][24] +7 similar issues
[23]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_4978/shard-apl4/igt@i915_suspend@debugfs-reader.html
[24]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_2960/shard-apl7/igt@i915_suspend@debugfs-reader.html
* igt@kms_cursor_legacy@2x-long-cursor-vs-flip-atomic:
- shard-hsw: [FAIL][25] ([fdo#105767]) -> [PASS][26]
[25]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_4978/shard-hsw6/igt@kms_cursor_legacy@2x-long-cursor-vs-flip-atomic.html
[26]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_2960/shard-hsw2/igt@kms_cursor_legacy@2x-long-cursor-vs-flip-atomic.html
* igt@kms_flip@2x-flip-vs-expired-vblank-interruptible:
- shard-glk: [FAIL][27] ([fdo#105363]) -> [PASS][28] +1 similar issue
[27]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_4978/shard-glk1/igt@kms_flip@2x-flip-vs-expired-vblank-interruptible.html
[28]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_2960/shard-glk2/igt@kms_flip@2x-flip-vs-expired-vblank-interruptible.html
* igt@kms_flip@dpms-vs-vblank-race-interruptible:
- shard-glk: [FAIL][29] ([fdo#103060]) -> [PASS][30]
[29]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_4978/shard-glk4/igt@kms_flip@dpms-vs-vblank-race-interruptible.html
[30]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_2960/shard-glk3/igt@kms_flip@dpms-vs-vblank-race-interruptible.html
* igt@kms_frontbuffer_tracking@fbcpsr-1p-primscrn-pri-shrfb-draw-render:
- shard-iclb: [FAIL][31] ([fdo#103167]) -> [PASS][32] +1 similar issue
[31]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_4978/shard-iclb4/igt@kms_frontbuffer_tracking@fbcpsr-1p-primscrn-pri-shrfb-draw-render.html
[32]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_2960/shard-iclb2/igt@kms_frontbuffer_tracking@fbcpsr-1p-primscrn-pri-shrfb-draw-render.html
* igt@kms_psr2_su@page_flip:
- shard-iclb: [SKIP][33] ([fdo#109642]) -> [PASS][34]
[33]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_4978/shard-iclb1/igt@kms_psr2_su@page_flip.html
[34]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_2960/shard-iclb2/igt@kms_psr2_su@page_flip.html
* igt@kms_psr@psr2_cursor_mmap_cpu:
- shard-iclb: [SKIP][35] ([fdo#109441]) -> [PASS][36] +3 similar issues
[35]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_4978/shard-iclb5/igt@kms_psr@psr2_cursor_mmap_cpu.html
[36]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_2960/shard-iclb2/igt@kms_psr@psr2_cursor_mmap_cpu.html
* igt@kms_setmode@basic:
- shard-apl: [FAIL][37] ([fdo#99912]) -> [PASS][38]
[37]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_4978/shard-apl5/igt@kms_setmode@basic.html
[38]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_2960/shard-apl6/igt@kms_setmode@basic.html
* igt@kms_sysfs_edid_timing:
- shard-iclb: [FAIL][39] ([fdo#100047]) -> [PASS][40]
[39]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_4978/shard-iclb3/igt@kms_sysfs_edid_timing.html
[40]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_2960/shard-iclb1/igt@kms_sysfs_edid_timing.html
[fdo#100047]: https://bugs.freedesktop.org/show_bug.cgi?id=100047
[fdo#103060]: https://bugs.freedesktop.org/show_bug.cgi?id=103060
[fdo#103166]: https://bugs.freedesktop.org/show_bug.cgi?id=103166
[fdo#103167]: https://bugs.freedesktop.org/show_bug.cgi?id=103167
[fdo#103665]: https://bugs.freedesktop.org/show_bug.cgi?id=103665
[fdo#105363]: https://bugs.freedesktop.org/show_bug.cgi?id=105363
[fdo#105767]: https://bugs.freedesktop.org/show_bug.cgi?id=105767
[fdo#107201]: https://bugs.freedesktop.org/show_bug.cgi?id=107201
[fdo#107713]: https://bugs.freedesktop.org/show_bug.cgi?id=107713
[fdo#108566]: https://bugs.freedesktop.org/show_bug.cgi?id=108566
[fdo#108840]: https://bugs.freedesktop.org/show_bug.cgi?id=108840
[fdo#109349]: https://bugs.freedesktop.org/show_bug.cgi?id=109349
[fdo#109441]: https://bugs.freedesktop.org/show_bug.cgi?id=109441
[fdo#109642]: https://bugs.freedesktop.org/show_bug.cgi?id=109642
[fdo#109982]: https://bugs.freedesktop.org/show_bug.cgi?id=109982
[fdo#99912]: https://bugs.freedesktop.org/show_bug.cgi?id=99912
Participating hosts (7 -> 6)
------------------------------
Missing (1): shard-skl
Build changes
-------------
* IGT: IGT_4978 -> IGTPW_2960
CI_DRM_6072: 645586708589c3d2ac81114595e875cdfbbff385 @ git://anongit.freedesktop.org/gfx-ci/linux
IGTPW_2960: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_2960/
IGT_4978: b9b3646d4f04dd0204ead2a1a10f9e1806a0b622 @ git://anongit.freedesktop.org/xorg/app/intel-gpu-tools
== Logs ==
For more details see: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_2960/
_______________________________________________
igt-dev mailing list
igt-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/igt-dev
^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: [igt-dev] ✗ Fi.CI.IGT: failure for series starting with [i-g-t,1/5] meson/cc: Disable memory-allocating builtins
2019-05-09 14:54 ` [igt-dev] ✗ Fi.CI.IGT: failure " Patchwork
@ 2019-05-10 5:07 ` Arkadiusz Hiler
0 siblings, 0 replies; 15+ messages in thread
From: Arkadiusz Hiler @ 2019-05-10 5:07 UTC (permalink / raw)
To: igt-dev
On Thu, May 09, 2019 at 02:54:01PM +0000, Patchwork wrote:
> == Series Details ==
>
> Series: series starting with [i-g-t,1/5] meson/cc: Disable memory-allocating builtins
> URL : https://patchwork.freedesktop.org/series/60459/
> State : failure
>
> == Summary ==
>
> CI Bug Log - changes from CI_DRM_6069_full -> IGTPW_2957_full
> ====================================================
>
> Summary
> -------
>
> **FAILURE**
>
> Serious unknown changes coming with IGTPW_2957_full absolutely need to be
> verified manually.
>
> If you think the reported changes have nothing to do with the changes
> introduced in IGTPW_2957_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/60459/revisions/1/mbox/
>
> Possible new issues
> -------------------
>
> Here are the unknown changes that may have been introduced in IGTPW_2957_full:
>
> ### IGT changes ###
>
> #### Possible regressions ####
>
> * igt@gem_eio@in-flight-suspend:
> - shard-kbl: [PASS][1] -> [FAIL][2]
> [1]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6069/shard-kbl1/igt@gem_eio@in-flight-suspend.html
> [2]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_2957/shard-kbl3/igt@gem_eio@in-flight-suspend.html
Hey Martin,
This is a false postive. I checked the test for anything that could go
awry with the changes introduced with this series and there is nothing.
So I did a rerun, just to be sure and it came out clean.
Cheers,
Arek
> Known issues
> ------------
>
> Here are the changes found in IGTPW_2957_full that come from known issues:
>
> ### IGT changes ###
>
> #### Issues hit ####
>
> * igt@gem_tiled_swapping@non-threaded:
> - shard-iclb: [PASS][3] -> [FAIL][4] ([fdo#108686])
> [3]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6069/shard-iclb5/igt@gem_tiled_swapping@non-threaded.html
> [4]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_2957/shard-iclb4/igt@gem_tiled_swapping@non-threaded.html
> - shard-hsw: [PASS][5] -> [FAIL][6] ([fdo#108686])
> [5]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6069/shard-hsw1/igt@gem_tiled_swapping@non-threaded.html
> [6]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_2957/shard-hsw7/igt@gem_tiled_swapping@non-threaded.html
>
> * igt@i915_suspend@debugfs-reader:
> - shard-apl: [PASS][7] -> [DMESG-WARN][8] ([fdo#108566]) +6 similar issues
> [7]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6069/shard-apl7/igt@i915_suspend@debugfs-reader.html
> [8]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_2957/shard-apl4/igt@i915_suspend@debugfs-reader.html
>
> * igt@kms_cursor_crc@cursor-256x85-sliding:
> - shard-kbl: [PASS][9] -> [FAIL][10] ([fdo#103232]) +1 similar issue
> [9]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6069/shard-kbl1/igt@kms_cursor_crc@cursor-256x85-sliding.html
> [10]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_2957/shard-kbl1/igt@kms_cursor_crc@cursor-256x85-sliding.html
>
> * igt@kms_cursor_crc@cursor-64x21-random:
> - shard-apl: [PASS][11] -> [FAIL][12] ([fdo#103232]) +1 similar issue
> [11]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6069/shard-apl7/igt@kms_cursor_crc@cursor-64x21-random.html
> [12]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_2957/shard-apl5/igt@kms_cursor_crc@cursor-64x21-random.html
>
> * igt@kms_frontbuffer_tracking@fbc-2p-scndscrn-pri-indfb-draw-mmap-wc:
> - shard-glk: [PASS][13] -> [FAIL][14] ([fdo#103167])
> [13]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6069/shard-glk9/igt@kms_frontbuffer_tracking@fbc-2p-scndscrn-pri-indfb-draw-mmap-wc.html
> [14]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_2957/shard-glk4/igt@kms_frontbuffer_tracking@fbc-2p-scndscrn-pri-indfb-draw-mmap-wc.html
>
> * igt@kms_frontbuffer_tracking@fbcpsr-1p-primscrn-shrfb-plflip-blt:
> - shard-iclb: [PASS][15] -> [FAIL][16] ([fdo#103167]) +3 similar issues
> [15]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6069/shard-iclb1/igt@kms_frontbuffer_tracking@fbcpsr-1p-primscrn-shrfb-plflip-blt.html
> [16]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_2957/shard-iclb6/igt@kms_frontbuffer_tracking@fbcpsr-1p-primscrn-shrfb-plflip-blt.html
>
> * igt@kms_plane@plane-panning-bottom-right-suspend-pipe-c-planes:
> - shard-kbl: [PASS][17] -> [DMESG-WARN][18] ([fdo#108566])
> [17]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6069/shard-kbl7/igt@kms_plane@plane-panning-bottom-right-suspend-pipe-c-planes.html
> [18]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_2957/shard-kbl7/igt@kms_plane@plane-panning-bottom-right-suspend-pipe-c-planes.html
>
> * igt@kms_psr@psr2_sprite_plane_onoff:
> - shard-iclb: [PASS][19] -> [SKIP][20] ([fdo#109441])
> [19]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6069/shard-iclb2/igt@kms_psr@psr2_sprite_plane_onoff.html
> [20]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_2957/shard-iclb6/igt@kms_psr@psr2_sprite_plane_onoff.html
>
> * igt@kms_setmode@basic:
> - shard-iclb: [PASS][21] -> [FAIL][22] ([fdo#99912])
> [21]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6069/shard-iclb5/igt@kms_setmode@basic.html
> [22]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_2957/shard-iclb2/igt@kms_setmode@basic.html
> - shard-kbl: [PASS][23] -> [FAIL][24] ([fdo#99912])
> [23]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6069/shard-kbl6/igt@kms_setmode@basic.html
> [24]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_2957/shard-kbl1/igt@kms_setmode@basic.html
>
>
> #### Possible fixes ####
>
> * igt@gem_ctx_isolation@vcs0-s3:
> - shard-kbl: [DMESG-WARN][25] ([fdo#108566]) -> [PASS][26] +2 similar issues
> [25]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6069/shard-kbl7/igt@gem_ctx_isolation@vcs0-s3.html
> [26]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_2957/shard-kbl3/igt@gem_ctx_isolation@vcs0-s3.html
>
> * igt@i915_pm_rpm@system-suspend-execbuf:
> - shard-kbl: [INCOMPLETE][27] ([fdo#103665] / [fdo#107807]) -> [PASS][28]
> [27]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6069/shard-kbl1/igt@i915_pm_rpm@system-suspend-execbuf.html
> [28]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_2957/shard-kbl1/igt@i915_pm_rpm@system-suspend-execbuf.html
>
> * igt@i915_suspend@sysfs-reader:
> - shard-apl: [DMESG-WARN][29] ([fdo#108566]) -> [PASS][30] +6 similar issues
> [29]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6069/shard-apl5/igt@i915_suspend@sysfs-reader.html
> [30]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_2957/shard-apl3/igt@i915_suspend@sysfs-reader.html
>
> * igt@kms_cursor_crc@cursor-128x42-offscreen:
> - shard-hsw: [INCOMPLETE][31] ([fdo#103540]) -> [PASS][32]
> [31]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6069/shard-hsw7/igt@kms_cursor_crc@cursor-128x42-offscreen.html
> [32]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_2957/shard-hsw4/igt@kms_cursor_crc@cursor-128x42-offscreen.html
>
> * igt@kms_cursor_legacy@cursor-vs-flip-toggle:
> - shard-hsw: [FAIL][33] ([fdo#103355]) -> [PASS][34]
> [33]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6069/shard-hsw8/igt@kms_cursor_legacy@cursor-vs-flip-toggle.html
> [34]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_2957/shard-hsw6/igt@kms_cursor_legacy@cursor-vs-flip-toggle.html
>
> * igt@kms_frontbuffer_tracking@fbc-2p-primscrn-spr-indfb-draw-mmap-gtt:
> - shard-glk: [FAIL][35] ([fdo#103167]) -> [PASS][36]
> [35]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6069/shard-glk8/igt@kms_frontbuffer_tracking@fbc-2p-primscrn-spr-indfb-draw-mmap-gtt.html
> [36]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_2957/shard-glk9/igt@kms_frontbuffer_tracking@fbc-2p-primscrn-spr-indfb-draw-mmap-gtt.html
>
> * igt@kms_frontbuffer_tracking@fbc-rgb565-draw-pwrite:
> - shard-iclb: [FAIL][37] ([fdo#103167]) -> [PASS][38] +4 similar issues
> [37]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6069/shard-iclb2/igt@kms_frontbuffer_tracking@fbc-rgb565-draw-pwrite.html
> [38]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_2957/shard-iclb2/igt@kms_frontbuffer_tracking@fbc-rgb565-draw-pwrite.html
>
> * igt@kms_psr@psr2_cursor_plane_onoff:
> - shard-iclb: [SKIP][39] ([fdo#109441]) -> [PASS][40] +3 similar issues
> [39]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6069/shard-iclb6/igt@kms_psr@psr2_cursor_plane_onoff.html
> [40]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_2957/shard-iclb2/igt@kms_psr@psr2_cursor_plane_onoff.html
>
> * igt@kms_setmode@basic:
> - shard-apl: [FAIL][41] ([fdo#99912]) -> [PASS][42]
> [41]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6069/shard-apl8/igt@kms_setmode@basic.html
> [42]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_2957/shard-apl6/igt@kms_setmode@basic.html
>
>
> [fdo#103167]: https://bugs.freedesktop.org/show_bug.cgi?id=103167
> [fdo#103232]: https://bugs.freedesktop.org/show_bug.cgi?id=103232
> [fdo#103355]: https://bugs.freedesktop.org/show_bug.cgi?id=103355
> [fdo#103540]: https://bugs.freedesktop.org/show_bug.cgi?id=103540
> [fdo#103665]: https://bugs.freedesktop.org/show_bug.cgi?id=103665
> [fdo#107807]: https://bugs.freedesktop.org/show_bug.cgi?id=107807
> [fdo#108566]: https://bugs.freedesktop.org/show_bug.cgi?id=108566
> [fdo#108686]: https://bugs.freedesktop.org/show_bug.cgi?id=108686
> [fdo#109441]: https://bugs.freedesktop.org/show_bug.cgi?id=109441
> [fdo#99912]: https://bugs.freedesktop.org/show_bug.cgi?id=99912
>
>
> Participating hosts (10 -> 6)
> ------------------------------
>
> Missing (4): pig-skl-6260u shard-skl pig-hsw-4770r pig-glk-j5005
>
>
> Build changes
> -------------
>
> * IGT: IGT_4974 -> IGTPW_2957
> * Piglit: piglit_4509 -> None
>
> CI_DRM_6069: 7dcd3d663bc180ef9e7dcc5d5f5adebee1f285bf @ git://anongit.freedesktop.org/gfx-ci/linux
> IGTPW_2957: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_2957/
> IGT_4974: 23200bc1b008542bd4d744755540b07881d41fae @ 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_2957/
_______________________________________________
igt-dev mailing list
igt-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/igt-dev
^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: [igt-dev] [PATCH i-g-t 1/5] meson/cc: Disable memory-allocating builtins
2019-05-09 10:03 [igt-dev] [PATCH i-g-t 1/5] meson/cc: Disable memory-allocating builtins Arkadiusz Hiler
` (7 preceding siblings ...)
2019-05-10 4:46 ` [igt-dev] ✓ Fi.CI.IGT: " Patchwork
@ 2019-05-10 8:28 ` Daniel Vetter
8 siblings, 0 replies; 15+ messages in thread
From: Daniel Vetter @ 2019-05-10 8:28 UTC (permalink / raw)
To: Arkadiusz Hiler; +Cc: igt-dev
On Thu, May 09, 2019 at 01:03:22PM +0300, Arkadiusz Hiler wrote:
> Disable the memory allocating builtins as they may cause unexpected behavior
> with our framework. They *may* get optimized out in favor of a register or
> stack variable, making them effectively local.
>
> Local variables do not play well with longjmp, which we use for fixtures
> and subtests.
>
> Signed-off-by: Arkadiusz Hiler <arkadiusz.hiler@intel.com>
Uh ... occasionally I have regrest about the igt design I started years
ago. Maybe we should have used C++ exceptions for this to get something
more well-defined. Or Rust (but that wasn't a thing back then).
On the series:
Acked-by: Daniel Vetter <daniel.vetter@ffwll.ch>
> ---
> meson.build | 6 ++++++
> 1 file changed, 6 insertions(+)
>
> diff --git a/meson.build b/meson.build
> index 8196ab63..2d54c28f 100644
> --- a/meson.build
> +++ b/meson.build
> @@ -62,6 +62,12 @@ cc_args = [
> '-Werror=sequence-point',
> '-Werror=trigraphs',
> '-Werror=write-strings',
> +# Disable the memory allocating builtins as they may cause unexpected behavior
> +# with our framework. They *may* get optimized out in favor of a register or
> +# stack variable, making them effectively local. Local variables do not play
> +# well with longjmp which is heavily used by IGT framework.
> + '-fno-builtin-malloc',
> + '-fno-builtin-calloc',
> ]
>
> foreach cc_arg : cc_args
> --
> 2.20.1
>
> _______________________________________________
> igt-dev mailing list
> igt-dev@lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/igt-dev
--
Daniel Vetter
Software Engineer, Intel Corporation
http://blog.ffwll.ch
_______________________________________________
igt-dev mailing list
igt-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/igt-dev
^ permalink raw reply [flat|nested] 15+ messages in thread
end of thread, other threads:[~2019-05-10 8:28 UTC | newest]
Thread overview: 15+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2019-05-09 10:03 [igt-dev] [PATCH i-g-t 1/5] meson/cc: Disable memory-allocating builtins Arkadiusz Hiler
2019-05-09 10:03 ` [igt-dev] [PATCH i-g-t 2/5] lib/tests/igt_subtest_group: Operate within defined behavior Arkadiusz Hiler
2019-05-09 10:31 ` Ser, Simon
2019-05-09 11:11 ` Arkadiusz Hiler
2019-05-09 11:30 ` Ser, Simon
2019-05-09 10:03 ` [igt-dev] [PATCH i-g-t 3/5] runner_tests: " Arkadiusz Hiler
2019-05-09 10:43 ` Petri Latvala
2019-05-09 10:03 ` [igt-dev] [PATCH i-g-t 4/5] meson: Change the default build type to debugoptimized Arkadiusz Hiler
2019-05-09 10:03 ` [igt-dev] [PATCH i-g-t 5/5] meson: Use -D_FORTIFY_SOURCE=2 on optimized builds Arkadiusz Hiler
2019-05-09 11:37 ` [igt-dev] ✓ Fi.CI.BAT: success for series starting with [i-g-t,1/5] meson/cc: Disable memory-allocating builtins Patchwork
2019-05-09 14:54 ` [igt-dev] ✗ Fi.CI.IGT: failure " Patchwork
2019-05-10 5:07 ` Arkadiusz Hiler
2019-05-09 20:35 ` [igt-dev] ✓ Fi.CI.BAT: success for series starting with [i-g-t,1/5] meson/cc: Disable memory-allocating builtins (rev2) Patchwork
2019-05-10 4:46 ` [igt-dev] ✓ Fi.CI.IGT: " Patchwork
2019-05-10 8:28 ` [igt-dev] [PATCH i-g-t 1/5] meson/cc: Disable memory-allocating builtins Daniel Vetter
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox