Edit

kc3-lang/angle/tools/perf/core/path_util.py

Branch :

  • Show log

    Commit

  • Author : Jamie Madill
    Date : 2021-04-30 09:56:11
    Hash : e210287b
    Message : Add tools/perf essential Python files. While waiting for the full mirror we can simply duplicate the minimal necessary files for angle_perftests to run. Test: mb.py zip Bug: angleproject:5114 Change-Id: I1847909cb78b32efed26a284fdfcd40ed31d7b4b Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2862922 Reviewed-by: Yuly Novikov <ynovikov@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org>

  • tools/perf/core/path_util.py
  • # Copyright 2015 The Chromium Authors. All rights reserved.
    # Use of this source code is governed by a BSD-style license that can be
    # found in the LICENSE file.
    
    import contextlib
    import os
    import sys
    
    
    @contextlib.contextmanager
    def SysPath(path, position=None):
        if position is None:
            sys.path.append(path)
        else:
            sys.path.insert(position, path)
        try:
            yield
        finally:
            if sys.path[-1] == path:
                sys.path.pop()
            else:
                sys.path.remove(path)
    
    
    def GetChromiumSrcDir():
        return os.path.abspath(os.path.join(os.path.dirname(__file__), '..', '..', '..'))
    
    
    def GetTelemetryDir():
        return os.path.join(GetChromiumSrcDir(), 'third_party', 'catapult', 'telemetry')
    
    
    def GetTracingDir():
        return os.path.join(GetChromiumSrcDir(), 'third_party', 'catapult', 'tracing')
    
    
    def GetPyUtilsDir():
        return os.path.join(GetChromiumSrcDir(), 'third_party', 'catapult', 'common', 'py_utils')
    
    
    def GetPerfDir():
        return os.path.join(GetChromiumSrcDir(), 'tools', 'perf')
    
    
    def GetPerfStorySetsDir():
        return os.path.join(GetPerfDir(), 'page_sets')
    
    
    def GetOfficialBenchmarksDir():
        return os.path.join(GetPerfDir(), 'benchmarks')
    
    
    def GetContribDir():
        return os.path.join(GetPerfDir(), 'contrib')
    
    
    def GetAndroidPylibDir():
        return os.path.join(GetChromiumSrcDir(), 'build', 'android')
    
    
    def GetVariationsDir():
        return os.path.join(GetChromiumSrcDir(), 'tools', 'variations')
    
    
    def AddTelemetryToPath():
        telemetry_path = GetTelemetryDir()
        if telemetry_path not in sys.path:
            sys.path.insert(1, telemetry_path)
    
    
    def AddTracingToPath():
        tracing_path = GetTracingDir()
        if tracing_path not in sys.path:
            sys.path.insert(1, tracing_path)
    
    
    def AddPyUtilsToPath():
        py_utils_dir = GetPyUtilsDir()
        if py_utils_dir not in sys.path:
            sys.path.insert(1, py_utils_dir)
    
    
    def AddAndroidPylibToPath():
        android_pylib_path = GetAndroidPylibDir()
        if android_pylib_path not in sys.path:
            sys.path.insert(1, android_pylib_path)
    
    
    def GetExpectationsPath():
        return os.path.join(GetPerfDir(), 'expectations.config')