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