Skip to contentSkip to conversation

lib: Export a function for loading igtrc

PATCH In review Petri Latvala 3 participants 15 messages Sep 9, 2019 – Sep 16, 2019

Subsystems (2)
lore
Share & tools
lore
#0 lore raw

PATCH 1/4 lib: Export a function for loading igtrc

Cc Arkadiusz Hiler <[email protected]>
---
 lib/igt_core.c | 40 +++++++++++++++++++++++++++++++---------
 lib/igt_core.h |  2 ++
 2 files changed, 33 insertions(+), 9 deletions(-)
lib/igt_core.c +31 -9
index 1cbb09f9..940913c1 100644
@@ -642,11 +642,21 @@ static void oom_adjust_for_doom(void)
 
 }
 
-static void common_init_config(void)
+/**
+ * load_igtrc:
+ *
+ * Load .igtrc from the path pointed to by #IGT_CONFIG_PATH or from
+ * home directory if that is not set. The returned keyfile needs to be
+ * deallocated using g_key_file_free().
+ *
+ * Returns: Pointer to the keyfile, NULL on error.
+ */
+GKeyFile *igt_load_igtrc(void)
 {
 	char *key_file_env = NULL;
 	char *key_file_loc = NULL;
 	GError *error = NULL;
+	GKeyFile *file;
 	int ret;
 
 	/* Determine igt config path */
@@ -659,19 +669,35 @@ static void common_init_config(void)
 	}
 
 	/* Load igt config file */
