xref: /OK3568_Linux_fs/yocto/poky/meta/lib/oeqa/sdkext/case.py (revision 4882a59341e53eb6f0b4789bf948001014eff981)
1*4882a593Smuzhiyun#
2*4882a593Smuzhiyun# Copyright (C) 2016 Intel Corporation
3*4882a593Smuzhiyun#
4*4882a593Smuzhiyun# SPDX-License-Identifier: MIT
5*4882a593Smuzhiyun#
6*4882a593Smuzhiyun
7*4882a593Smuzhiyunimport os
8*4882a593Smuzhiyunimport subprocess
9*4882a593Smuzhiyun
10*4882a593Smuzhiyunfrom oeqa.utils import avoid_paths_in_environ
11*4882a593Smuzhiyunfrom oeqa.sdk.case import OESDKTestCase
12*4882a593Smuzhiyun
13*4882a593Smuzhiyunclass OESDKExtTestCase(OESDKTestCase):
14*4882a593Smuzhiyun    def _run(self, cmd):
15*4882a593Smuzhiyun        # extensible sdk shows a warning if found bitbake in the path
16*4882a593Smuzhiyun        # because can cause contamination, i.e. use devtool from
17*4882a593Smuzhiyun        # poky/scripts instead of eSDK one.
18*4882a593Smuzhiyun        env = os.environ.copy()
19*4882a593Smuzhiyun        paths_to_avoid = ['bitbake/bin', 'poky/scripts']
20*4882a593Smuzhiyun        env['PATH'] = avoid_paths_in_environ(paths_to_avoid)
21*4882a593Smuzhiyun
22*4882a593Smuzhiyun        return subprocess.check_output(". %s > /dev/null;"\
23*4882a593Smuzhiyun            " %s;" % (self.tc.sdk_env, cmd), stderr=subprocess.STDOUT,
24*4882a593Smuzhiyun            shell=True, env=env, universal_newlines=True)
25