[Piglit] [PATCH 1/6] framework: fix wflinfo issues in opengl module
Brian Paul
brian.e.paul at gmail.com
Mon Oct 23 17:10:21 UTC 2017
On Wed, Oct 18, 2017 at 6:28 PM, Dylan Baker <dylan at pnwbakers.com> wrote:
> Quoting Brian Paul (2017-10-12 21:23:05)
> > 1. If the PIGLIT_PLATFORM string is 'mixed_glx_egl' we need to convert
> > it to 'glx' so that wflinfo understands it.
> >
> > 2. Look in the piglit bin/ directory for the wflinfo.exe program.
> > When we build piglit, we copy wflinfo.exe into the bin/ directory for
> > packaging to avoid having to install waffle on target machines. If
> > it's not found there, assume it's in our PATH just like before.
> > ---
> > framework/test/opengl.py | 25 ++++++++++++++++++++++---
> > 1 file changed, 22 insertions(+), 3 deletions(-)
> >
> > diff --git a/framework/test/opengl.py b/framework/test/opengl.py
> > index 091aeb0..20e1c4f 100644
> > --- a/framework/test/opengl.py
> > +++ b/framework/test/opengl.py
> > @@ -33,6 +33,7 @@ import six
> > from framework import exceptions, core
> > from framework.options import OPTIONS
> > from .base import TestIsSkip
> > +from framework.test import piglit_test
> >
> > # pylint: disable=too-few-public-methods
> >
> > @@ -53,6 +54,17 @@ class StopWflinfo(exceptions.PiglitException):
> > self.reason = reason
> >
> >
> > +def find_wflinfo():
> > + """Find location of the wflinfo executable."""
> > + # First check if it's in our piglit bin/ directory
> > + wflinfo = os.path.join(piglit_test.TEST_BIN_DIR, "wflinfo.exe")
> > + if os.path.exists(wflinfo):
> > + return wflinfo
> > + else:
> > + # Assume it's in $PATH
> > + return "wflinfo"
> > +
> > +
> > class WflInfo(object):
> > """Class representing platform information as provided by wflinfo.
> >
> > @@ -92,16 +104,23 @@ class WflInfo(object):
> > """
> > with open(os.devnull, 'w') as d:
> > try:
> > + # Get the piglit platform string and, if needed,
> convert it
> > + # to something that wflinfo understands.
> > + platform = OPTIONS.env['PIGLIT_PLATFORM']
> > + if platform == "mixed_glx_egl":
> > + platform = "glx"
> > +
> > + wflinfo = find_wflinfo()
> > +
>
> instead of find_wflinfo, what about adding
> "env={'PATH': '{}:{}'.format(piglit_test.TEST_BIN_DIR,
> os.environ['PATH'])" to
> the check_output call, and adding an if to change wflinfo to wflinfo.exe on
> windows?
>
>
AFAICT, the check_output() doesn't take an env argument. Maybe I'm
misunderstanding. Can you propose concrete code?
-Brian
> > raw = subprocess.check_output(
> > - ['wflinfo',
> > - '--platform', OPTIONS.env['PIGLIT_PLATFORM']] +
> opts,
> > - stderr=d)
> > + [wflinfo, '--platform', platform] + opts, stderr=d)
> > except subprocess.CalledProcessError:
> > # When we hit this error it usually going to be because
> we have
> > # an incompatible platform/profile combination
> > raise StopWflinfo('Called')
> > except OSError as e:
> > # If we get a 'no wflinfo' warning then just return
> > + print("wflinfo utility not found.")
> > if e.errno == errno.ENOENT:
> > raise StopWflinfo('OSError')
> > raise
> > --
> > 1.9.1
> >
> > _______________________________________________
> > Piglit mailing list
> > Piglit at lists.freedesktop.org
> > https://lists.freedesktop.org/mailman/listinfo/piglit
>
> _______________________________________________
> Piglit mailing list
> Piglit at lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/piglit
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.freedesktop.org/archives/piglit/attachments/20171023/2d46d95a/attachment-0001.html>
More information about the Piglit
mailing list