From 260c41aeea9697a867cbd0a6abdae9bb95f3a5d3 Mon Sep 17 00:00:00 2001 From: Jonathan Chan Date: Thu, 22 Jun 2017 14:43:12 -0700 Subject: [PATCH] mach: Fail properly if we can't find the path for OSMesa or GLAPI. Currently we check `if not (osmesa_path and glapi_path)` after using `path.join`. It seems we actually want to check whether `find_dep_path_newest` returns something, because if calls to that function fail, we'll instead get an error from `path.join` about `NoneType` not having attribute `endswith` (it expects a string), which preempts this check. --- python/servo/command_base.py | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/python/servo/command_base.py b/python/servo/command_base.py index e58a862245d..e8bad0a742f 100644 --- a/python/servo/command_base.py +++ b/python/servo/command_base.py @@ -189,12 +189,13 @@ def set_osmesa_env(bin_path, env): env["LD_LIBRARY_PATH"] = osmesa_path env["GALLIUM_DRIVER"] = "softpipe" elif is_macosx(): - osmesa_path = path.join(find_dep_path_newest('osmesa-src', bin_path), - "out", "src", "gallium", "targets", "osmesa", ".libs") - glapi_path = path.join(find_dep_path_newest('osmesa-src', bin_path), - "out", "src", "mapi", "shared-glapi", ".libs") - if not (osmesa_path and glapi_path): + osmesa_dep_path = find_dep_path_newest('osmesa-src', bin_path) + if not osmesa_dep_path: return None + osmesa_path = path.join(osmesa_dep_path, + "out", "src", "gallium", "targets", "osmesa", ".libs") + glapi_path = path.join(osmesa_dep_path, + "out", "src", "mapi", "shared-glapi", ".libs") env["DYLD_LIBRARY_PATH"] = osmesa_path + ":" + glapi_path env["GALLIUM_DRIVER"] = "softpipe" return env