MCPcopy Create free account
hub / github.com/emscripten-core/emscripten / requires_tool

Function requires_tool

test/test_other.py:235–256  ·  view source on GitHub ↗
(tool, env_name=None)

Source from the content-addressed store, hash-verified

233
234
235def requires_tool(tool, env_name=None):
236 assert not callable(tool)
237
238 def decorate(func):
239 assert callable(func)
240
241 @wraps(func)
242 def decorated(self, *args, **kwargs):
243 if env_name:
244 env_var = f'EMTEST_SKIP_{env_name}'
245 else:
246 env_var = f'EMTEST_SKIP_{tool.upper()}'
247 if not shutil.which(tool):
248 if env_var in os.environ:
249 self.skipTest(f'test requires ccache and {env_var} is set')
250 else:
251 self.fail(f'{tool} required to run this test. Use {env_var} to skip')
252 return func(self, *args, **kwargs)
253
254 return decorated
255
256 return decorate
257
258
259def requires_ninja(func):

Callers 3

requires_ninjaFunction · 0.85
requires_sconsFunction · 0.85
requires_rustFunction · 0.85

Calls

no outgoing calls

Tested by

no test coverage detected