diff mbox

[i-g-t] lib/drmtest: Decode driver flags on failure

Message ID 20170725113708.30020-1-daniel.vetter@ffwll.ch (mailing list archive)
State New, archived
Headers show

Commit Message

Daniel Vetter July 25, 2017, 11:37 a.m. UTC
I spent too much time going wtf why does this test not run until
realizing that vgem is missing. This should help a lot for tests that
need multiple different drm drivers.

Signed-off-by: Daniel Vetter <daniel.vetter@intel.com>
---
 lib/drmtest.c | 21 ++++++++++++++++++++-
 1 file changed, 20 insertions(+), 1 deletion(-)

Comments

Chris Wilson July 25, 2017, 11:49 a.m. UTC | #1
Quoting Daniel Vetter (2017-07-25 12:37:08)
> I spent too much time going wtf why does this test not run until
> realizing that vgem is missing. This should help a lot for tests that
> need multiple different drm drivers.
> 
> Signed-off-by: Daniel Vetter <daniel.vetter@intel.com>
> ---
>  lib/drmtest.c | 21 ++++++++++++++++++++-
>  1 file changed, 20 insertions(+), 1 deletion(-)
> 
> diff --git a/lib/drmtest.c b/lib/drmtest.c
> index 480bd0b132cd..944c6e02fd31 100644
> --- a/lib/drmtest.c
> +++ b/lib/drmtest.c
> @@ -341,6 +341,24 @@ static void quiescent_gpu_at_exit_render(int sig)
>         at_exit_drm_render_fd = -1;
>  }
>  
> +static const char *chipset_to_str(int chipset)
> +{
> +       switch (chipset) {
> +       case DRIVER_INTEL:
> +               return "intel";
> +       case DRIVER_VC4:
> +               return "vc4";
> +       case DRIVER_VGEM:
> +               return "vgem";
> +       case DRIVER_VIRTIO:
> +               return "virtio";
> +       case DRIVER_AMDGPU:
> +               return "amdgpu";
case DRIVER_ANY:
> +               return "any";
> +       default:
		return "other";
Daniel Vetter July 25, 2017, 12:19 p.m. UTC | #2
On Tue, Jul 25, 2017 at 12:49:11PM +0100, Chris Wilson wrote:
> Quoting Daniel Vetter (2017-07-25 12:37:08)
> > I spent too much time going wtf why does this test not run until
> > realizing that vgem is missing. This should help a lot for tests that
> > need multiple different drm drivers.
> > 
> > Signed-off-by: Daniel Vetter <daniel.vetter@intel.com>
> > ---
> >  lib/drmtest.c | 21 ++++++++++++++++++++-
> >  1 file changed, 20 insertions(+), 1 deletion(-)
> > 
> > diff --git a/lib/drmtest.c b/lib/drmtest.c
> > index 480bd0b132cd..944c6e02fd31 100644
> > --- a/lib/drmtest.c
> > +++ b/lib/drmtest.c
> > @@ -341,6 +341,24 @@ static void quiescent_gpu_at_exit_render(int sig)
> >         at_exit_drm_render_fd = -1;
> >  }
> >  
> > +static const char *chipset_to_str(int chipset)
> > +{
> > +       switch (chipset) {
> > +       case DRIVER_INTEL:
> > +               return "intel";
> > +       case DRIVER_VC4:
> > +               return "vc4";
> > +       case DRIVER_VGEM:
> > +               return "vgem";
> > +       case DRIVER_VIRTIO:
> > +               return "virtio";
> > +       case DRIVER_AMDGPU:
> > +               return "amdgpu";
> case DRIVER_ANY:
> > +               return "any";
> > +       default:
> 		return "other";

Revised and pushed with Chris' irc-r-b.
-Daniel
diff mbox

Patch

diff --git a/lib/drmtest.c b/lib/drmtest.c
index 480bd0b132cd..944c6e02fd31 100644
--- a/lib/drmtest.c
+++ b/lib/drmtest.c
@@ -341,6 +341,24 @@  static void quiescent_gpu_at_exit_render(int sig)
 	at_exit_drm_render_fd = -1;
 }
 
+static const char *chipset_to_str(int chipset)
+{
+	switch (chipset) {
+	case DRIVER_INTEL:
+		return "intel";
+	case DRIVER_VC4:
+		return "vc4";
+	case DRIVER_VGEM:
+		return "vgem";
+	case DRIVER_VIRTIO:
+		return "virtio";
+	case DRIVER_AMDGPU:
+		return "amdgpu";
+	default:
+		return "any";
+	}
+}
+
 /**
  * drm_open_driver:
  * @chipset: OR'd flags for each chipset to search, eg. #DRIVER_INTEL
@@ -356,7 +374,8 @@  int drm_open_driver(int chipset)
 	int fd;
 
 	fd = __drm_open_driver(chipset);
-	igt_skip_on_f(fd<0, "No known gpu found\n");
+	igt_skip_on_f(fd<0, "No known gpu found for chipset flags 0x%u (%s)\n",
+		      chipset, chipset_to_str(chipset));
 
 	/* For i915, at least, we ensure that the driver is idle before
 	 * starting a test and we install an exit handler to wait until