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 <[email protected]>
Signed-off-by: Matt Roper <[email protected]>
---
 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
[email protected]
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

Reply via email to