普通文本  |  28行  |  1.03 KB

# Copyright (c) 2013 The Chromium OS Authors. All rights reserved.
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.

"""This module provides access to autotest_lib.client.common_lib.cros namespace,
and fixes the environment variable for shared libraries (DLL).
"""

import os, sys

cwd = os.path.dirname(sys.modules[__name__].__file__)
client_dir = os.path.abspath(os.path.join(cwd, '../../common_lib/cros'))
sys.path.insert(0, client_dir)

DLL_PATH_ENV_NAME = 'LD_LIBRARY_PATH'
DLL_PATH = '/usr/local/lib:/usr/local/lib64'
if not os.environ.get(DLL_PATH_ENV_NAME):
    print 'Set up %s!' % DLL_PATH_ENV_NAME
    os.environ[DLL_PATH_ENV_NAME] = DLL_PATH
    try:
        # Note: It is required to restart the process since the linker/loader
        #       has kept a copy of the environment in its cache.
        print 'Restarting "%s"....' % sys.argv[0]
        os.execv(sys.argv[0], sys.argv)
    except Exception as e:
        print 'Error: Failed to restart %s' % sys.argv[0], e
        sys.exit(1)