@@ -55,7 +55,7 @@ def get_mocks_library_path():
55 mock_path = os.path.join(
55 mock_path = os.path.join(
56 "../lib/",
56 "../lib/",
57 sysconfig.get_config_var('MULTIARCH'),
57 sysconfig.get_config_var('MULTIARCH'),
58− "/unity8/qml/mocks/"
58+ "unity8/qml/mocks/"
60 lib_path = get_lib_path()
60 lib_path = get_lib_path()
61 ld_library_path = os.path.abspath(
61 ld_library_path = os.path.abspath(
@@ -87,17 +87,47 @@ def get_binary_path(binary="unity8"):
87 raise RuntimeError("Unable to locate %s binary: %r" % (binary, e))
87 raise RuntimeError("Unable to locate %s binary: %r" % (binary, e))
88 return binary_path
88 return binary_path
90def get_data_dirs():
91def get_data_dirs():
91 """Prepend a mock data path to XDG_DATA_DIRS."""
92 """Prepend a mock data path to XDG_DATA_DIRS."""
93+ if running_installed_tests():
94+ data_path = "/usr/share/unity8/mocks/data"
96+ data_path = "../../mocks/data"
92− data_path = os.path.abspath(
97+ full_data_path = os.path.abspath(
93− os.path.join(os.path.dirname(__file__),
99+ os.path.dirname(__file__),
94− running_installed_tests() and "/usr/share/unity8/mocks/data" or "../../mocks/data"
100+ data_path
96− xdg_path = os.getenv("XDG_DATA_DIRS")
102+ )
104+ if os.path.exists(full_data_path):
105+ xdg_path = _get_xdg_env_path()
97− if xdg_path:
106+ if xdg_path is not None:
98− return "{0}:{1}".format(data_path, xdg_path)
107+ return "{0}:{1}".format(full_data_path, xdg_path)
109+ return full_data_path
100− return data_path
111+ return None
114+def _get_xdg_env_path():
115+ path = os.getenv("XDG_DATA_DIRS")
117+ path = _get_xdg_upstart_env()
121+def _get_xdg_upstart_env():
123+ return subprocess.check_output([
129+ except subprocess.CalledProcessError:
102def get_grid_size():
132def get_grid_size():
103 grid_size = os.getenv('GRID_UNIT_PX')
133 grid_size = os.getenv('GRID_UNIT_PX')