public inbox for igt-dev@lists.freedesktop.org
 help / color / mirror / Atom feed
* [igt-dev] [PATCH i-g-t] runner: Use glib's regex utilities instead of POSIX ERE
@ 2019-05-10  0:06 Lyude
  2019-05-10  0:43 ` [igt-dev] ✓ Fi.CI.BAT: success for " Patchwork
                   ` (3 more replies)
  0 siblings, 4 replies; 6+ messages in thread
From: Lyude @ 2019-05-10  0:06 UTC (permalink / raw)
  To: igt-dev

From: Lyude Paul <lyude@redhat.com>

POSIX ERE, while pretty standard is also very old and severely limited.
In fact, it's so limited that Intel CI's own test blacklist,
tests/intel-ci/blacklist.txt, doesn't even work with it due to the lack
of support for backreferences.

Since we're already using glib in other parts of igt, let's just start
using glib's regular expression matching instead of the POSIX regex API.
This gives us full perl compatible regular expressions and in turn, also
gives us python compatible regular expressions to match piglit.

Signed-off-by: Lyude Paul <lyude@redhat.com>
---
 runner/job_list.c  |  4 +---
 runner/meson.build |  2 +-
 runner/resultgen.c | 15 +++++++++------
 runner/settings.c  | 26 ++++++++++----------------
 runner/settings.h  |  4 ++--
 5 files changed, 23 insertions(+), 28 deletions(-)

diff --git a/runner/job_list.c b/runner/job_list.c
index 941e2ee0..4a16742f 100644
--- a/runner/job_list.c
+++ b/runner/job_list.c
@@ -17,10 +17,8 @@ static bool matches_any(const char *str, struct regex_list *list)
 	size_t i;
 
 	for (i = 0; i < list->size; i++) {
-		if (regexec(list->regexes[i], str,
-			    (size_t)0, NULL, 0) == 0) {
+		if (g_regex_match(list->regexes[i], str, 0, NULL))
 			return true;
-		}
 	}
 
 	return false;
