assert "64" in plat else: assert "64" not in plat def get_raise(*args, **kw): raise Exception() @mock.patch("mozperftest.utils.requests.get", new=get_raise) def test_download_file_fails(): with temp_file() as target, silence(), pytest.raises(Exception): download_file("http://I don't exist", Path(target), retry_sleep=0.1) @mock.patch("mozperftest.utils.requests.get", new=requests_content()) def test_download_file_success(): with temp_file() as target: download_file("http://content", Path(target), retry_sleep=0.1) with open(target) as f: assert f.read() == "some content" def _req(package): class Req: location = "nowhere" @property def satisfied_by(self): return self
def test_run_hooks(): env = _get_env(Path(HERE, "data", "hook.py")) assert env.hooks.run("doit", env) == "OK" def test_bad_hooks(): with pytest.raises(IOError): _get_env("Idontexists") doit = [b"def doit(*args, **kw):\n", b" return 'OK'\n"] @mock.patch("mozperftest.utils.requests.get", requests_content(doit)) def test_run_hooks_url(): env = _get_env("http://somewhere/hooks.py") assert env.hooks.run("doit", env) == "OK" def test_layers(): env = MachEnvironment(mock.MagicMock()) assert env.get_layer("browsertime").name == "browsertime" def test_context(): mach, metadata, env = get_running_env() env.layers = [mock.MagicMock(), mock.MagicMock(), mock.MagicMock()] with env: env.run(metadata)