-	igt_key_file = g_key_file_new();
-	ret = g_key_file_load_from_file(igt_key_file, key_file_loc,
+	file = g_key_file_new();
+	ret = g_key_file_load_from_file(file, key_file_loc,
 					G_KEY_FILE_NONE, &error);
 	if (!ret) {
 		g_error_free(error);
-		g_key_file_free(igt_key_file);
-		igt_key_file = NULL;
+		g_key_file_free(file);
+		file = NULL;
 
 		goto out;
 	}
 
 	g_clear_error(&error);
 
+ out:
+	if (!key_file_env && key_file_loc)
+		free(key_file_loc);
+
+	return file;
+}
+
+static void common_init_config(void)
+{
+	GError *error = NULL;
+	int ret;
+
+	igt_key_file = igt_load_igtrc();
+	if (!igt_key_file)
+		return;
+
 	if (!igt_frame_dump_path)
 		igt_frame_dump_path =
 			g_key_file_get_string(igt_key_file, "Common",
@@ -687,10 +713,6 @@ static void common_init_config(void)
 
 	if (ret != 0)
 		igt_set_autoresume_delay(ret);
-
-out:
-	if (!key_file_env && key_file_loc)
-		free(key_file_loc);
 }
 
 static void common_init_env(void)
lib/igt_core.h +2 -0
index 177d2431..521cda10 100644
@@ -83,6 +83,8 @@ extern const char* __igt_test_description __attribute__((weak));
 extern bool __igt_plain_output;
 extern char *igt_frame_dump_path;
 
+struct _GKeyFile *igt_load_igtrc(void);
+
 /**
  * IGT_TEST_DESCRIPTION:
  * @str: description string
Signature · 6 lines
2.19.1

_______________________________________________
igt-dev mailing list
[email protected]
https://lists.freedesktop.org/mailman/listinfo/igt-dev
#1 lore raw

PATCH 2/4 runner: Add support for aborting on network failure

If the network goes down while testing, CI tends to interpret that as the device being down, cutting its power after a while. This causes an incomplete to an innocent test, increasing noise in the results.

A new flag to --abort-on-monitored-error, "ping", uses liboping to ping a host configured in .igtrc with one ping after each test execution and aborts the run if there is no reply in a hardcoded amount of time.

v2:
- Use a higher timeout
- Allow hostname configuration from environment
v3:
- Use runner_c_args for holding c args for runner
- Handle runner's meson options in runner/meson.build
- Instead of one ping with 20 second timeout, ping with 1 second timeout for a duration of 20 seconds
v4:
- Rebase
- Use now-exported igt_load_igtrc instead of copypaste code
- Use define for timeout, clearer var name for single attempt timeout

Cc Arkadiusz Hiler <[email protected]>
Cc Martin Peres <[email protected]>
Cc Tomi Sarvela <[email protected]>
Cc Daniel Vetter <[email protected]>
---
 meson_options.txt  |   4 ++
 runner/executor.c  | 129 +++++++++++++++++++++++++++++++++++++++++++++
 runner/meson.build |  14 ++++-
 runner/settings.c  |   4 ++
 runner/settings.h  |   5 +-
 5 files changed, 153 insertions(+), 3 deletions(-)
meson_options.txt +4 -0
index 8e2e1cf0..ff3abf08 100644
@@ -42,6 +42,10 @@ option('runner',
        type : 'feature',
        description : 'Build test runner')
 
+option('oping',
+       type : 'feature',
+       description : 'Build test runner with liboping for pinging support')
+
 option('use_rpath',
        type : 'boolean',
        value : false,
runner/executor.c +129 -0

153 lines not on this page · raw message

runner/meson.build +13 -1
index 86521f94..6d8d3ab2 100644
@@ -13,6 +13,14 @@ runner_test_sources = [ 'runner_tests.c' ]
 runner_json_test_sources = [ 'runner_json_tests.c' ]
 
 jsonc = dependency('json-c', required: build_runner)
+runner_deps = [jsonc, glib]
+runner_c_args = []
+
+liboping = dependency('liboping', required: get_option('oping'))
+if liboping.found()
+	runner_deps += liboping
+	runner_c_args += '-DHAVE_OPING=1'
+endif
 
 if not build_tests and jsonc.found()
 	error('Building test runner requires building tests')
@@ -23,7 +31,8 @@ if jsonc.found()
 
 	runnerlib = static_library('igt_runner', runnerlib_sources,
 				   include_directories : inc,
-				   dependencies : [jsonc, glib])
+				   c_args : runner_c_args,
+				   dependencies : runner_deps)
 
 	runner = executable('igt_runner', runner_sources,
 			    link_with : runnerlib,
@@ -61,6 +70,9 @@ if jsonc.found()
 	test('runner_json', runner_json_test)
 
 	build_info += 'Build test runner: true'
+	if liboping.found()
+		build_info += 'Build test runner with oping: true'
+	endif
 else
 	build_info += 'Build test runner: false'
 endif
runner/settings.c +4 -0
index 8b39c063..d601cd11 100644
@@ -51,6 +51,7 @@ static struct {
 } abort_conditions[] = {
 	{ ABORT_TAINT, "taint" },
 	{ ABORT_LOCKDEP, "lockdep" },
+	{ ABORT_PING, "ping" },
 	{ ABORT_ALL, "all" },
 	{ 0, 0 },
 };
@@ -140,6 +141,9 @@ static const char *usage_str =
 	"                        Possible conditions:\n"
 	"                         lockdep - abort when kernel lockdep has been angered.\n"
 	"                         taint   - abort when kernel becomes fatally tainted.\n"
+	"                         ping    - abort when a host configured in .igtrc or\n"
+	"                                   environment variable IGT_PING_HOSTNAME does\n"
+	"                                   not respond to ping.\n"
 	"                         all     - abort for all of the above.\n"
 	"  -s, --sync            Sync results to disk after every test\n"
 	"  -l {quiet,verbose,dummy}, --log-level {quiet,verbose,dummy}\n"
runner/settings.h +3 -2
index 6dcfa8c5..13409f04 100644
@@ -15,9 +15,10 @@ enum {
 
 #define ABORT_TAINT   (1 << 0)
 #define ABORT_LOCKDEP (1 << 1)
-#define ABORT_ALL     (ABORT_TAINT | ABORT_LOCKDEP)
+#define ABORT_PING    (1 << 2)
+#define ABORT_ALL     (ABORT_TAINT | ABORT_LOCKDEP | ABORT_PING)
 
-_Static_assert(ABORT_ALL == (ABORT_TAINT | ABORT_LOCKDEP), "ABORT_ALL must be all conditions bitwise or'd");
+_Static_assert(ABORT_ALL == (ABORT_TAINT | ABORT_LOCKDEP | ABORT_PING), "ABORT_ALL must be all conditions bitwise or'd");
 
 struct regex_list {
 	char **regex_strings;
Signature · 6 lines
2.19.1

_______________________________________________
igt-dev mailing list
[email protected]
https://lists.freedesktop.org/mailman/listinfo/igt-dev
Reviewed-by on v1 2/4
#2 lore raw

Re: [igt-dev] [PATCH i-g-t 2/4] runner: Add support for aborting on network failure

Quoted 22 lines · Petri Latvala

If the network goes down while testing, CI tends to interpret that as the device being down, cutting its power after a while. This causes an incomplete to an innocent test, increasing noise in the results.

A new flag to --abort-on-monitored-error, "ping", uses liboping to ping a host configured in .igtrc with one ping after each test execution and aborts the run if there is no reply in a hardcoded amount of time.

v2:
- Use a higher timeout
- Allow hostname configuration from environment
v3:
- Use runner_c_args for holding c args for runner
- Handle runner's meson options in runner/meson.build
- Instead of one ping with 20 second timeout, ping with 1 second timeout for a duration of 20 seconds
v4:
- Rebase
- Use now-exported igt_load_igtrc instead of copypaste code
- Use define for timeout, clearer var name for single attempt timeout

Quoted 5 lines
Cc Arkadiusz Hiler <[email protected]>
Cc Martin Peres <[email protected]>
Cc Tomi Sarvela <[email protected]>
Cc Daniel Vetter <[email protected]>

_______________________________________________
igt-dev mailing list
[email protected]
https://lists.freedesktop.org/mailman/listinfo/igt-dev

#3 lore raw

PATCH 3/4 HAX: Check all conditions to abort

In reply to Petri Latvala
---
 runner/executor.c | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)
runner/executor.c +4 -1
index 6ac95663..5ed191f9 100644
@@ -358,7 +358,7 @@ static char *need_to_abort(const struct settings* settings)
 	for (it = abort_handlers; it->condition; it++) {
 		char *abort;
 
-		if (!(settings->abort_mask & it->condition))
+		if (false && !(settings->abort_mask & it->condition))
 			continue;
 
 		abort = it->handler();
@@ -1475,6 +1475,9 @@ bool execute(struct execute_state *state,
 
 	init_watchdogs(settings);
 
+	if (true || settings->abort_mask & ABORT_PING)
+		ping_config();
+
 	if (!uname(&unamebuf)) {
 		dprintf(unamefd, "%s %s %s %s %s\n",
 			unamebuf.sysname,
Signature · 6 lines
2.19.1

_______________________________________________
igt-dev mailing list
[email protected]
https://lists.freedesktop.org/mailman/listinfo/igt-dev
#4 lore raw

PATCH 4/4 HAX: Print ping times to stderr

In reply to Petri Latvala
---
 runner/executor.c | 6 +++++-
 1 file changed, 5 insertions(+), 1 deletion(-)
runner/executor.c +5 -1
index 5ed191f9..1d636884 100644
@@ -210,8 +210,12 @@ static bool can_ping(void)
 					       PING_INFO_LATENCY,
 					       &latency,
 					       &len);
-			if (latency >= 0.0)
+			if (latency >= 0.0) {
+				fprintf(stderr,
+					"ping: Successful ping response in %f seconds\n",
+					latency);
 				return true;
+			}
 		}
 	}
 
Signature · 6 lines
2.19.1

_______________________________________________
igt-dev mailing list
[email protected]
https://lists.freedesktop.org/mailman/listinfo/igt-dev
#5 lore raw

PATCH 4/4 HAX: Print ping times to stderr

---
 runner/executor.c | 9 ++++++++-
 1 file changed, 8 insertions(+), 1 deletion(-)
runner/executor.c +8 -1
index 5ed191f9..db300e89 100644
@@ -210,8 +210,15 @@ static bool can_ping(void)
 					       PING_INFO_LATENCY,
 					       &latency,
 					       &len);
-			if (latency >= 0.0)
+			if (latency >= 0.0) {
+				fprintf(stderr,
+					"ping: Successful ping response in %f seconds\n",
+					latency);
 				return true;
+			} else {
+				fprintf(stderr,
+					"ping: No response...\n");
+			}
 		}
 	}
 
Signature · 6 lines
2.19.1

_______________________________________________
igt-dev mailing list
[email protected]
https://lists.freedesktop.org/mailman/listinfo/igt-dev
#6 lore raw

[igt-dev] ✓ Fi.CI.BAT: success for series starting with [i-g-t,1/4] lib: Export a function for loading igtrc

In reply to Petri Latvala
== Series Details ==

== Series Details ==

Series: series starting with [i-g-t,1/4] lib: Export a function for loading igtrc
URL : https://patchwork.freedesktop.org/series/66428/
State : success

== Summary ==

CI Bug Log - changes from CI_DRM_6853 -> IGTPW_3432
====================================================

Summary
-------

**SUCCESS**

No regressions found.

External URL: https://patchwork.freedesktop.org/api/1.0/series/66428/revisions/1/mbox/

Possible new issues
-------------------

Here are the unknown changes that may have been introduced in IGTPW_3432:

### IGT changes ###

#### Suppressed ####

The following results come from untrusted machines, tests, or statuses. They do not affect the overall result.

* igt@gem_exec_parallel@basic:
- {fi-tgl-u}: [PASS][1] -> [INCOMPLETE][2]
[1]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6853/fi-tgl-u/igt@[email protected]
[2]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3432/fi-tgl-u/igt@[email protected]

Known issues
------------

Here are the changes found in IGTPW_3432 that come from known issues:

### IGT changes ###

#### Issues hit ####

* igt@i915_selftest@live_execlists:
- fi-skl-gvtdvm: [PASS][3] -> [DMESG-FAIL][4] ([fdo#111108])
[3]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6853/fi-skl-gvtdvm/igt@i915_selftest@live_execlists.html
[4]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3432/fi-skl-gvtdvm/igt@i915_selftest@live_execlists.html

* igt@kms_chamelium@dp-crc-fast:
- fi-kbl-7500u: [PASS][5] -> [FAIL][6] ([fdo#109483] / [fdo#109635 ])
[5]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6853/fi-kbl-7500u/igt@[email protected]
[6]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3432/fi-kbl-7500u/igt@[email protected]

#### Possible fixes ####

* igt@prime_vgem@basic-fence-mmap:
- fi-icl-u3: [DMESG-WARN][7] ([fdo#107724]) -> [PASS][8] +1 similar issue
[7]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6853/fi-icl-u3/igt@[email protected]
[8]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3432/fi-icl-u3/igt@[email protected]

{name}: This element is suppressed. This means it is ignored when computing
the status of the difference (SUCCESS, WARNING, or FAILURE).

[fdo#107724]: https://bugs.freedesktop.org/show_bug.cgi?id=107724
[fdo#109483]: https://bugs.freedesktop.org/show_bug.cgi?id=109483
[fdo#109635 ]: https://bugs.freedesktop.org/show_bug.cgi?id=109635
[fdo#111108]: https://bugs.freedesktop.org/show_bug.cgi?id=111108

Participating hosts (53 -> 44)
------------------------------

Additional (1): fi-kbl-soraka
Missing (10): fi-icl-u4 fi-ilk-m540 fi-hsw-4200u fi-byt-squawks fi-icl-u2 fi-bsw-cyan fi-icl-y fi-icl-guc fi-byt-clapper fi-bdw-samus

Build changes
-------------

* CI: CI-20190529 -> None
* IGT: IGT_5176 -> IGTPW_3432

CI-20190529: 20190529
CI_DRM_6853: ad1a8a60aba111d2c186d19391d5a17bd09ab48b @ git://anongit.freedesktop.org/gfx-ci/linux
IGTPW_3432: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3432/
IGT_5176: 0102dcf4e2e8b357b59173fe1ff78069148080c6 @ git://anongit.freedesktop.org/xorg/app/intel-gpu-tools

== Logs ==

For more details see: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3432/
_______________________________________________
igt-dev mailing list
[email protected]
https://lists.freedesktop.org/mailman/listinfo/igt-dev

#7 lore raw

[igt-dev] ✓ Fi.CI.BAT: success for series starting with [i-g-t,1/4] lib: Export a function for loading igtrc (rev2)

In reply to Petri Latvala
== Series Details ==

== Series Details ==

Series: series starting with [i-g-t,1/4] lib: Export a function for loading igtrc (rev2)
URL : https://patchwork.freedesktop.org/series/66428/
State : success

== Summary ==

CI Bug Log - changes from CI_DRM_6853 -> IGTPW_3433
====================================================

Summary
-------

**SUCCESS**

No regressions found.

External URL: https://patchwork.freedesktop.org/api/1.0/series/66428/revisions/2/mbox/

Known issues
------------

Here are the changes found in IGTPW_3433 that come from known issues:

### IGT changes ###

#### Issues hit ####

* igt@gem_ctx_create@basic-files:
- fi-apl-guc: [PASS][1] -> [INCOMPLETE][2] ([fdo#103927])
[1]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6853/fi-apl-guc/igt@[email protected]
[2]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3433/fi-apl-guc/igt@[email protected]

* igt@i915_selftest@live_gem_contexts:
- fi-kbl-7500u: [PASS][3] -> [INCOMPLETE][4] ([fdo#111519])
[3]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6853/fi-kbl-7500u/igt@i915_selftest@live_gem_contexts.html
[4]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3433/fi-kbl-7500u/igt@i915_selftest@live_gem_contexts.html

* igt@kms_chamelium@hdmi-hpd-fast:
- fi-icl-u2: [PASS][5] -> [FAIL][6] ([fdo#109483])
[5]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6853/fi-icl-u2/igt@[email protected]
[6]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3433/fi-icl-u2/igt@[email protected]

* igt@kms_frontbuffer_tracking@basic:
- fi-hsw-peppy: [PASS][7] -> [DMESG-WARN][8] ([fdo#102614])
[7]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6853/fi-hsw-peppy/igt@[email protected]
[8]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3433/fi-hsw-peppy/igt@[email protected]

[fdo#102614]: https://bugs.freedesktop.org/show_bug.cgi?id=102614
[fdo#103927]: https://bugs.freedesktop.org/show_bug.cgi?id=103927
[fdo#109483]: https://bugs.freedesktop.org/show_bug.cgi?id=109483
[fdo#111519]: https://bugs.freedesktop.org/show_bug.cgi?id=111519

Participating hosts (53 -> 44)
------------------------------

Additional (1): fi-kbl-soraka
Missing (10): fi-ilk-m540 fi-tgl-u fi-hsw-4200u fi-byt-squawks fi-bsw-cyan fi-icl-u3 fi-pnv-d510 fi-icl-y fi-byt-clapper fi-bdw-samus

Build changes
-------------

* CI: CI-20190529 -> None
* IGT: IGT_5176 -> IGTPW_3433

CI-20190529: 20190529
CI_DRM_6853: ad1a8a60aba111d2c186d19391d5a17bd09ab48b @ git://anongit.freedesktop.org/gfx-ci/linux
IGTPW_3433: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3433/
IGT_5176: 0102dcf4e2e8b357b59173fe1ff78069148080c6 @ git://anongit.freedesktop.org/xorg/app/intel-gpu-tools

== Logs ==

For more details see: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3433/
_______________________________________________
igt-dev mailing list
[email protected]
https://lists.freedesktop.org/mailman/listinfo/igt-dev

#8 lore raw

[igt-dev] ✓ Fi.CI.IGT: success for series starting with [i-g-t,1/4] lib: Export a function for loading igtrc

In reply to Petri Latvala
== Series Details ==

== Series Details ==

Series: series starting with [i-g-t,1/4] lib: Export a function for loading igtrc
URL : https://patchwork.freedesktop.org/series/66428/
State : success

== Summary ==

CI Bug Log - changes from CI_DRM_6853_full -> IGTPW_3432_full
====================================================

Summary
-------

**SUCCESS**

No regressions found.

External URL: https://patchwork.freedesktop.org/api/1.0/series/66428/revisions/1/mbox/

Known issues
------------

Here are the changes found in IGTPW_3432_full that come from known issues:

### IGT changes ###

#### Issues hit ####

* igt@gem_exec_schedule@independent-bsd:
- shard-iclb: [PASS][1] -> [SKIP][2] ([fdo#111325]) +2 similar issues
[1]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6853/shard-iclb6/igt@[email protected]
[2]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3432/shard-iclb2/igt@[email protected]

* igt@gem_exec_schedule@preempt-other-bsd1:
- shard-iclb: [PASS][3] -> [SKIP][4] ([fdo#109276]) +12 similar issues
[3]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6853/shard-iclb1/igt@[email protected]
[4]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3432/shard-iclb3/igt@[email protected]

* igt@i915_pm_rpm@system-suspend:
- shard-kbl: [PASS][5] -> [INCOMPLETE][6] ([fdo#103665] / [fdo#107807])
[5]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6853/shard-kbl6/igt@[email protected]
[6]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3432/shard-kbl6/igt@[email protected]

* igt@i915_selftest@live_hangcheck:
- shard-iclb: [PASS][7] -> [INCOMPLETE][8] ([fdo#107713] / [fdo#108569])
[7]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6853/shard-iclb1/igt@i915_selftest@live_hangcheck.html
[8]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3432/shard-iclb2/igt@i915_selftest@live_hangcheck.html

* igt@i915_suspend@fence-restore-tiled2untiled:
- shard-apl: [PASS][9] -> [DMESG-WARN][10] ([fdo#108566]) +7 similar issues
[9]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6853/shard-apl6/igt@[email protected]
[10]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3432/shard-apl6/igt@[email protected]

* igt@kms_draw_crc@draw-method-xrgb8888-render-xtiled:
- shard-iclb: [PASS][11] -> [FAIL][12] ([fdo#103184] / [fdo#103232])
[11]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6853/shard-iclb4/igt@[email protected]
[12]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3432/shard-iclb7/igt@[email protected]

* igt@kms_flip@flip-vs-expired-vblank-interruptible:
- shard-glk: [PASS][13] -> [FAIL][14] ([fdo#105363])
[13]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6853/shard-glk2/igt@[email protected]
[14]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3432/shard-glk8/igt@[email protected]

* igt@kms_frontbuffer_tracking@fbcpsr-1p-primscrn-shrfb-msflip-blt:
- shard-iclb: [PASS][15] -> [FAIL][16] ([fdo#103167]) +2 similar issues
[15]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6853/shard-iclb5/igt@kms_frontbuffer_tracking@fbcpsr-1p-primscrn-shrfb-msflip-blt.html
[16]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3432/shard-iclb1/igt@kms_frontbuffer_tracking@fbcpsr-1p-primscrn-shrfb-msflip-blt.html

* igt@kms_plane_lowres@pipe-a-tiling-x:
- shard-iclb: [PASS][17] -> [FAIL][18] ([fdo#103166])
[17]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6853/shard-iclb2/igt@[email protected]
[18]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3432/shard-iclb8/igt@[email protected]

* igt@kms_vblank@pipe-a-query-idle-hang:
- shard-hsw: [PASS][19] -> [INCOMPLETE][20] ([fdo#103540])
[19]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6853/shard-hsw2/igt@[email protected]
[20]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3432/shard-hsw8/igt@[email protected]

* igt@perf_pmu@rc6-runtime-pm:
- shard-glk: [PASS][21] -> [FAIL][22] ([fdo#105010])
[21]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6853/shard-glk2/igt@[email protected]
[22]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3432/shard-glk4/igt@[email protected]
- shard-apl: [PASS][23] -> [FAIL][24] ([fdo#105010])
[23]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6853/shard-apl7/igt@[email protected]
[24]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3432/shard-apl4/igt@[email protected]
- shard-kbl: [PASS][25] -> [FAIL][26] ([fdo#105010])
[25]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6853/shard-kbl2/igt@[email protected]
[26]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3432/shard-kbl4/igt@[email protected]
- shard-iclb: [PASS][27] -> [FAIL][28] ([fdo#105010])
[27]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6853/shard-iclb6/igt@[email protected]
[28]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3432/shard-iclb5/igt@[email protected]
- shard-hsw: [PASS][29] -> [FAIL][30] ([fdo#105010])
[29]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6853/shard-hsw5/igt@[email protected]
[30]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3432/shard-hsw1/igt@[email protected]

#### Possible fixes ####

* igt@gem_exec_schedule@preempt-other-chain-bsd:
- shard-iclb: [SKIP][31] ([fdo#111325]) -> [PASS][32] +4 similar issues
[31]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6853/shard-iclb1/igt@[email protected]
[32]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3432/shard-iclb7/igt@[email protected]

* igt@gem_partial_pwrite_pread@write-display:
- shard-iclb: [INCOMPLETE][33] ([fdo#107713] / [fdo#109100]) -> [PASS][34]
[33]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6853/shard-iclb7/igt@[email protected]
[34]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3432/shard-iclb2/igt@[email protected]

* igt@gem_softpin@noreloc-s3:
- shard-kbl: [INCOMPLETE][35] ([fdo#103665]) -> [PASS][36]
[35]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6853/shard-kbl1/igt@[email protected]
[36]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3432/shard-kbl2/igt@[email protected]

* igt@i915_suspend@debugfs-reader:
- shard-apl: [DMESG-WARN][37] ([fdo#108566]) -> [PASS][38] +2 similar issues
[37]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6853/shard-apl4/igt@[email protected]
[38]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3432/shard-apl6/igt@[email protected]

* igt@i915_suspend@sysfs-reader:
- shard-iclb: [INCOMPLETE][39] ([fdo#107713]) -> [PASS][40]
[39]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6853/shard-iclb7/igt@[email protected]
[40]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3432/shard-iclb8/igt@[email protected]

* igt@kms_cursor_crc@pipe-c-cursor-128x42-sliding:
- shard-apl: [FAIL][41] ([fdo#103232]) -> [PASS][42]
[41]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6853/shard-apl5/igt@[email protected]
[42]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3432/shard-apl3/igt@[email protected]
- shard-kbl: [FAIL][43] ([fdo#103232]) -> [PASS][44]
[43]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6853/shard-kbl1/igt@[email protected]
[44]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3432/shard-kbl6/igt@[email protected]

* igt@kms_cursor_crc@pipe-c-cursor-256x85-offscreen:
- shard-apl: [INCOMPLETE][45] ([fdo#103927]) -> [PASS][46] +3 similar issues
[45]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6853/shard-apl5/igt@[email protected]
[46]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3432/shard-apl5/igt@[email protected]

* igt@kms_frontbuffer_tracking@fbc-1p-offscren-pri-shrfb-draw-pwrite:
- shard-iclb: [FAIL][47] ([fdo#103167]) -> [PASS][48] +5 similar issues
[47]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6853/shard-iclb8/igt@kms_frontbuffer_tracking@fbc-1p-offscren-pri-shrfb-draw-pwrite.html
[48]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3432/shard-iclb4/igt@kms_frontbuffer_tracking@fbc-1p-offscren-pri-shrfb-draw-pwrite.html

* igt@kms_frontbuffer_tracking@fbcpsr-1p-offscren-pri-shrfb-draw-pwrite:
- shard-iclb: [INCOMPLETE][49] ([fdo#106978] / [fdo#107713]) -> [PASS][50]
[49]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6853/shard-iclb1/igt@kms_frontbuffer_tracking@fbcpsr-1p-offscren-pri-shrfb-draw-pwrite.html
[50]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3432/shard-iclb3/igt@kms_frontbuffer_tracking@fbcpsr-1p-offscren-pri-shrfb-draw-pwrite.html

* igt@kms_psr@psr2_cursor_plane_onoff:
- shard-iclb: [SKIP][51] ([fdo#109441]) -> [PASS][52] +1 similar issue
[51]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6853/shard-iclb6/igt@kms_psr@psr2_cursor_plane_onoff.html
[52]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3432/shard-iclb2/igt@kms_psr@psr2_cursor_plane_onoff.html

* igt@kms_setmode@basic:
- shard-apl: [FAIL][53] ([fdo#99912]) -> [PASS][54]
[53]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6853/shard-apl8/igt@[email protected]
[54]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3432/shard-apl5/igt@[email protected]

* igt@prime_busy@hang-bsd2:
- shard-iclb: [SKIP][55] ([fdo#109276]) -> [PASS][56] +16 similar issues
[55]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6853/shard-iclb6/igt@[email protected]
[56]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3432/shard-iclb1/igt@[email protected]

#### Warnings ####

* igt@gem_ctx_isolation@vcs1-nonpriv:
- shard-iclb: [FAIL][57] ([fdo#111329]) -> [SKIP][58] ([fdo#109276])
[57]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6853/shard-iclb2/igt@[email protected]
[58]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3432/shard-iclb3/igt@[email protected]

* igt@gem_mocs_settings@mocs-rc6-bsd2:
- shard-iclb: [FAIL][59] ([fdo#111330]) -> [SKIP][60] ([fdo#109276])
[59]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6853/shard-iclb2/igt@[email protected]
[60]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3432/shard-iclb3/igt@[email protected]

* igt@gem_mocs_settings@mocs-settings-bsd2:
- shard-iclb: [SKIP][61] ([fdo#109276]) -> [FAIL][62] ([fdo#111330])
[61]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6853/shard-iclb5/igt@[email protected]
[62]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3432/shard-iclb4/igt@[email protected]

[fdo#103166]: https://bugs.freedesktop.org/show_bug.cgi?id=103166
[fdo#103167]: https://bugs.freedesktop.org/show_bug.cgi?id=103167
[fdo#103184]: https://bugs.freedesktop.org/show_bug.cgi?id=103184
[fdo#103232]: https://bugs.freedesktop.org/show_bug.cgi?id=103232
[fdo#103540]: https://bugs.freedesktop.org/show_bug.cgi?id=103540
[fdo#103665]: https://bugs.freedesktop.org/show_bug.cgi?id=103665
[fdo#103927]: https://bugs.freedesktop.org/show_bug.cgi?id=103927
[fdo#105010]: https://bugs.freedesktop.org/show_bug.cgi?id=105010
[fdo#105363]: https://bugs.freedesktop.org/show_bug.cgi?id=105363
[fdo#106978]: https://bugs.freedesktop.org/show_bug.cgi?id=106978
[fdo#107713]: https://bugs.freedesktop.org/show_bug.cgi?id=107713
[fdo#107807]: https://bugs.freedesktop.org/show_bug.cgi?id=107807
[fdo#108566]: https://bugs.freedesktop.org/show_bug.cgi?id=108566
[fdo#108569]: https://bugs.freedesktop.org/show_bug.cgi?id=108569
[fdo#109100]: https://bugs.freedesktop.org/show_bug.cgi?id=109100
[fdo#109276]: https://bugs.freedesktop.org/show_bug.cgi?id=109276
[fdo#109441]: https://bugs.freedesktop.org/show_bug.cgi?id=109441
[fdo#111325]: https://bugs.freedesktop.org/show_bug.cgi?id=111325
[fdo#111329]: https://bugs.freedesktop.org/show_bug.cgi?id=111329
[fdo#111330]: https://bugs.freedesktop.org/show_bug.cgi?id=111330
[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
-------------

* CI: CI-20190529 -> None
* IGT: IGT_5176 -> IGTPW_3432
* Piglit: piglit_4509 -> None

CI-20190529: 20190529
CI_DRM_6853: ad1a8a60aba111d2c186d19391d5a17bd09ab48b @ git://anongit.freedesktop.org/gfx-ci/linux
IGTPW_3432: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3432/
IGT_5176: 0102dcf4e2e8b357b59173fe1ff78069148080c6 @ 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_3432/
_______________________________________________
igt-dev mailing list
[email protected]
https://lists.freedesktop.org/mailman/listinfo/igt-dev

#9 lore raw

[igt-dev] ✓ Fi.CI.IGT: success for series starting with [i-g-t,1/4] lib: Export a function for loading igtrc (rev2)

In reply to Petri Latvala
== Series Details ==

== Series Details ==

Series: series starting with [i-g-t,1/4] lib: Export a function for loading igtrc (rev2)
URL : https://patchwork.freedesktop.org/series/66428/
State : success

== Summary ==

CI Bug Log - changes from CI_DRM_6853_full -> IGTPW_3433_full
====================================================

Summary
-------

**SUCCESS**

No regressions found.

External URL: https://patchwork.freedesktop.org/api/1.0/series/66428/revisions/2/mbox/

Known issues
------------

Here are the changes found in IGTPW_3433_full that come from known issues:

### IGT changes ###

#### Issues hit ####

* igt@gem_exec_schedule@preempt-other-bsd1:
- shard-iclb: [PASS][1] -> [SKIP][2] ([fdo#109276]) +10 similar issues
[1]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6853/shard-iclb1/igt@[email protected]
[2]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3433/shard-iclb7/igt@[email protected]

* igt@gem_exec_schedule@promotion-bsd:
- shard-iclb: [PASS][3] -> [SKIP][4] ([fdo#111325]) +5 similar issues
[3]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6853/shard-iclb5/igt@[email protected]
[4]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3433/shard-iclb4/igt@[email protected]

* igt@i915_pm_rc6_residency@rc6-accuracy:
- shard-kbl: [PASS][5] -> [SKIP][6] ([fdo#109271])
[5]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6853/shard-kbl4/igt@[email protected]
[6]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3433/shard-kbl2/igt@[email protected]

* igt@kms_flip@flip-vs-expired-vblank-interruptible:
- shard-glk: [PASS][7] -> [FAIL][8] ([fdo#105363])
[7]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6853/shard-glk2/igt@[email protected]
[8]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3433/shard-glk1/igt@[email protected]

* igt@kms_frontbuffer_tracking@fbc-1p-primscrn-spr-indfb-draw-blt:
- shard-iclb: [PASS][9] -> [FAIL][10] ([fdo#103167]) +2 similar issues
[9]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6853/shard-iclb4/igt@[email protected]
[10]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3433/shard-iclb1/igt@[email protected]

* igt@kms_plane@plane-panning-bottom-right-suspend-pipe-b-planes:
- shard-apl: [PASS][11] -> [DMESG-WARN][12] ([fdo#108566]) +3 similar issues
[11]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6853/shard-apl7/igt@[email protected]
[12]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3433/shard-apl2/igt@[email protected]

#### Possible fixes ####

* igt@gem_ctx_switch@legacy-bsd2-heavy:
- shard-iclb: [SKIP][13] ([fdo#109276]) -> [PASS][14] +13 similar issues
[13]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6853/shard-iclb8/igt@[email protected]
[14]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3433/shard-iclb2/igt@[email protected]

* igt@gem_exec_balancer@smoke:
- shard-iclb: [SKIP][15] ([fdo#110854]) -> [PASS][16]
[15]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6853/shard-iclb5/igt@[email protected]
[16]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3433/shard-iclb4/igt@[email protected]

* igt@gem_exec_schedule@preempt-other-chain-bsd:
- shard-iclb: [SKIP][17] ([fdo#111325]) -> [PASS][18] +4 similar issues
[17]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6853/shard-iclb1/igt@[email protected]
[18]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3433/shard-iclb3/igt@[email protected]

* igt@gem_partial_pwrite_pread@write-display:
- shard-iclb: [INCOMPLETE][19] ([fdo#107713] / [fdo#109100]) -> [PASS][20]
[19]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6853/shard-iclb7/igt@[email protected]
[20]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3433/shard-iclb8/igt@[email protected]

* igt@gem_softpin@noreloc-s3:
- shard-kbl: [INCOMPLETE][21] ([fdo#103665]) -> [PASS][22]
[21]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6853/shard-kbl1/igt@[email protected]
[22]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3433/shard-kbl6/igt@[email protected]

* igt@i915_suspend@debugfs-reader:
- shard-apl: [DMESG-WARN][23] ([fdo#108566]) -> [PASS][24] +1 similar issue
[23]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6853/shard-apl4/igt@[email protected]
[24]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3433/shard-apl3/igt@[email protected]

* igt@i915_suspend@sysfs-reader:
- shard-iclb: [INCOMPLETE][25] ([fdo#107713]) -> [PASS][26]
[25]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6853/shard-iclb7/igt@[email protected]
[26]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3433/shard-iclb7/igt@[email protected]

* igt@kms_cursor_crc@pipe-c-cursor-128x42-sliding:
- shard-apl: [FAIL][27] ([fdo#103232]) -> [PASS][28]
[27]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6853/shard-apl5/igt@[email protected]
[28]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3433/shard-apl3/igt@[email protected]
- shard-kbl: [FAIL][29] ([fdo#103232]) -> [PASS][30]
[29]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6853/shard-kbl1/igt@[email protected]
[30]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3433/shard-kbl1/igt@[email protected]

* igt@kms_cursor_crc@pipe-c-cursor-256x85-offscreen:
- shard-apl: [INCOMPLETE][31] ([fdo#103927]) -> [PASS][32] +3 similar issues
[31]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6853/shard-apl5/igt@[email protected]
[32]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3433/shard-apl8/igt@[email protected]

* igt@kms_frontbuffer_tracking@fbc-1p-offscren-pri-shrfb-draw-pwrite:
- shard-iclb: [FAIL][33] ([fdo#103167]) -> [PASS][34] +4 similar issues
[33]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6853/shard-iclb8/igt@kms_frontbuffer_tracking@fbc-1p-offscren-pri-shrfb-draw-pwrite.html
[34]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3433/shard-iclb4/igt@kms_frontbuffer_tracking@fbc-1p-offscren-pri-shrfb-draw-pwrite.html

* igt@kms_frontbuffer_tracking@fbcpsr-1p-offscren-pri-shrfb-draw-pwrite:
- shard-iclb: [INCOMPLETE][35] ([fdo#106978] / [fdo#107713]) -> [PASS][36]
[35]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6853/shard-iclb1/igt@kms_frontbuffer_tracking@fbcpsr-1p-offscren-pri-shrfb-draw-pwrite.html
[36]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3433/shard-iclb5/igt@kms_frontbuffer_tracking@fbcpsr-1p-offscren-pri-shrfb-draw-pwrite.html

* igt@kms_psr@psr2_basic:
- shard-iclb: [SKIP][37] ([fdo#109441]) -> [PASS][38] +1 similar issue
[37]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6853/shard-iclb1/igt@kms_psr@psr2_basic.html
[38]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3433/shard-iclb2/igt@kms_psr@psr2_basic.html

* igt@kms_setmode@basic:
- shard-glk: [FAIL][39] ([fdo#99912]) -> [PASS][40]
[39]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6853/shard-glk4/igt@[email protected]
[40]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3433/shard-glk2/igt@[email protected]
- shard-hsw: [FAIL][41] ([fdo#99912]) -> [PASS][42]
[41]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6853/shard-hsw5/igt@[email protected]
[42]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3433/shard-hsw1/igt@[email protected]

#### Warnings ####

* igt@gem_ctx_isolation@vcs1-nonpriv:
- shard-iclb: [FAIL][43] ([fdo#111329]) -> [SKIP][44] ([fdo#109276])
[43]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6853/shard-iclb2/igt@[email protected]
[44]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3433/shard-iclb8/igt@[email protected]

* igt@gem_mocs_settings@mocs-rc6-bsd2:
- shard-iclb: [FAIL][45] ([fdo#111330]) -> [SKIP][46] ([fdo#109276])
[45]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6853/shard-iclb2/igt@[email protected]
[46]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3433/shard-iclb3/igt@[email protected]

* igt@gem_mocs_settings@mocs-settings-bsd2:
- shard-iclb: [SKIP][47] ([fdo#109276]) -> [FAIL][48] ([fdo#111330])
[47]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6853/shard-iclb5/igt@[email protected]
[48]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3433/shard-iclb2/igt@[email protected]

[fdo#103167]: https://bugs.freedesktop.org/show_bug.cgi?id=103167
[fdo#103232]: https://bugs.freedesktop.org/show_bug.cgi?id=103232
[fdo#103665]: https://bugs.freedesktop.org/show_bug.cgi?id=103665
[fdo#103927]: https://bugs.freedesktop.org/show_bug.cgi?id=103927
[fdo#105363]: https://bugs.freedesktop.org/show_bug.cgi?id=105363
[fdo#106978]: https://bugs.freedesktop.org/show_bug.cgi?id=106978
[fdo#107713]: https://bugs.freedesktop.org/show_bug.cgi?id=107713
[fdo#108566]: https://bugs.freedesktop.org/show_bug.cgi?id=108566
[fdo#109100]: https://bugs.freedesktop.org/show_bug.cgi?id=109100
[fdo#109271]: https://bugs.freedesktop.org/show_bug.cgi?id=109271
[fdo#109276]: https://bugs.freedesktop.org/show_bug.cgi?id=109276
[fdo#109441]: https://bugs.freedesktop.org/show_bug.cgi?id=109441
[fdo#110854]: https://bugs.freedesktop.org/show_bug.cgi?id=110854
[fdo#111325]: https://bugs.freedesktop.org/show_bug.cgi?id=111325
[fdo#111329]: https://bugs.freedesktop.org/show_bug.cgi?id=111329
[fdo#111330]: https://bugs.freedesktop.org/show_bug.cgi?id=111330
[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
-------------

* CI: CI-20190529 -> None
* IGT: IGT_5176 -> IGTPW_3433
* Piglit: piglit_4509 -> None

CI-20190529: 20190529
CI_DRM_6853: ad1a8a60aba111d2c186d19391d5a17bd09ab48b @ git://anongit.freedesktop.org/gfx-ci/linux
IGTPW_3433: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3433/
IGT_5176: 0102dcf4e2e8b357b59173fe1ff78069148080c6 @ 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_3433/
_______________________________________________
igt-dev mailing list
[email protected]
https://lists.freedesktop.org/mailman/listinfo/igt-dev

#10 lore raw
In reply to Petri Latvala
Quoted 90 lines · Petri Latvala
Cc Arkadiusz Hiler <[email protected]>
---
 lib/igt_core.c | 40 +++++++++++++++++++++++++++++++---------
 lib/igt_core.h |  2 ++
 2 files changed, 33 insertions(+), 9 deletions(-)
lib/igt_core.c +31 -9
index 1cbb09f9..940913c1 100644
@@ -642,11 +642,21 @@ static void oom_adjust_for_doom(void)
 
 }
 
-static void common_init_config(void)
+/**
+ * load_igtrc:
+ *
+ * Load .igtrc from the path pointed to by #IGT_CONFIG_PATH or from
+ * home directory if that is not set. The returned keyfile needs to be
+ * deallocated using g_key_file_free().
+ *
+ * Returns: Pointer to the keyfile, NULL on error.
+ */
+GKeyFile *igt_load_igtrc(void)
 {
 	char *key_file_env = NULL;
 	char *key_file_loc = NULL;
 	GError *error = NULL;
+	GKeyFile *file;
 	int ret;
 
 	/* Determine igt config path */
@@ -659,19 +669,35 @@ static void common_init_config(void)
 	}
 
 	/* Load igt config file */
-	igt_key_file = g_key_file_new();
-	ret = g_key_file_load_from_file(igt_key_file, key_file_loc,
+	file = g_key_file_new();
+	ret = g_key_file_load_from_file(file, key_file_loc,
 					G_KEY_FILE_NONE, &error);
 	if (!ret) {
 		g_error_free(error);
-		g_key_file_free(igt_key_file);
-		igt_key_file = NULL;
+		g_key_file_free(file);
+		file = NULL;
 
 		goto out;
 	}
 
 	g_clear_error(&error);
 
+ out:
+	if (!key_file_env && key_file_loc)
+		free(key_file_loc);
+
+	return file;
+}
+
+static void common_init_config(void)
+{
+	GError *error = NULL;
+	int ret;
+
+	igt_key_file = igt_load_igtrc();
+	if (!igt_key_file)
+		return;
+
 	if (!igt_frame_dump_path)
 		igt_frame_dump_path =
 			g_key_file_get_string(igt_key_file, "Common",
@@ -687,10 +713,6 @@ static void common_init_config(void)
 
 	if (ret != 0)
 		igt_set_autoresume_delay(ret);
-
-out:
-	if (!key_file_env && key_file_loc)
-		free(key_file_loc);
 }
 
 static void common_init_env(void)
lib/igt_core.h +0 -0
index 177d2431..521cda10 100644

lib/igt_core.h extern const char* __igt_test_description __attribute__((weak)); · line 86

Quoted 4 lines
lib/igt_core.h +1 -0
@@ -83,6 +83,8 @@ extern const char* __igt_test_description __attribute__((weak));
 extern bool __igt_plain_output;
 extern char *igt_frame_dump_path;
 
+struct _GKeyFile *igt_load_igtrc(void);

Why not GKeyFile *...?

Quoted 7 lines
lib/igt_core.h +1 -0
+
 /**
  * IGT_TEST_DESCRIPTION:
  * @str: description string
Signature · 1 line
2.19.1

_______________________________________________
igt-dev mailing list
[email protected]
https://lists.freedesktop.org/mailman/listinfo/igt-dev

#11 lore raw
Quoted 94 lines · Arkadiusz Hiler
Quoted 93 lines · Petri Latvala
Cc Arkadiusz Hiler <[email protected]>
---
 lib/igt_core.c | 40 +++++++++++++++++++++++++++++++---------
 lib/igt_core.h |  2 ++
 2 files changed, 33 insertions(+), 9 deletions(-)
lib/igt_core.c +31 -9
index 1cbb09f9..940913c1 100644
@@ -642,11 +642,21 @@ static void oom_adjust_for_doom(void)
 
 }
 
-static void common_init_config(void)
+/**
+ * load_igtrc:
+ *
+ * Load .igtrc from the path pointed to by #IGT_CONFIG_PATH or from
+ * home directory if that is not set. The returned keyfile needs to be
+ * deallocated using g_key_file_free().
+ *
+ * Returns: Pointer to the keyfile, NULL on error.
+ */
+GKeyFile *igt_load_igtrc(void)
 {
 	char *key_file_env = NULL;
 	char *key_file_loc = NULL;
 	GError *error = NULL;
+	GKeyFile *file;
 	int ret;
 
 	/* Determine igt config path */
@@ -659,19 +669,35 @@ static void common_init_config(void)
 	}
 
 	/* Load igt config file */
-	igt_key_file = g_key_file_new();
-	ret = g_key_file_load_from_file(igt_key_file, key_file_loc,
+	file = g_key_file_new();
+	ret = g_key_file_load_from_file(file, key_file_loc,
 					G_KEY_FILE_NONE, &error);
 	if (!ret) {
 		g_error_free(error);
-		g_key_file_free(igt_key_file);
-		igt_key_file = NULL;
+		g_key_file_free(file);
+		file = NULL;
 
 		goto out;
 	}
 
 	g_clear_error(&error);
 
+ out:
+	if (!key_file_env && key_file_loc)
+		free(key_file_loc);
+
+	return file;
+}
+
+static void common_init_config(void)
+{
+	GError *error = NULL;
+	int ret;
+
+	igt_key_file = igt_load_igtrc();
+	if (!igt_key_file)
+		return;
+
 	if (!igt_frame_dump_path)
 		igt_frame_dump_path =
 			g_key_file_get_string(igt_key_file, "Common",
@@ -687,10 +713,6 @@ static void common_init_config(void)
 
 	if (ret != 0)
 		igt_set_autoresume_delay(ret);
-
-out:
-	if (!key_file_env && key_file_loc)
-		free(key_file_loc);
 }
 
 static void common_init_env(void)
lib/igt_core.h +0 -0
index 177d2431..521cda10 100644
@@ -83,6 +83,8 @@ extern const char* __igt_test_description __attribute__((weak));
 extern bool __igt_plain_output;
 extern char *igt_frame_dump_path;
 
Quoted 3 lines

lib/igt_core.h extern const char* __igt_test_description __attribute__((weak)); · line 86

Quoted 1 line
lib/igt_core.h +1 -0
+struct _GKeyFile *igt_load_igtrc(void);

Why not GKeyFile *...?

That would require #include <glib.h> in igt_core.h and spread that dependency further than feels ok.

Signature · 5 lines
Petri Latvala
_______________________________________________
igt-dev mailing list
[email protected]
https://lists.freedesktop.org/mailman/listinfo/igt-dev
#12 lore raw
Quoted 95 lines · Petri Latvala
Quoted 94 lines · Arkadiusz Hiler
Quoted 93 lines · Petri Latvala
Cc Arkadiusz Hiler <[email protected]>
---
 lib/igt_core.c | 40 +++++++++++++++++++++++++++++++---------
 lib/igt_core.h |  2 ++
 2 files changed, 33 insertions(+), 9 deletions(-)
lib/igt_core.c +31 -9
index 1cbb09f9..940913c1 100644
@@ -642,11 +642,21 @@ static void oom_adjust_for_doom(void)
 
 }
 
-static void common_init_config(void)
+/**
+ * load_igtrc:
+ *
+ * Load .igtrc from the path pointed to by #IGT_CONFIG_PATH or from
+ * home directory if that is not set. The returned keyfile needs to be
+ * deallocated using g_key_file_free().
+ *
+ * Returns: Pointer to the keyfile, NULL on error.
+ */
+GKeyFile *igt_load_igtrc(void)
 {
 	char *key_file_env = NULL;
 	char *key_file_loc = NULL;
 	GError *error = NULL;
+	GKeyFile *file;
 	int ret;
 
 	/* Determine igt config path */
@@ -659,19 +669,35 @@ static void common_init_config(void)
 	}
 
 	/* Load igt config file */
-	igt_key_file = g_key_file_new();
-	ret = g_key_file_load_from_file(igt_key_file, key_file_loc,
+	file = g_key_file_new();
+	ret = g_key_file_load_from_file(file, key_file_loc,
 					G_KEY_FILE_NONE, &error);
 	if (!ret) {
 		g_error_free(error);
-		g_key_file_free(igt_key_file);
-		igt_key_file = NULL;
+		g_key_file_free(file);
+		file = NULL;
 
 		goto out;
 	}
 
 	g_clear_error(&error);
 
+ out:
+	if (!key_file_env && key_file_loc)
+		free(key_file_loc);
+
+	return file;
+}
+
+static void common_init_config(void)
+{
+	GError *error = NULL;
+	int ret;
+
+	igt_key_file = igt_load_igtrc();
+	if (!igt_key_file)
+		return;
+
 	if (!igt_frame_dump_path)
 		igt_frame_dump_path =
 			g_key_file_get_string(igt_key_file, "Common",
@@ -687,10 +713,6 @@ static void common_init_config(void)
 
 	if (ret != 0)
 		igt_set_autoresume_delay(ret);
-
-out:
-	if (!key_file_env && key_file_loc)
-		free(key_file_loc);
 }
 
 static void common_init_env(void)
lib/igt_core.h +0 -0
index 177d2431..521cda10 100644
@@ -83,6 +83,8 @@ extern const char* __igt_test_description __attribute__((weak));
 extern bool __igt_plain_output;
 extern char *igt_frame_dump_path;
 
Quoted 7 lines
Quoted 3 lines

lib/igt_core.h extern const char* __igt_test_description __attribute__((weak)); · line 86

Quoted 1 line
lib/igt_core.h +1 -0
+struct _GKeyFile *igt_load_igtrc(void);

Why not GKeyFile *...?

That would require #include <glib.h> in igt_core.h and spread that dependency further than feels ok.

Oh. Oh.... Then where do we get struct _GKeyFile from?
_______________________________________________
igt-dev mailing list [email protected]
https://lists.freedesktop.org/mailman/listinfo/igt-dev

#13 lore raw
Quoted 101 lines · Arkadiusz Hiler
Quoted 100 lines · Petri Latvala
Quoted 97 lines · Arkadiusz Hiler
Quoted 90 lines · Petri Latvala
Cc Arkadiusz Hiler <[email protected]>
---
 lib/igt_core.c | 40 +++++++++++++++++++++++++++++++---------
 lib/igt_core.h |  2 ++
 2 files changed, 33 insertions(+), 9 deletions(-)
lib/igt_core.c +31 -9
index 1cbb09f9..940913c1 100644
@@ -642,11 +642,21 @@ static void oom_adjust_for_doom(void)
 
 }
 
-static void common_init_config(void)
+/**
+ * load_igtrc:
+ *
+ * Load .igtrc from the path pointed to by #IGT_CONFIG_PATH or from
+ * home directory if that is not set. The returned keyfile needs to be
+ * deallocated using g_key_file_free().
+ *
+ * Returns: Pointer to the keyfile, NULL on error.
+ */
+GKeyFile *igt_load_igtrc(void)
 {
 	char *key_file_env = NULL;
 	char *key_file_loc = NULL;
 	GError *error = NULL;
+	GKeyFile *file;
 	int ret;
 
 	/* Determine igt config path */
@@ -659,19 +669,35 @@ static void common_init_config(void)
 	}
 
 	/* Load igt config file */
-	igt_key_file = g_key_file_new();
-	ret = g_key_file_load_from_file(igt_key_file, key_file_loc,
+	file = g_key_file_new();
+	ret = g_key_file_load_from_file(file, key_file_loc,
 					G_KEY_FILE_NONE, &error);
 	if (!ret) {
 		g_error_free(error);
-		g_key_file_free(igt_key_file);
-		igt_key_file = NULL;
+		g_key_file_free(file);
+		file = NULL;
 
 		goto out;
 	}
 
 	g_clear_error(&error);
 
+ out:
+	if (!key_file_env && key_file_loc)
+		free(key_file_loc);
+
+	return file;
+}
+
+static void common_init_config(void)
+{
+	GError *error = NULL;
+	int ret;
+
+	igt_key_file = igt_load_igtrc();
+	if (!igt_key_file)
+		return;
+
 	if (!igt_frame_dump_path)
 		igt_frame_dump_path =
 			g_key_file_get_string(igt_key_file, "Common",
@@ -687,10 +713,6 @@ static void common_init_config(void)
 
 	if (ret != 0)
 		igt_set_autoresume_delay(ret);
-
-out:
-	if (!key_file_env && key_file_loc)
-		free(key_file_loc);
 }
 
 static void common_init_env(void)
lib/igt_core.h +0 -0
index 177d2431..521cda10 100644

lib/igt_core.h extern const char* __igt_test_description __attribute__((weak)); · line 86

Quoted 4 lines
lib/igt_core.h +1 -0
@@ -83,6 +83,8 @@ extern const char* __igt_test_description __attribute__((weak));
 extern bool __igt_plain_output;
 extern char *igt_frame_dump_path;
 
+struct _GKeyFile *igt_load_igtrc(void);

Why not GKeyFile *...?

Quoted 4 lines
Quoted 2 lines

That would require #include <glib.h> in igt_core.h and spread that dependency further than feels ok.

Oh. Oh.... Then where do we get struct _GKeyFile from?

Nowhere, it being a complete type is not needed to have a valid pointer type.

(For the record, "struct GKeyFile *" is wrong, because when we actually have glib.h, there won't be a "struct GKeyFile", there's a "struct _GKeyFile" and a typedef of that into "GKeyFile")

Signature · 5 lines
Petri Latvala
_______________________________________________
igt-dev mailing list
[email protected]
https://lists.freedesktop.org/mailman/listinfo/igt-dev
Reviewed-by
#14 lore raw
Quoted 102 lines · Petri Latvala
Quoted 101 lines · Arkadiusz Hiler
Quoted 100 lines · Petri Latvala
Quoted 97 lines · Arkadiusz Hiler
Quoted 90 lines · Petri Latvala
Cc Arkadiusz Hiler <[email protected]>
---
 lib/igt_core.c | 40 +++++++++++++++++++++++++++++++---------
 lib/igt_core.h |  2 ++
 2 files changed, 33 insertions(+), 9 deletions(-)
lib/igt_core.c +31 -9
index 1cbb09f9..940913c1 100644
@@ -642,11 +642,21 @@ static void oom_adjust_for_doom(void)
 
 }
 
-static void common_init_config(void)
+/**
+ * load_igtrc:
+ *
+ * Load .igtrc from the path pointed to by #IGT_CONFIG_PATH or from
+ * home directory if that is not set. The returned keyfile needs to be
+ * deallocated using g_key_file_free().
+ *
+ * Returns: Pointer to the keyfile, NULL on error.
+ */
+GKeyFile *igt_load_igtrc(void)
 {
 	char *key_file_env = NULL;
 	char *key_file_loc = NULL;
 	GError *error = NULL;
+	GKeyFile *file;
 	int ret;
 
 	/* Determine igt config path */
@@ -659,19 +669,35 @@ static void common_init_config(void)
 	}
 
 	/* Load igt config file */
-	igt_key_file = g_key_file_new();
-	ret = g_key_file_load_from_file(igt_key_file, key_file_loc,
+	file = g_key_file_new();
+	ret = g_key_file_load_from_file(file, key_file_loc,
 					G_KEY_FILE_NONE, &error);
 	if (!ret) {
 		g_error_free(error);
-		g_key_file_free(igt_key_file);
-		igt_key_file = NULL;
+		g_key_file_free(file);
+		file = NULL;
 
 		goto out;
 	}
 
 	g_clear_error(&error);
 
+ out:
+	if (!key_file_env && key_file_loc)
+		free(key_file_loc);
+
+	return file;
+}
+
+static void common_init_config(void)
+{
+	GError *error = NULL;
+	int ret;
+
+	igt_key_file = igt_load_igtrc();
+	if (!igt_key_file)
+		return;
+
 	if (!igt_frame_dump_path)
 		igt_frame_dump_path =
 			g_key_file_get_string(igt_key_file, "Common",
@@ -687,10 +713,6 @@ static void common_init_config(void)
 
 	if (ret != 0)
 		igt_set_autoresume_delay(ret);
-
-out:
-	if (!key_file_env && key_file_loc)
-		free(key_file_loc);
 }
 
 static void common_init_env(void)
lib/igt_core.h +0 -0
index 177d2431..521cda10 100644

lib/igt_core.h extern const char* __igt_test_description __attribute__((weak)); · line 86

Quoted 4 lines
lib/igt_core.h +1 -0
@@ -83,6 +83,8 @@ extern const char* __igt_test_description __attribute__((weak));
 extern bool __igt_plain_output;
 extern char *igt_frame_dump_path;
 
+struct _GKeyFile *igt_load_igtrc(void);

Why not GKeyFile *...?

Quoted 7 lines
Quoted 4 lines
Quoted 2 lines

That would require #include <glib.h> in igt_core.h and spread that dependency further than feels ok.

Oh. Oh.... Then where do we get struct _GKeyFile from?

Nowhere, it being a complete type is not needed to have a valid pointer type.

In the rush I haven't noticed the lack of struct, and yeah typedes do not behave the same as opawue struct. Sorry for the dumb question.

Quoted 3 lines

(For the record, "struct GKeyFile *" is wrong, because when we actually have glib.h, there won't be a "struct GKeyFile", there's a "struct _GKeyFile" and a typedef of that into "GKeyFile")

bit ugly, bit haxy, but I don't see a better way

_______________________________________________
igt-dev mailing list
[email protected]
https://lists.freedesktop.org/mailman/listinfo/igt-dev