[Piglit] [PATCH 05/13] core.py: rename Environment to Options

Ilia Mirkin imirkin at alum.mit.edu
Sat Jun 21 06:43:56 PDT 2014


On Sat, Jun 21, 2014 at 8:06 AM, Dylan Baker <baker.dylan.c at gmail.com> wrote:
> Environment doesn't really describe what the class is (although,
> honestly it's a pretty bad class design), but Options comes much closer
> to what it is.
>
> Signed-off-by: Dylan Baker <baker.dylan.c at gmail.com>
> ---
>  framework/core.py                | 17 +++++++++++++++--
>  framework/exectest.py            |  6 +++---
>  framework/profile.py             |  4 ++--
>  framework/programs/run.py        | 30 +++++++++++++++---------------
>  framework/tests/core_tests.py    |  2 +-
>  framework/tests/profile_tests.py |  8 ++++----

You forgot

piglit-print-commands.py

>  6 files changed, 40 insertions(+), 27 deletions(-)
>
> diff --git a/framework/core.py b/framework/core.py
> index 6f476d0..2005a4e 100644
> --- a/framework/core.py
> +++ b/framework/core.py
> @@ -40,7 +40,7 @@ import framework.status as status
>  from .threads import synchronized_self
>
>  __all__ = ['PIGLIT_CONFIG',
> -           'Environment',
> +           'Options',
>             'TestrunResult',
>             'TestResult',
>             'JSONWriter',
> @@ -326,7 +326,20 @@ class TestrunResult:
>          json.dump(raw_dict, file, indent=JSONWriter.INDENT)
>
>
> -class Environment:
> +class Options(object):
> +    """ Contains options for a piglit run
> +
> +    Options are as follows:
> +    concurrent -- True if concurrency is to be used
> +    execute -- False for dry run
> +    filter -- list of compiled regex which include exclusively tests that match
> +    exclude_filter -- list of compiled regex which exclude tests that match
> +    valgrind -- True if valgrind is to be used
> +    dmesg -- True if dmesg checking is desired. This forces concurrency off
> +    verbose -- verbosity level.
> +    env -- environment variables set for each test before run
> +
> +    """
>      def __init__(self, concurrent=True, execute=True, include_filter=None,
>                   exclude_filter=None, valgrind=False, dmesg=False,
>                   verbose=False):
> diff --git a/framework/exectest.py b/framework/exectest.py
> index ad6f2ae..d7cad6e 100644
> --- a/framework/exectest.py
> +++ b/framework/exectest.py
> @@ -28,7 +28,7 @@ import time
>  import sys
>  import traceback
>
> -from .core import TestResult, Environment
> +from .core import TestResult, Options
>
>
>  __all__ = ['Test',
> @@ -49,7 +49,7 @@ else:
>
>
>  class Test(object):
> -    ENV = Environment()
> +    ENV = Options()

Perhaps rename this to OPTS?

>      __slots__ = ['ENV', 'run_concurrent', 'env', 'result', 'cwd', '_command',
>                   '_test_hook_execute_run']
>
> @@ -191,7 +191,7 @@ class Test(object):
>
>      def get_command_result(self):
>          # Set the environment for the tests. Use the default settings created
> -        # in the Environment constructor first, then use any user defined
> +        # in the Options constructor first, then use any user defined
>          # variables, finally, use any variables set for the test in the test
>          # profile
>          fullenv = self.ENV.env.copy()
> diff --git a/framework/profile.py b/framework/profile.py
> index affd4b6..ba481a3 100644
> --- a/framework/profile.py
> +++ b/framework/profile.py
> @@ -121,7 +121,7 @@ class TestProfile(object):
>          runs it's own filters plus the filters in the self.filters name
>
>          Arguments:
> -        env - a core.Environment instance
> +        env - a core.Options instance

and rename all these too...

Anyways, not super-required, if you don't feel like doing it, you still get my

Reviewed-by: Ilia Mirkin <imirkin at alum.mit.edu>

once you also update piglit-print-commands.py.

>
>          """
>          self._flatten_group_hierarchy()
> @@ -181,7 +181,7 @@ class TestProfile(object):
>          Finally it will print a final summary of the tests
>
>          Arguments:
> -        env -- a core.Environment instance
> +        env -- a core.Options instance
>          json_writer -- a core.JSONWriter instance
>
>          """
> diff --git a/framework/programs/run.py b/framework/programs/run.py
> index 0189e48..6008eb5 100644
> --- a/framework/programs/run.py
> +++ b/framework/programs/run.py
> @@ -129,14 +129,14 @@ def run(input_):
>          core.PIGLIT_CONFIG.read(os.path.abspath(
>              os.path.join(os.path.dirname(__file__), 'piglit.conf')))
>
> -    # Pass arguments into Environment
> -    env = core.Environment(concurrent=args.concurrency,
> -                           exclude_filter=args.exclude_tests,
> -                           include_filter=args.include_tests,
> -                           execute=args.execute,
> -                           valgrind=args.valgrind,
> -                           dmesg=args.dmesg,
> -                           verbose=args.verbose)
> +    # Pass arguments into Options
> +    env = core.Options(concurrent=args.concurrency,
> +                       exclude_filter=args.exclude_tests,
> +                       include_filter=args.include_tests,
> +                       execute=args.execute,
> +                       valgrind=args.valgrind,
> +                       dmesg=args.dmesg,
> +                       verbose=args.verbose)
>
>      # Set the platform to pass to waffle
>      if args.platform:
> @@ -211,13 +211,13 @@ def resume(input_):
>      args = parser.parse_args(input_)
>
>      results = core.load_results(args.results_path)
> -    env = core.Environment(concurrent=results.options['concurrent'],
> -                           exclude_filter=results.options['exclude_filter'],
> -                           include_filter=results.options['filter'],
> -                           execute=results.options['execute'],
> -                           valgrind=results.options['valgrind'],
> -                           dmesg=results.options['dmesg'],
> -                           verbose=results.options['verbose'])
> +    env = core.Options(concurrent=results.options['concurrent'],
> +                       exclude_filter=results.options['exclude_filter'],
> +                       include_filter=results.options['filter'],
> +                       execute=results.options['execute'],
> +                       valgrind=results.options['valgrind'],
> +                       dmesg=results.options['dmesg'],
> +                       verbose=results.options['verbose'])
>
>      if results.options.get('platform'):
>          env.env['PIGLIT_PLATFORM'] = results.options['platform']
> diff --git a/framework/tests/core_tests.py b/framework/tests/core_tests.py
> index 44462ce..15858b8 100644
> --- a/framework/tests/core_tests.py
> +++ b/framework/tests/core_tests.py
> @@ -49,7 +49,7 @@ def test_generate_initialize():
>      """
>      yieldable = check_initialize
>
> -    for target in [core.Environment, core.TestrunResult, core.TestResult,
> +    for target in [core.Options, core.TestrunResult, core.TestResult,
>                     core.PiglitJSONEncoder]:
>          yieldable.description = "Test that {} initializes".format(
>              target.__name__)
> diff --git a/framework/tests/profile_tests.py b/framework/tests/profile_tests.py
> index de4730f..c861cfc 100644
> --- a/framework/tests/profile_tests.py
> +++ b/framework/tests/profile_tests.py
> @@ -211,7 +211,7 @@ def test_matches_filter_mar_1(data):
>      Nothing should be filtered.
>
>      """
> -    env = core.Environment()
> +    env = core.Options()
>
>      profile_ = profile.TestProfile()
>      profile_.test_list = data
> @@ -223,7 +223,7 @@ def test_matches_filter_mar_1(data):
>  @nt.nottest
>  def test_matches_filter_mar_2(data):
>      """ Tests 'not env.filter or matches_any_regex() mar is False"""
> -    env = core.Environment(include_filter=['test5'])
> +    env = core.Options(include_filter=['test5'])
>
>      profile_ = profile.TestProfile()
>      profile_.test_list = data
> @@ -237,7 +237,7 @@ def test_matches_filter_mar_2(data):
>  @nt.nottest
>  def test_matches_env_exclude(data):
>      """ Tests 'not path in env.exclude_tests  """
> -    env = core.Environment()
> +    env = core.Options()
>      env.exclude_tests.add('group3/test5')
>
>      profile_ = profile.TestProfile()
> @@ -253,7 +253,7 @@ def test_matches_env_exclude(data):
>  @nt.nottest
>  def test_matches_exclude_mar(data):
>      """ Tests 'not matches_any_regexp() """
> -    env = core.Environment(exclude_filter=['test5'])
> +    env = core.Options(exclude_filter=['test5'])
>
>      profile_ = profile.TestProfile()
>      profile_.test_list = data
> --
> 2.0.0
>
> _______________________________________________
> Piglit mailing list
> Piglit at lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/piglit


More information about the Piglit mailing list