@@ -10,13 +10,13 @@
1010from autopilot.platform import model
1111from autopilot.testcase import AutopilotTestCase
1212from autopilot.matchers import Eventually
13−import subprocess
1413from testtools.matchers import Equals, NotEquals
14+from autopilot.input import Touch
1515import logging
1616import os.path
1717import sysconfig
1818
19−
19+from unity8 import get_lib_path, get_unity8_binary_path
2020from unity8.shell.emulators.main_window import MainWindow
2121
2222
@@ -34,31 +34,18 @@ class Unity8TestCase(AutopilotTestCase):
3434 def setUp(self):
3535 super(Unity8TestCase, self).setUp()
3636 self._proxy = None
37− # The lightdm mock we want to load. Options seem to be "full", "single-pin",
38− # "single-passphrase" or "single-key".
39− self.lightdm_mock = "full"
37+ self.touch = Touch.create()
4038
4139 def launch_unity(self):
4240 """Launch the unity8 shell, return a proxy object for it."""
4341 # first, work out which binary to launch:
44− binary_path = os.path.abspath(
45− os.path.join(
46− os.path.dirname(__file__),
47− "../../../../../builddir/unity8"
48− )
49− )
50− if os.path.exists(binary_path):
51− lib_path = os.path.dirname(binary_path)
52− else:
53− try:
54− binary_path = subprocess.check_output(['which', 'unity8']).strip()
55− lib_path = os.path.join(
56− "/usr/lib/",
57− sysconfig.get_config_var('MULTIARCH'),
58− "unity8"
59− )
60− except subprocess.CalledProcessError as e:
61− self.fail("Unable to locate unity8 binary: %r" % e)
42+ binary_path = get_unity8_binary_path()
43+ lib_path = get_lib_path()
44+
45+ logger.info("Lib path is '%s', binary path is '%s'",
46+ lib_path,
47+ binary_path
48+ )
6249
6350 # we now have a path to the unity8 binary, and lib_path points to the
6451 # directory where we need to patch some environment variables.
@@ -83,12 +70,12 @@ class Unity8TestCase(AutopilotTestCase):
8370
8471 def _patch_environment(self, lib_path):
8572 """Patch environment variables for launching the unity8 shell."""
86− ld_lib_path_patches = (
87− os.path.join(lib_path, "qml/mocks/libusermetrics"),
88− os.path.join(lib_path, "qml/mocks/LightDM/" + self.lightdm_mock),
89− )
73+ # ld_lib_path_patches = (
74+ # os.path.join(lib_path, "qml/mocks/libusermetrics"),
75+ # os.path.join(lib_path, "qml/mocks/LightDM/" + self.lightdm_mock),
76+ # )
9077
91− self.patch_environment("LD_LIBRARY_PATH", ":".join(ld_lib_path_patches))
78+ # self.patch_environment("LD_LIBRARY_PATH", ":".join(ld_lib_path_patches))
9279 self.patch_environment("QML2_IMPORT_PATH", os.path.join(lib_path, "qml/mocks"))
9380
9481
@@ -118,6 +105,11 @@ class Unity8TestCase(AutopilotTestCase):
118105 self.assertThat(dash, NotEquals(None))
119106 return dash
120107
108+ @property
109+ def main_window(self):
110+ return MainWindow(self._proxy)
111+
112+
121113
122114class ShellTestCase(AutopilotTestCase):
123115