diff --git a/runner/meson.build b/runner/meson.build
index de6e6f1c..1ffc95b4 100644
--- a/runner/meson.build
+++ b/runner/meson.build
@@ -17,7 +17,7 @@ if _build_runner and jsonc.found()
 
 	runnerlib = static_library('igt_runner', runnerlib_sources,
 				   include_directories : inc,
-				   dependencies : jsonc)
+				   dependencies : [jsonc, glib])
 
 	runner = executable('igt_runner', runner_sources,
 			    link_with : runnerlib,
diff --git a/runner/resultgen.c b/runner/resultgen.c
index d9702a19..2b7d26d5 100644
--- a/runner/resultgen.c
+++ b/runner/resultgen.c
@@ -499,14 +499,17 @@ static const char igt_dmesg_whitelist[] =
 static const char igt_piglit_style_dmesg_blacklist[] =
 	"(\\[drm:|drm_|intel_|i915_)";
 
-static bool init_regex_whitelist(struct settings* settings, regex_t* re)
+static bool init_regex_whitelist(struct settings* settings, GRegex **re)
 {
+	GError *err = NULL;
 	const char *regex = settings->piglit_style_dmesg ?
 		igt_piglit_style_dmesg_blacklist :
 		igt_dmesg_whitelist;
 
-	if (regcomp(re, regex, REG_EXTENDED | REG_NOSUB) != 0) {
+	*re = g_regex_new(regex, G_REGEX_OPTIMIZE, 0, &err);
+	if (err) {
 		fprintf(stderr, "Cannot compile dmesg regexp\n");
+		g_error_free(err);
 		return false;
 	}
 
@@ -630,7 +633,7 @@ static bool fill_from_dmesg(int fd,
 	char piglit_name[256];
 	ssize_t read;
 	size_t i;
-	regex_t re;
+	GRegex *re;
 
 	if (!f) {
 		return false;
@@ -671,12 +674,12 @@ static bool fill_from_dmesg(int fd,
 
 		if (settings->piglit_style_dmesg) {
 			if ((flags & 0x07) <= settings->dmesg_warn_level && continuation != 'c' &&
-			    regexec(&re, message, (size_t)0, NULL, 0) != REG_NOMATCH) {
+			    g_regex_match(re, message, 0, NULL)) {
 				append_line(&warnings, &warningslen, formatted);
 			}
 		} else {
 			if ((flags & 0x07) <= settings->dmesg_warn_level && continuation != 'c' &&
-			    regexec(&re, message, (size_t)0, NULL, 0) == REG_NOMATCH) {
+			    !g_regex_match(re, message, 0, NULL)) {
 				append_line(&warnings, &warningslen, formatted);
 			}
 		}
@@ -715,7 +718,7 @@ static bool fill_from_dmesg(int fd,
 
 	free(dmesg);
 	free(warnings);
-	regfree(&re);
+	g_regex_unref(re);
 	fclose(f);
 	return true;
 }
diff --git a/runner/settings.c b/runner/settings.c
index 25bcf531..ad38ae8d 100644
--- a/runner/settings.c
+++ b/runner/settings.c
@@ -187,23 +187,18 @@ static void usage(const char *extra_message, FILE *f)
 
 static bool add_regex(struct regex_list *list, char *new)
 {
-	regex_t *regex;
-	size_t buflen;
-	char *buf;
-	int s;
-
-	regex = malloc(sizeof(*regex));
-
-	if ((s = regcomp(regex, new,
-			 REG_EXTENDED | REG_NOSUB)) != 0) {
-		buflen = regerror(s, regex, NULL, 0);
-		buf = malloc(buflen);
-		regerror(s, regex, buf, buflen);
+	GRegex *regex;
+	GError *error = NULL;
+
+	regex = g_regex_new(new, G_REGEX_OPTIMIZE, 0, &error);
+	if (error) {
+		char *buf = malloc(snprintf(NULL, 0, "Invalid regex '%s': %s", new, error->message) + 1);
+
+		sprintf(buf, "Invalid regex '%s': %s", new, error->message);
 		usage(buf, stderr);
 
 		free(buf);
-		regfree(regex);
-		free(regex);
+		g_error_free(error);
 		return false;
 	}
 
@@ -224,8 +219,7 @@ static void free_regexes(struct regex_list *regexes)
 
 	for (i = 0; i < regexes->size; i++) {
 		free(regexes->regex_strings[i]);
-		regfree(regexes->regexes[i]);
-		free(regexes->regexes[i]);
+		g_regex_unref(regexes->regexes[i]);
 	}
 	free(regexes->regex_strings);
 	free(regexes->regexes);
diff --git a/runner/settings.h b/runner/settings.h
index 672a3af8..0a1ee08d 100644
--- a/runner/settings.h
+++ b/runner/settings.h
@@ -4,8 +4,8 @@
 #include <stdbool.h>
 #include <stddef.h>
 #include <sys/types.h>
-#include <regex.h>
 #include <stdio.h>
+#include <glib.h>
 
 enum {
 	LOG_LEVEL_NORMAL = 0,
@@ -21,7 +21,7 @@ _Static_assert(ABORT_ALL == (ABORT_TAINT | ABORT_LOCKDEP), "ABORT_ALL must be al
 
 struct regex_list {
 	char **regex_strings;
-	regex_t** regexes;
+	GRegex **regexes;
 	size_t size;
 };
 
-- 
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] 6+ messages in thread

* [igt-dev] ✓ Fi.CI.BAT: success for runner: Use glib's regex utilities instead of POSIX ERE
  2019-05-10  0:06 [igt-dev] [PATCH i-g-t] runner: Use glib's regex utilities instead of POSIX ERE Lyude
@ 2019-05-10  0:43 ` Patchwork
  2019-05-10  6:55 ` [igt-dev] [PATCH i-g-t] " Ser, Simon
                   ` (2 subsequent siblings)
  3 siblings, 0 replies; 6+ messages in thread
From: Patchwork @ 2019-05-10  0:43 UTC (permalink / raw)
  To: Lyude; +Cc: igt-dev

== Series Details ==

Series: runner: Use glib's regex utilities instead of POSIX ERE
URL   : https://patchwork.freedesktop.org/series/60487/
State : success

== Summary ==

CI Bug Log - changes from IGT_4978 -> IGTPW_2961
====================================================

Summary
-------

  **SUCCESS**

  No regressions found.

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

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

  Here are the changes found in IGTPW_2961 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_2961/fi-apl-guc/igt@gem_exec_suspend@basic-s3.html

  
#### Possible fixes ####

  * igt@amdgpu/amd_basic@userptr:
    - fi-kbl-8809g:       [DMESG-WARN][3] ([fdo#108965]) -> [PASS][4]
   [3]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_4978/fi-kbl-8809g/igt@amdgpu/amd_basic@userptr.html
   [4]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_2961/fi-kbl-8809g/igt@amdgpu/amd_basic@userptr.html

  * igt@gem_ctx_switch@basic-default:
    - {fi-icl-u2}:        [INCOMPLETE][5] ([fdo#107713] / [fdo#108569]) -> [PASS][6]
   [5]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_4978/fi-icl-u2/igt@gem_ctx_switch@basic-default.html
   [6]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_2961/fi-icl-u2/igt@gem_ctx_switch@basic-default.html

  * igt@i915_selftest@live_contexts:
    - fi-bdw-gvtdvm:      [DMESG-FAIL][7] ([fdo#110235]) -> [PASS][8]
   [7]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_4978/fi-bdw-gvtdvm/igt@i915_selftest@live_contexts.html
   [8]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_2961/fi-bdw-gvtdvm/igt@i915_selftest@live_contexts.html

  * igt@i915_selftest@live_hangcheck:
    - fi-skl-iommu:       [INCOMPLETE][9] ([fdo#108602] / [fdo#108744]) -> [PASS][10]
   [9]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_4978/fi-skl-iommu/igt@i915_selftest@live_hangcheck.html
   [10]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_2961/fi-skl-iommu/igt@i915_selftest@live_hangcheck.html

  * igt@kms_pipe_crc_basic@suspend-read-crc-pipe-a:
    - fi-apl-guc:         [DMESG-WARN][11] ([fdo#110512]) -> [PASS][12]
   [11]: 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
   [12]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_2961/fi-apl-guc/igt@kms_pipe_crc_basic@suspend-read-crc-pipe-a.html

  
#### Warnings ####

  * igt@i915_selftest@live_hangcheck:
    - fi-apl-guc:         [DMESG-FAIL][13] ([fdo#110620]) -> [INCOMPLETE][14] ([fdo#103927])
   [13]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_4978/fi-apl-guc/igt@i915_selftest@live_hangcheck.html
   [14]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_2961/fi-apl-guc/igt@i915_selftest@live_hangcheck.html

  * igt@runner@aborted:
    - fi-apl-guc:         [FAIL][15] ([fdo#110622]) -> [FAIL][16] ([fdo#110624])
   [15]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_4978/fi-apl-guc/igt@runner@aborted.html
   [16]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_2961/fi-apl-guc/igt@runner@aborted.html

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

  [fdo#103927]: https://bugs.freedesktop.org/show_bug.cgi?id=103927
  [fdo#107713]: https://bugs.freedesktop.org/show_bug.cgi?id=107713
  [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#110235]: https://bugs.freedesktop.org/show_bug.cgi?id=110235
  [fdo#110512]: https://bugs.freedesktop.org/show_bug.cgi?id=110512
  [fdo#110620]: https://bugs.freedesktop.org/show_bug.cgi?id=110620
  [fdo#110622]: https://bugs.freedesktop.org/show_bug.cgi?id=110622
  [fdo#110624]: https://bugs.freedesktop.org/show_bug.cgi?id=110624


Participating hosts (50 -> 42)
------------------------------

  Missing    (8): fi-ilk-m540 fi-hsw-4200u fi-byt-squawks fi-bsw-cyan fi-ctg-p8600 fi-blb-e6850 fi-byt-clapper fi-cml-u 


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

  * IGT: IGT_4978 -> IGTPW_2961

  CI_DRM_6072: 645586708589c3d2ac81114595e875cdfbbff385 @ git://anongit.freedesktop.org/gfx-ci/linux
  IGTPW_2961: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_2961/
  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_2961/
_______________________________________________
igt-dev mailing list
igt-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/igt-dev

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [igt-dev] [PATCH i-g-t] runner: Use glib's regex utilities instead of POSIX ERE
  2019-05-10  0:06 [igt-dev] [PATCH i-g-t] runner: Use glib's regex utilities instead of POSIX ERE Lyude
  2019-05-10  0:43 ` [igt-dev] ✓ Fi.CI.BAT: success for " Patchwork
@ 2019-05-10  6:55 ` Ser, Simon
  2019-05-10  9:05 ` [igt-dev] ✓ Fi.CI.IGT: success for " Patchwork
  2019-05-10  9:22 ` [igt-dev] [PATCH i-g-t] " Petri Latvala
  3 siblings, 0 replies; 6+ messages in thread
From: Ser, Simon @ 2019-05-10  6:55 UTC (permalink / raw)
  To: igt-dev@lists.freedesktop.org, lyude@redhat.com

On Thu, 2019-05-09 at 20:06 -0400, Lyude wrote:
> From: Lyude Paul <lyude@redhat.com>
> 
> POSIX ERE, while pretty standard is also very old and severely limited.
> In fact, it's so limited that Intel CI's own test blacklist,
> tests/intel-ci/blacklist.txt, doesn't even work with it due to the lack
> of support for backreferences.
> 
> Since we're already using glib in other parts of igt, let's just start
> using glib's regular expression matching instead of the POSIX regex API.
> This gives us full perl compatible regular expressions and in turn, also
> gives us python compatible regular expressions to match piglit.

Side note: a more portable alternative would be PCRE.

> Signed-off-by: Lyude Paul <lyude@redhat.com>
> ---
>  runner/job_list.c  |  4 +---
>  runner/meson.build |  2 +-
>  runner/resultgen.c | 15 +++++++++------
>  runner/settings.c  | 26 ++++++++++----------------
>  runner/settings.h  |  4 ++--
>  5 files changed, 23 insertions(+), 28 deletions(-)
> 
> diff --git a/runner/job_list.c b/runner/job_list.c
> index 941e2ee0..4a16742f 100644
> --- a/runner/job_list.c
> +++ b/runner/job_list.c
> @@ -17,10 +17,8 @@ static bool matches_any(const char *str, struct regex_list *list)
>  	size_t i;
>  
>  	for (i = 0; i < list->size; i++) {
> -		if (regexec(list->regexes[i], str,
> -			    (size_t)0, NULL, 0) == 0) {
> +		if (g_regex_match(list->regexes[i], str, 0, NULL))
>  			return true;
> -		}
>  	}
>  
>  	return false;
> diff --git a/runner/meson.build b/runner/meson.build
> index de6e6f1c..1ffc95b4 100644
> --- a/runner/meson.build
> +++ b/runner/meson.build
> @@ -17,7 +17,7 @@ if _build_runner and jsonc.found()
>  
>  	runnerlib = static_library('igt_runner', runnerlib_sources,
>  				   include_directories : inc,
> -				   dependencies : jsonc)
> +				   dependencies : [jsonc, glib])
>  
>  	runner = executable('igt_runner', runner_sources,
>  			    link_with : runnerlib,
> diff --git a/runner/resultgen.c b/runner/resultgen.c
> index d9702a19..2b7d26d5 100644
> --- a/runner/resultgen.c
> +++ b/runner/resultgen.c
> @@ -499,14 +499,17 @@ static const char igt_dmesg_whitelist[] =
>  static const char igt_piglit_style_dmesg_blacklist[] =
>  	"(\\[drm:|drm_|intel_|i915_)";
>  
> -static bool init_regex_whitelist(struct settings* settings, regex_t* re)
> +static bool init_regex_whitelist(struct settings* settings, GRegex **re)
>  {
> +	GError *err = NULL;
>  	const char *regex = settings->piglit_style_dmesg ?
>  		igt_piglit_style_dmesg_blacklist :
>  		igt_dmesg_whitelist;
>  
> -	if (regcomp(re, regex, REG_EXTENDED | REG_NOSUB) != 0) {
> +	*re = g_regex_new(regex, G_REGEX_OPTIMIZE, 0, &err);
> +	if (err) {
>  		fprintf(stderr, "Cannot compile dmesg regexp\n");
> +		g_error_free(err);
>  		return false;
>  	}
>  
> @@ -630,7 +633,7 @@ static bool fill_from_dmesg(int fd,
>  	char piglit_name[256];
>  	ssize_t read;
>  	size_t i;
> -	regex_t re;
> +	GRegex *re;
>  
>  	if (!f) {
>  		return false;
> @@ -671,12 +674,12 @@ static bool fill_from_dmesg(int fd,
>  
>  		if (settings->piglit_style_dmesg) {
>  			if ((flags & 0x07) <= settings->dmesg_warn_level && continuation != 'c' &&
> -			    regexec(&re, message, (size_t)0, NULL, 0) != REG_NOMATCH) {
> +			    g_regex_match(re, message, 0, NULL)) {
>  				append_line(&warnings, &warningslen, formatted);
>  			}
>  		} else {
>  			if ((flags & 0x07) <= settings->dmesg_warn_level && continuation != 'c' &&
> -			    regexec(&re, message, (size_t)0, NULL, 0) == REG_NOMATCH) {
> +			    !g_regex_match(re, message, 0, NULL)) {
>  				append_line(&warnings, &warningslen, formatted);
>  			}
>  		}
> @@ -715,7 +718,7 @@ static bool fill_from_dmesg(int fd,
>  
>  	free(dmesg);
>  	free(warnings);
> -	regfree(&re);
> +	g_regex_unref(re);
>  	fclose(f);
>  	return true;
>  }
> diff --git a/runner/settings.c b/runner/settings.c
> index 25bcf531..ad38ae8d 100644
> --- a/runner/settings.c
> +++ b/runner/settings.c
> @@ -187,23 +187,18 @@ static void usage(const char *extra_message, FILE *f)
>  
>  static bool add_regex(struct regex_list *list, char *new)
>  {
> -	regex_t *regex;
> -	size_t buflen;
> -	char *buf;
> -	int s;
> -
> -	regex = malloc(sizeof(*regex));
> -
> -	if ((s = regcomp(regex, new,
> -			 REG_EXTENDED | REG_NOSUB)) != 0) {
> -		buflen = regerror(s, regex, NULL, 0);
> -		buf = malloc(buflen);
> -		regerror(s, regex, buf, buflen);
> +	GRegex *regex;
> +	GError *error = NULL;
> +
> +	regex = g_regex_new(new, G_REGEX_OPTIMIZE, 0, &error);
> +	if (error) {
> +		char *buf = malloc(snprintf(NULL, 0, "Invalid regex '%s': %s", new, error->message) + 1);
> +
> +		sprintf(buf, "Invalid regex '%s': %s", new, error->message);
>  		usage(buf, stderr);
>  
>  		free(buf);
> -		regfree(regex);
> -		free(regex);
> +		g_error_free(error);
>  		return false;
>  	}
>  
> @@ -224,8 +219,7 @@ static void free_regexes(struct regex_list *regexes)
>  
>  	for (i = 0; i < regexes->size; i++) {
>  		free(regexes->regex_strings[i]);
> -		regfree(regexes->regexes[i]);
> -		free(regexes->regexes[i]);
> +		g_regex_unref(regexes->regexes[i]);
>  	}
>  	free(regexes->regex_strings);
>  	free(regexes->regexes);
> diff --git a/runner/settings.h b/runner/settings.h
> index 672a3af8..0a1ee08d 100644
> --- a/runner/settings.h
> +++ b/runner/settings.h
> @@ -4,8 +4,8 @@
>  #include <stdbool.h>
>  #include <stddef.h>
>  #include <sys/types.h>
> -#include <regex.h>
>  #include <stdio.h>
> +#include <glib.h>
>  
>  enum {
>  	LOG_LEVEL_NORMAL = 0,
> @@ -21,7 +21,7 @@ _Static_assert(ABORT_ALL == (ABORT_TAINT | ABORT_LOCKDEP), "ABORT_ALL must be al
>  
>  struct regex_list {
>  	char **regex_strings;
> -	regex_t** regexes;
> +	GRegex **regexes;
>  	size_t size;
>  };
>  
_______________________________________________
igt-dev mailing list
igt-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/igt-dev

^ permalink raw reply	[flat|nested] 6+ messages in thread

* [igt-dev] ✓ Fi.CI.IGT: success for runner: Use glib's regex utilities instead of POSIX ERE
  2019-05-10  0:06 [igt-dev] [PATCH i-g-t] runner: Use glib's regex utilities instead of POSIX ERE Lyude
  2019-05-10  0:43 ` [igt-dev] ✓ Fi.CI.BAT: success for " Patchwork
  2019-05-10  6:55 ` [igt-dev] [PATCH i-g-t] " Ser, Simon
@ 2019-05-10  9:05 ` Patchwork
  2019-05-10  9:22 ` [igt-dev] [PATCH i-g-t] " Petri Latvala
  3 siblings, 0 replies; 6+ messages in thread
From: Patchwork @ 2019-05-10  9:05 UTC (permalink / raw)
  To: Lyude; +Cc: igt-dev

== Series Details ==

Series: runner: Use glib's regex utilities instead of POSIX ERE
URL   : https://patchwork.freedesktop.org/series/60487/
State : success

== Summary ==

CI Bug Log - changes from IGT_4978_full -> IGTPW_2961_full
====================================================

Summary
-------

  **SUCCESS**

  No regressions found.

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

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

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

### IGT changes ###

#### Issues hit ####

  * igt@gem_workarounds@suspend-resume:
    - shard-apl:          [PASS][1] -> [DMESG-WARN][2] ([fdo#108566]) +3 similar issues
   [1]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_4978/shard-apl4/igt@gem_workarounds@suspend-resume.html
   [2]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_2961/shard-apl4/igt@gem_workarounds@suspend-resume.html

  * igt@kms_dp_dsc@basic-dsc-enable-edp:
    - shard-iclb:         [PASS][3] -> [SKIP][4] ([fdo#109349])
   [3]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_4978/shard-iclb2/igt@kms_dp_dsc@basic-dsc-enable-edp.html
   [4]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_2961/shard-iclb7/igt@kms_dp_dsc@basic-dsc-enable-edp.html

  * igt@kms_frontbuffer_tracking@fbc-rgb565-draw-pwrite:
    - shard-iclb:         [PASS][5] -> [FAIL][6] ([fdo#103167]) +1 similar issue
   [5]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_4978/shard-iclb4/igt@kms_frontbuffer_tracking@fbc-rgb565-draw-pwrite.html
   [6]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_2961/shard-iclb1/igt@kms_frontbuffer_tracking@fbc-rgb565-draw-pwrite.html

  * igt@kms_psr2_su@frontbuffer:
    - shard-iclb:         [PASS][7] -> [SKIP][8] ([fdo#109642])
   [7]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_4978/shard-iclb2/igt@kms_psr2_su@frontbuffer.html
   [8]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_2961/shard-iclb8/igt@kms_psr2_su@frontbuffer.html

  * igt@kms_psr@psr2_sprite_mmap_gtt:
    - shard-iclb:         [PASS][9] -> [SKIP][10] ([fdo#109441]) +2 similar issues
   [9]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_4978/shard-iclb2/igt@kms_psr@psr2_sprite_mmap_gtt.html
   [10]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_2961/shard-iclb5/igt@kms_psr@psr2_sprite_mmap_gtt.html

  * igt@kms_rotation_crc@multiplane-rotation-cropping-bottom:
    - shard-kbl:          [PASS][11] -> [DMESG-FAIL][12] ([fdo#105763])
   [11]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_4978/shard-kbl5/igt@kms_rotation_crc@multiplane-rotation-cropping-bottom.html
   [12]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_2961/shard-kbl7/igt@kms_rotation_crc@multiplane-rotation-cropping-bottom.html

  * igt@tools_test@tools_test:
    - shard-apl:          [PASS][13] -> [SKIP][14] ([fdo#109271])
   [13]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_4978/shard-apl3/igt@tools_test@tools_test.html
   [14]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_2961/shard-apl7/igt@tools_test@tools_test.html

  
#### Possible fixes ####

  * igt@i915_pm_rpm@dpms-mode-unset-lpsp:
    - shard-iclb:         [INCOMPLETE][15] ([fdo#107713] / [fdo#108840]) -> [PASS][16]
   [15]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_4978/shard-iclb5/igt@i915_pm_rpm@dpms-mode-unset-lpsp.html
   [16]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_2961/shard-iclb3/igt@i915_pm_rpm@dpms-mode-unset-lpsp.html

  * igt@i915_suspend@debugfs-reader:
    - shard-apl:          [DMESG-WARN][17] ([fdo#108566]) -> [PASS][18] +7 similar issues
   [17]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_4978/shard-apl4/igt@i915_suspend@debugfs-reader.html
   [18]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_2961/shard-apl5/igt@i915_suspend@debugfs-reader.html

  * igt@kms_cursor_legacy@2x-long-cursor-vs-flip-atomic:
    - shard-hsw:          [FAIL][19] ([fdo#105767]) -> [PASS][20]
   [19]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_4978/shard-hsw6/igt@kms_cursor_legacy@2x-long-cursor-vs-flip-atomic.html
   [20]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_2961/shard-hsw6/igt@kms_cursor_legacy@2x-long-cursor-vs-flip-atomic.html

  * igt@kms_flip@2x-flip-vs-expired-vblank-interruptible:
    - shard-glk:          [FAIL][21] ([fdo#105363]) -> [PASS][22] +1 similar issue
   [21]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_4978/shard-glk1/igt@kms_flip@2x-flip-vs-expired-vblank-interruptible.html
   [22]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_2961/shard-glk2/igt@kms_flip@2x-flip-vs-expired-vblank-interruptible.html

  * igt@kms_flip@dpms-vs-vblank-race-interruptible:
    - shard-glk:          [FAIL][23] ([fdo#103060]) -> [PASS][24]
   [23]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_4978/shard-glk4/igt@kms_flip@dpms-vs-vblank-race-interruptible.html
   [24]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_2961/shard-glk9/igt@kms_flip@dpms-vs-vblank-race-interruptible.html

  * igt@kms_frontbuffer_tracking@fbcpsr-1p-primscrn-pri-shrfb-draw-render:
    - shard-iclb:         [FAIL][25] ([fdo#103167]) -> [PASS][26] +1 similar issue
   [25]: 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
   [26]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_2961/shard-iclb7/igt@kms_frontbuffer_tracking@fbcpsr-1p-primscrn-pri-shrfb-draw-render.html

  * igt@kms_psr2_su@page_flip:
    - shard-iclb:         [SKIP][27] ([fdo#109642]) -> [PASS][28]
   [27]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_4978/shard-iclb1/igt@kms_psr2_su@page_flip.html
   [28]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_2961/shard-iclb2/igt@kms_psr2_su@page_flip.html

  * igt@kms_psr@psr2_sprite_plane_move:
    - shard-iclb:         [SKIP][29] ([fdo#109441]) -> [PASS][30] +3 similar issues
   [29]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_4978/shard-iclb6/igt@kms_psr@psr2_sprite_plane_move.html
   [30]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_2961/shard-iclb2/igt@kms_psr@psr2_sprite_plane_move.html

  * igt@kms_sysfs_edid_timing:
    - shard-iclb:         [FAIL][31] ([fdo#100047]) -> [PASS][32]
   [31]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_4978/shard-iclb3/igt@kms_sysfs_edid_timing.html
   [32]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_2961/shard-iclb5/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#103167]: https://bugs.freedesktop.org/show_bug.cgi?id=103167
  [fdo#105363]: https://bugs.freedesktop.org/show_bug.cgi?id=105363
  [fdo#105763]: https://bugs.freedesktop.org/show_bug.cgi?id=105763
  [fdo#105767]: https://bugs.freedesktop.org/show_bug.cgi?id=105767
  [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#109271]: https://bugs.freedesktop.org/show_bug.cgi?id=109271
  [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


Participating hosts (7 -> 6)
------------------------------

  Missing    (1): shard-skl 


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

  * IGT: IGT_4978 -> IGTPW_2961

  CI_DRM_6072: 645586708589c3d2ac81114595e875cdfbbff385 @ git://anongit.freedesktop.org/gfx-ci/linux
  IGTPW_2961: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_2961/
  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_2961/
_______________________________________________
igt-dev mailing list
igt-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/igt-dev

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [igt-dev] [PATCH i-g-t] runner: Use glib's regex utilities instead of POSIX ERE
  2019-05-10  0:06 [igt-dev] [PATCH i-g-t] runner: Use glib's regex utilities instead of POSIX ERE Lyude
                   ` (2 preceding siblings ...)
  2019-05-10  9:05 ` [igt-dev] ✓ Fi.CI.IGT: success for " Patchwork
@ 2019-05-10  9:22 ` Petri Latvala
  2019-05-10 15:57   ` Lyude Paul
  3 siblings, 1 reply; 6+ messages in thread
From: Petri Latvala @ 2019-05-10  9:22 UTC (permalink / raw)
  To: Lyude; +Cc: igt-dev

On Thu, May 09, 2019 at 08:06:04PM -0400, Lyude wrote:
> From: Lyude Paul <lyude@redhat.com>
> 
> POSIX ERE, while pretty standard is also very old and severely limited.
> In fact, it's so limited that Intel CI's own test blacklist,
> tests/intel-ci/blacklist.txt, doesn't even work with it due to the lack
> of support for backreferences.

Side note: Even with these changes, nothing can currently eat
blacklist.txt as is. Sitting tightly in my TODO is to implement the
final piece of the pipeline that CI uses piglit for with igt_runner,
scripts/run-tests.sh -l, with something that can process
blacklist.txt. These changes are the first step towards that, thanks
for doing this.

In other words, this doesn't implement what I guess you're trying to
do but it's needed, so

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] 6+ messages in thread

* Re: [igt-dev] [PATCH i-g-t] runner: Use glib's regex utilities instead of POSIX ERE
  2019-05-10  9:22 ` [igt-dev] [PATCH i-g-t] " Petri Latvala
@ 2019-05-10 15:57   ` Lyude Paul
  0 siblings, 0 replies; 6+ messages in thread
From: Lyude Paul @ 2019-05-10 15:57 UTC (permalink / raw)
  To: Petri Latvala; +Cc: igt-dev

On Fri, 2019-05-10 at 12:22 +0300, Petri Latvala wrote:
> On Thu, May 09, 2019 at 08:06:04PM -0400, Lyude wrote:
> > From: Lyude Paul <lyude@redhat.com>
> > 
> > POSIX ERE, while pretty standard is also very old and severely limited.
> > In fact, it's so limited that Intel CI's own test blacklist,
> > tests/intel-ci/blacklist.txt, doesn't even work with it due to the lack
> > of support for backreferences.
> 
> Side note: Even with these changes, nothing can currently eat
> blacklist.txt as is. Sitting tightly in my TODO is to implement the
> final piece of the pipeline that CI uses piglit for with igt_runner,
> scripts/run-tests.sh -l, with something that can process
> blacklist.txt. These changes are the first step towards that, thanks
> for doing this.
> 
> In other words, this doesn't implement what I guess you're trying to
> do but it's needed, so
sidenote: I have an ansible playbook I use for processing the blacklist as
well, when I was referring to the intel-ci blacklist I was just referring to
the actual entries in it - I'm aware this doesn't let you pass the blacklist
directly to igt! But, I figured having behavior like this would enable
something like you're trying to do and make us more consistent with piglit
anyway

Anyway-thanks for the review! will push in a moment

> 
> Reviewed-by: Petri Latvala <petri.latvala@intel.com>
-- 
Cheers,
	Lyude Paul

_______________________________________________
igt-dev mailing list
igt-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/igt-dev

^ permalink raw reply	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2019-05-10 15:57 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2019-05-10  0:06 [igt-dev] [PATCH i-g-t] runner: Use glib's regex utilities instead of POSIX ERE Lyude
2019-05-10  0:43 ` [igt-dev] ✓ Fi.CI.BAT: success for " Patchwork
2019-05-10  6:55 ` [igt-dev] [PATCH i-g-t] " Ser, Simon
2019-05-10  9:05 ` [igt-dev] ✓ Fi.CI.IGT: success for " Patchwork
2019-05-10  9:22 ` [igt-dev] [PATCH i-g-t] " Petri Latvala
2019-05-10 15:57   ` Lyude Paul

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox