diff mbox

[i-g-t] igt_core: Search "." as final fallback for igt_fopen_data()

Message ID 1464303725-7800-1-git-send-email-matthew.d.roper@intel.com (mailing list archive)
State New, archived
Headers show

Commit Message

Matt Roper May 26, 2016, 11:02 p.m. UTC
Some validation teams seem to run tests out of source directories that
have been nfs mounted or rsync'd to different locations on the target
machine.  This causes the igt_srcdir that the tests were built with to
be invalid on the machine the tests get run on.  Add the current
directory as a final fallback for data file searches.

Reference: https://bugs.freedesktop.org/show_bug.cgi?id=92248
Cc: Humberto Israel Perez Rodriguez <humberto.i.perez.rodriguez@intel.com>
Signed-off-by: Matt Roper <matthew.d.roper@intel.com>
---
 lib/igt_core.c | 4 ++++
 lib/igt_core.h | 4 ++--
 2 files changed, 6 insertions(+), 2 deletions(-)

Comments

Marius Vlad May 27, 2016, 9:41 a.m. UTC | #1
Pushed.

On Thu, May 26, 2016 at 04:02:05PM -0700, Matt Roper wrote:
> Some validation teams seem to run tests out of source directories that
> have been nfs mounted or rsync'd to different locations on the target
> machine.  This causes the igt_srcdir that the tests were built with to
> be invalid on the machine the tests get run on.  Add the current
> directory as a final fallback for data file searches.
> 
> Reference: https://bugs.freedesktop.org/show_bug.cgi?id=92248
> Cc: Humberto Israel Perez Rodriguez <humberto.i.perez.rodriguez@intel.com>
> Signed-off-by: Matt Roper <matthew.d.roper@intel.com>
> ---
>  lib/igt_core.c | 4 ++++
>  lib/igt_core.h | 4 ++--
>  2 files changed, 6 insertions(+), 2 deletions(-)
> 
> diff --git a/lib/igt_core.c b/lib/igt_core.c
> index 56061c3..92a875c 100644
> --- a/lib/igt_core.c
> +++ b/lib/igt_core.c
> @@ -1882,6 +1882,10 @@ FILE *__igt_fopen_data(const char* igt_srcdir, const char* igt_datadir,
>  		snprintf(path, sizeof(path), "%s/%s", igt_srcdir, filename);
>  		fp = fopen(path, "r");
>  	}
> +	if (!fp) {
> +		snprintf(path, sizeof(path), "./%s", filename);
> +		fp = fopen(path, "r");
> +	}
>  
>  	if (!fp)
>  		igt_critical("Could not open data file \"%s\": %s", filename,
> diff --git a/lib/igt_core.h b/lib/igt_core.h
> index 1b62371..5995233 100644
> --- a/lib/igt_core.h
> +++ b/lib/igt_core.h
> @@ -842,8 +842,8 @@ FILE *__igt_fopen_data(const char* igt_srcdir, const char* igt_datadir,
>   * igt_fopen_data:
>   * @filename: filename to open.
>   *
> - * Open a datafile for test, first try from installation directory
> - * then from build directory.
> + * Open a datafile for test, first try from installation directory,
> + * then from build directory, and finally from current directory.
>   */
>  #define igt_fopen_data(filename) \
>  	__igt_fopen_data(IGT_SRCDIR, IGT_DATADIR, filename)
> -- 
> 2.1.4
> 
> _______________________________________________
> Intel-gfx mailing list
> Intel-gfx@lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/intel-gfx
diff mbox

Patch

diff --git a/lib/igt_core.c b/lib/igt_core.c
index 56061c3..92a875c 100644
--- a/lib/igt_core.c
+++ b/lib/igt_core.c
@@ -1882,6 +1882,10 @@  FILE *__igt_fopen_data(const char* igt_srcdir, const char* igt_datadir,
 		snprintf(path, sizeof(path), "%s/%s", igt_srcdir, filename);
 		fp = fopen(path, "r");
 	}
+	if (!fp) {
+		snprintf(path, sizeof(path), "./%s", filename);
+		fp = fopen(path, "r");
+	}
 
 	if (!fp)
 		igt_critical("Could not open data file \"%s\": %s", filename,
diff --git a/lib/igt_core.h b/lib/igt_core.h
index 1b62371..5995233 100644
--- a/lib/igt_core.h
+++ b/lib/igt_core.h
@@ -842,8 +842,8 @@  FILE *__igt_fopen_data(const char* igt_srcdir, const char* igt_datadir,
  * igt_fopen_data:
  * @filename: filename to open.
  *
- * Open a datafile for test, first try from installation directory
- * then from build directory.
+ * Open a datafile for test, first try from installation directory,
+ * then from build directory, and finally from current directory.
  */
 #define igt_fopen_data(filename) \
 	__igt_fopen_data(IGT_SRCDIR, IGT_DATADIR, filename)