Merge lp:~larryprice/libertine/libertined-test-stable into lp:libertine
- libertined-test-stable
- Merge into devel
Proposed by
Larry Price
Status: | Merged |
---|---|
Approved by: | Christopher Townsend |
Approved revision: | 412 |
Merged at revision: | 451 |
Proposed branch: | lp:~larryprice/libertine/libertined-test-stable |
Merge into: | lp:libertine |
Diff against target: |
308 lines (+37/-39) 11 files modified
python/libertine/service/operations_monitor.py (+2/-1) python/libertine/service/task_dispatcher.py (+0/-20) python/libertine/service/tasks/base_task.py (+16/-1) python/libertine/service/tasks/create_task.py (+2/-1) python/libertine/service/tasks/destroy_task.py (+1/-0) python/libertine/service/tasks/install_task.py (+1/-0) python/libertine/service/tasks/list_task.py (+1/-0) python/libertine/service/tasks/remove_task.py (+1/-0) tests/integration/CMakeLists.txt (+1/-1) tests/integration/test_libertine_service.py (+10/-14) tools/libertined (+2/-1) |
To merge this branch: | bzr merge lp:~larryprice/libertine/libertined-test-stable |
Related bugs: |
Reviewer | Review Type | Date Requested | Status |
---|---|---|---|
Christopher Townsend | Approve | ||
Libertine CI Bot | continuous-integration | Approve | |
Review via email: mp+321110@code.launchpad.net |
Commit message
Modifications to make test_libertine_
Description of the change
Modifications to make test_libertine_
To post a comment you must log in.
Revision history for this message
Libertine CI Bot (libertine-ci-bot) wrote : | # |
review:
Approve
(continuous-integration)
Preview Diff
[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
1 | === modified file 'python/libertine/service/operations_monitor.py' | |||
2 | --- python/libertine/service/operations_monitor.py 2017-03-07 18:38:05 +0000 | |||
3 | +++ python/libertine/service/operations_monitor.py 2017-03-27 20:07:32 +0000 | |||
4 | @@ -15,6 +15,7 @@ | |||
5 | 15 | 15 | ||
6 | 16 | import dbus.service | 16 | import dbus.service |
7 | 17 | import threading | 17 | import threading |
8 | 18 | import uuid | ||
9 | 18 | 19 | ||
10 | 19 | from . import constants, download | 20 | from . import constants, download |
11 | 20 | from libertine import utils | 21 | from libertine import utils |
12 | @@ -27,7 +28,7 @@ | |||
13 | 27 | dbus.service.Object.__init__(self, conn=connection, object_path=constants.OPERATIONS_MONITOR_OBJECT) | 28 | dbus.service.Object.__init__(self, conn=connection, object_path=constants.OPERATIONS_MONITOR_OBJECT) |
14 | 28 | 29 | ||
15 | 29 | def new_operation(self): | 30 | def new_operation(self): |
17 | 30 | self._operations.append(download.Download(self.connection, hex(int(time()*10000000))[2:])) | 31 | self._operations.append(download.Download(self.connection, str(uuid.uuid4().fields[-1]))) |
18 | 31 | return self._operations[-1].id | 32 | return self._operations[-1].id |
19 | 32 | 33 | ||
20 | 33 | def remove_from_connection(self, path): | 34 | def remove_from_connection(self, path): |
21 | 34 | 35 | ||
22 | === modified file 'python/libertine/service/task_dispatcher.py' | |||
23 | --- python/libertine/service/task_dispatcher.py 2017-03-09 14:40:58 +0000 | |||
24 | +++ python/libertine/service/task_dispatcher.py 2017-03-27 20:07:32 +0000 | |||
25 | @@ -16,19 +16,9 @@ | |||
26 | 16 | import libertine.ContainersConfig | 16 | import libertine.ContainersConfig |
27 | 17 | from libertine.service.container import Container | 17 | from libertine.service.container import Container |
28 | 18 | from libertine.service.tasks import * | 18 | from libertine.service.tasks import * |
29 | 19 | from threading import Lock | ||
30 | 20 | from libertine import utils | 19 | from libertine import utils |
31 | 21 | 20 | ||
32 | 22 | 21 | ||
33 | 23 | # Decorator to refresh database before making a call | ||
34 | 24 | def _refresh_config(func): | ||
35 | 25 | def wrapper(*args, **kwargs): | ||
36 | 26 | args[0]._config.refresh_database() | ||
37 | 27 | return func(*args, **kwargs) | ||
38 | 28 | |||
39 | 29 | return wrapper | ||
40 | 30 | |||
41 | 31 | |||
42 | 32 | class TaskDispatcher(object): | 22 | class TaskDispatcher(object): |
43 | 33 | def __init__(self, monitor, client): | 23 | def __init__(self, monitor, client): |
44 | 34 | self._monitor = monitor | 24 | self._monitor = monitor |
45 | @@ -68,49 +58,40 @@ | |||
46 | 68 | 58 | ||
47 | 69 | # Tasks (usually) run within a container | 59 | # Tasks (usually) run within a container |
48 | 70 | 60 | ||
49 | 71 | @_refresh_config | ||
50 | 72 | def search(self, container_id, query): | 61 | def search(self, container_id, query): |
51 | 73 | utils.get_logger().debug("dispatching search in container '%s' for package '%s'" % (container_id, query)) | 62 | utils.get_logger().debug("dispatching search in container '%s' for package '%s'" % (container_id, query)) |
52 | 74 | return self._find_or_create_container(container_id).search(query) | 63 | return self._find_or_create_container(container_id).search(query) |
53 | 75 | 64 | ||
54 | 76 | @_refresh_config | ||
55 | 77 | def app_info(self, container_id, app_id): | 65 | def app_info(self, container_id, app_id): |
56 | 78 | utils.get_logger().debug("dispatching app_info in container '%s' for package '%s'" % (container_id, app_id)) | 66 | utils.get_logger().debug("dispatching app_info in container '%s' for package '%s'" % (container_id, app_id)) |
57 | 79 | return self._find_or_create_container(container_id).app_info(app_id) | 67 | return self._find_or_create_container(container_id).app_info(app_id) |
58 | 80 | 68 | ||
59 | 81 | @_refresh_config | ||
60 | 82 | def install(self, container_id, package_name): | 69 | def install(self, container_id, package_name): |
61 | 83 | utils.get_logger().debug("dispatching install of package '%s' from container '%s'" % (package_name, container_id)) | 70 | utils.get_logger().debug("dispatching install of package '%s' from container '%s'" % (package_name, container_id)) |
62 | 84 | return self._find_or_create_container(container_id).install(package_name) | 71 | return self._find_or_create_container(container_id).install(package_name) |
63 | 85 | 72 | ||
64 | 86 | @_refresh_config | ||
65 | 87 | def remove(self, container_id, package_name): | 73 | def remove(self, container_id, package_name): |
66 | 88 | utils.get_logger().debug("dispatching remove of package '%s' from container '%s'" % (package_name, container_id)) | 74 | utils.get_logger().debug("dispatching remove of package '%s' from container '%s'" % (package_name, container_id)) |
67 | 89 | return self._find_or_create_container(container_id).remove(package_name) | 75 | return self._find_or_create_container(container_id).remove(package_name) |
68 | 90 | 76 | ||
69 | 91 | @_refresh_config | ||
70 | 92 | def create(self, container_id, container_name, distro, container_type, enable_multiarch): | 77 | def create(self, container_id, container_name, distro, container_type, enable_multiarch): |
71 | 93 | utils.get_logger().debug("dispatching create of container '%s'" % container_id) | 78 | utils.get_logger().debug("dispatching create of container '%s'" % container_id) |
72 | 94 | return self._find_or_create_container(container_id).create(container_name, distro, container_type, enable_multiarch) | 79 | return self._find_or_create_container(container_id).create(container_name, distro, container_type, enable_multiarch) |
73 | 95 | 80 | ||
74 | 96 | @_refresh_config | ||
75 | 97 | def destroy(self, container_id): | 81 | def destroy(self, container_id): |
76 | 98 | utils.get_logger().debug("dispatching destroy container '%s'" % container_id) | 82 | utils.get_logger().debug("dispatching destroy container '%s'" % container_id) |
77 | 99 | return self._find_or_create_container(container_id).destroy() | 83 | return self._find_or_create_container(container_id).destroy() |
78 | 100 | 84 | ||
79 | 101 | @_refresh_config | ||
80 | 102 | def update(self, container_id): | 85 | def update(self, container_id): |
81 | 103 | utils.get_logger().debug("dispatching update container '%s'" % container_id) | 86 | utils.get_logger().debug("dispatching update container '%s'" % container_id) |
82 | 104 | return self._find_or_create_container(container_id).update() | 87 | return self._find_or_create_container(container_id).update() |
83 | 105 | 88 | ||
84 | 106 | @_refresh_config | ||
85 | 107 | def list_app_ids(self, container_id): | 89 | def list_app_ids(self, container_id): |
86 | 108 | utils.get_logger().debug("dispatching list apps ids in container '%s'" % container_id) | 90 | utils.get_logger().debug("dispatching list apps ids in container '%s'" % container_id) |
87 | 109 | return self._find_or_create_container(container_id).list_app_ids() | 91 | return self._find_or_create_container(container_id).list_app_ids() |
88 | 110 | 92 | ||
89 | 111 | # Containerless Tasks | 93 | # Containerless Tasks |
90 | 112 | 94 | ||
91 | 113 | @_refresh_config | ||
92 | 114 | def container_info(self, container_id): | 95 | def container_info(self, container_id): |
93 | 115 | utils.get_logger().debug("dispatching get info for container '%s'" % container_id) | 96 | utils.get_logger().debug("dispatching get info for container '%s'" % container_id) |
94 | 116 | 97 | ||
95 | @@ -124,7 +105,6 @@ | |||
96 | 124 | 105 | ||
97 | 125 | return task.id | 106 | return task.id |
98 | 126 | 107 | ||
99 | 127 | @_refresh_config | ||
100 | 128 | def list(self): | 108 | def list(self): |
101 | 129 | utils.get_logger().debug("dispatching list all containers") | 109 | utils.get_logger().debug("dispatching list all containers") |
102 | 130 | 110 | ||
103 | 131 | 111 | ||
104 | === modified file 'python/libertine/service/tasks/base_task.py' | |||
105 | --- python/libertine/service/tasks/base_task.py 2017-03-09 16:02:22 +0000 | |||
106 | +++ python/libertine/service/tasks/base_task.py 2017-03-27 20:07:32 +0000 | |||
107 | @@ -66,6 +66,8 @@ | |||
108 | 66 | return thread | 66 | return thread |
109 | 67 | 67 | ||
110 | 68 | def run(self): | 68 | def run(self): |
111 | 69 | self._refresh_database() | ||
112 | 70 | |||
113 | 69 | if not self._before(): | 71 | if not self._before(): |
114 | 70 | self._monitor.finished(self._operation_id) | 72 | self._monitor.finished(self._operation_id) |
115 | 71 | self._delayed_callback() | 73 | self._delayed_callback() |
116 | @@ -73,15 +75,25 @@ | |||
117 | 73 | 75 | ||
118 | 74 | if self._lock is not None: | 76 | if self._lock is not None: |
119 | 75 | with self._lock: | 77 | with self._lock: |
120 | 78 | self._refresh_database(False) | ||
121 | 76 | self._run() | 79 | self._run() |
122 | 77 | else: | 80 | else: |
123 | 81 | self._refresh_database() | ||
124 | 78 | self._run() | 82 | self._run() |
125 | 79 | 83 | ||
126 | 80 | if self.running: | 84 | if self.running: |
128 | 81 | self._monitor.finished(self._operation_id) | 85 | self._finished() |
129 | 82 | 86 | ||
130 | 83 | self._delayed_callback() | 87 | self._delayed_callback() |
131 | 84 | 88 | ||
132 | 89 | def _refresh_database(self, require_lock=True): | ||
133 | 90 | if self._config: | ||
134 | 91 | if require_lock and self._lock is not None: | ||
135 | 92 | with self._lock: | ||
136 | 93 | self._config.refresh_database() | ||
137 | 94 | else: | ||
138 | 95 | self._config.refresh_database() | ||
139 | 96 | |||
140 | 85 | @abstractmethod | 97 | @abstractmethod |
141 | 86 | def _run(self): | 98 | def _run(self): |
142 | 87 | pass | 99 | pass |
143 | @@ -92,6 +104,9 @@ | |||
144 | 92 | def _data(self, message): | 104 | def _data(self, message): |
145 | 93 | self._monitor.data(self._operation_id, message) | 105 | self._monitor.data(self._operation_id, message) |
146 | 94 | 106 | ||
147 | 107 | def _finished(self): | ||
148 | 108 | self._monitor.finished(self._operation_id) | ||
149 | 109 | |||
150 | 95 | def _error(self, message): | 110 | def _error(self, message): |
151 | 96 | self._monitor.error(self._operation_id, message) | 111 | self._monitor.error(self._operation_id, message) |
152 | 97 | 112 | ||
153 | 98 | 113 | ||
154 | === modified file 'python/libertine/service/tasks/create_task.py' | |||
155 | --- python/libertine/service/tasks/create_task.py 2017-03-09 16:02:22 +0000 | |||
156 | +++ python/libertine/service/tasks/create_task.py 2017-03-27 20:07:32 +0000 | |||
157 | @@ -39,9 +39,10 @@ | |||
158 | 39 | self._error("Creating container '%s' failed" % self._container) | 39 | self._error("Creating container '%s' failed" % self._container) |
159 | 40 | else: | 40 | else: |
160 | 41 | self._config.update_container_install_status(self._container, "ready") | 41 | self._config.update_container_install_status(self._container, "ready") |
161 | 42 | self._finished() | ||
162 | 42 | except RuntimeError as e: | 43 | except RuntimeError as e: |
163 | 44 | self._config.delete_container(self._container) | ||
164 | 43 | self._error(str(e)) | 45 | self._error(str(e)) |
165 | 44 | self._config.delete_container(self._container) | ||
166 | 45 | 46 | ||
167 | 46 | def _before(self): | 47 | def _before(self): |
168 | 47 | utils.get_logger().debug("CreateTask::_before") | 48 | utils.get_logger().debug("CreateTask::_before") |
169 | 48 | 49 | ||
170 | === modified file 'python/libertine/service/tasks/destroy_task.py' | |||
171 | --- python/libertine/service/tasks/destroy_task.py 2017-03-09 16:02:22 +0000 | |||
172 | +++ python/libertine/service/tasks/destroy_task.py 2017-03-27 20:07:32 +0000 | |||
173 | @@ -32,6 +32,7 @@ | |||
174 | 32 | return | 32 | return |
175 | 33 | 33 | ||
176 | 34 | self._config.delete_container(self._container) | 34 | self._config.delete_container(self._container) |
177 | 35 | self._finished() | ||
178 | 35 | 36 | ||
179 | 36 | def _before(self): | 37 | def _before(self): |
180 | 37 | utils.get_logger().debug("CreateTask::_before") | 38 | utils.get_logger().debug("CreateTask::_before") |
181 | 38 | 39 | ||
182 | === modified file 'python/libertine/service/tasks/install_task.py' | |||
183 | --- python/libertine/service/tasks/install_task.py 2017-03-09 16:02:22 +0000 | |||
184 | +++ python/libertine/service/tasks/install_task.py 2017-03-27 20:07:32 +0000 | |||
185 | @@ -35,6 +35,7 @@ | |||
186 | 35 | container = LibertineContainer(self._container, self._config, self._client) | 35 | container = LibertineContainer(self._container, self._config, self._client) |
187 | 36 | if container.install_package(self._package): | 36 | if container.install_package(self._package): |
188 | 37 | self._config.update_package_install_status(self._container, self._package, "installed") | 37 | self._config.update_package_install_status(self._container, self._package, "installed") |
189 | 38 | self._finished() | ||
190 | 38 | else: | 39 | else: |
191 | 39 | self._config.delete_package(self._container, self._package) | 40 | self._config.delete_package(self._container, self._package) |
192 | 40 | self._error("Package installation failed for '%s'" % self._package) | 41 | self._error("Package installation failed for '%s'" % self._package) |
193 | 41 | 42 | ||
194 | === modified file 'python/libertine/service/tasks/list_task.py' | |||
195 | --- python/libertine/service/tasks/list_task.py 2017-03-07 18:38:05 +0000 | |||
196 | +++ python/libertine/service/tasks/list_task.py 2017-03-27 20:07:32 +0000 | |||
197 | @@ -25,3 +25,4 @@ | |||
198 | 25 | 25 | ||
199 | 26 | def _run(self): | 26 | def _run(self): |
200 | 27 | self._data(json.dumps(self._config.get_containers())) | 27 | self._data(json.dumps(self._config.get_containers())) |
201 | 28 | self._finished() | ||
202 | 28 | 29 | ||
203 | === modified file 'python/libertine/service/tasks/remove_task.py' | |||
204 | --- python/libertine/service/tasks/remove_task.py 2017-03-09 16:02:22 +0000 | |||
205 | +++ python/libertine/service/tasks/remove_task.py 2017-03-27 20:07:32 +0000 | |||
206 | @@ -34,6 +34,7 @@ | |||
207 | 34 | container = LibertineContainer(self._container, self._config, self._client) | 34 | container = LibertineContainer(self._container, self._config, self._client) |
208 | 35 | if container.remove_package(self._package): | 35 | if container.remove_package(self._package): |
209 | 36 | self._config.delete_package(self._container, self._package) | 36 | self._config.delete_package(self._container, self._package) |
210 | 37 | self._finished() | ||
211 | 37 | else: | 38 | else: |
212 | 38 | self._config.update_package_install_status(self._container, self._package, 'installed') | 39 | self._config.update_package_install_status(self._container, self._package, 'installed') |
213 | 39 | self._error("Package removal failed for '%s'" % self._package) | 40 | self._error("Package removal failed for '%s'" % self._package) |
214 | 40 | 41 | ||
215 | === modified file 'tests/integration/CMakeLists.txt' | |||
216 | --- tests/integration/CMakeLists.txt 2017-03-07 18:38:05 +0000 | |||
217 | +++ tests/integration/CMakeLists.txt 2017-03-27 20:07:32 +0000 | |||
218 | @@ -1,7 +1,7 @@ | |||
219 | 1 | add_test(test_libertine_service dbus-run-session -- /usr/bin/python3 ${CMAKE_CURRENT_SOURCE_DIR}/test_libertine_service.py) | 1 | add_test(test_libertine_service dbus-run-session -- /usr/bin/python3 ${CMAKE_CURRENT_SOURCE_DIR}/test_libertine_service.py) |
220 | 2 | set_tests_properties(test_libertine_service | 2 | set_tests_properties(test_libertine_service |
221 | 3 | PROPERTIES ENVIRONMENT | 3 | PROPERTIES ENVIRONMENT |
223 | 4 | "PYTHONPATH=${CMAKE_CURRENT_SOURCE_DIR}:${CMAKE_SOURCE_DIR}/python;LIBERTINE_DATA_DIR=${CMAKE_CURRENT_SOURCE_DIR};PATH=${CMAKE_SOURCE_DIR}/tools:$ENV{PATH};") | 4 | "LIBERTINE_DEBUG=2;PYTHONPATH=${CMAKE_CURRENT_SOURCE_DIR}:${CMAKE_SOURCE_DIR}/python;;PATH=${CMAKE_SOURCE_DIR}/tools:$ENV{PATH};XDG_DATA_HOME=/tmp") |
224 | 5 | 5 | ||
225 | 6 | add_executable( | 6 | add_executable( |
226 | 7 | test_liblibertine | 7 | test_liblibertine |
227 | 8 | 8 | ||
228 | === modified file 'tests/integration/test_libertine_service.py' | |||
229 | --- tests/integration/test_libertine_service.py 2017-03-10 16:37:59 +0000 | |||
230 | +++ tests/integration/test_libertine_service.py 2017-03-27 20:07:32 +0000 | |||
231 | @@ -42,18 +42,14 @@ | |||
232 | 42 | def setUpClass(cls): | 42 | def setUpClass(cls): |
233 | 43 | cls._tempdir = tempfile.TemporaryDirectory() | 43 | cls._tempdir = tempfile.TemporaryDirectory() |
234 | 44 | 44 | ||
239 | 45 | environ = os.environ.copy() | 45 | os.environ['XDG_DATA_HOME'] = cls._tempdir.name |
240 | 46 | environ['XDG_DATA_HOME'] = cls._tempdir.name | 46 | cls._process = pexpect.spawnu('libertined --debug', env=os.environ.copy()) |
237 | 47 | |||
238 | 48 | cls._process = pexpect.spawnu('libertined --debug', env=environ) | ||
241 | 49 | cls._process.logfile = sys.stdout | 47 | cls._process.logfile = sys.stdout |
242 | 50 | 48 | ||
243 | 51 | # give libertined enough time to start the whole process | 49 | # give libertined enough time to start the whole process |
249 | 52 | verbosity = environ.get('LIBERTINE_DEBUG', '1') | 50 | verbosity = os.environ.get('LIBERTINE_DEBUG', '1') |
250 | 53 | if verbosity == '1': | 51 | if verbosity != '0': |
251 | 54 | cls._process.expect(['.+\n', pexpect.TIMEOUT], timeout=1) | 52 | cls._process.expect(['libertined ready', pexpect.TIMEOUT], timeout=5) |
247 | 55 | elif environ['LIBERTINE_DEBUG'] == '2': | ||
248 | 56 | cls._process.expect(['.+\n.+\n.+\n', pexpect.TIMEOUT], timeout=1) | ||
252 | 57 | 53 | ||
253 | 58 | dbus.mainloop.glib.DBusGMainLoop(set_as_default=True) | 54 | dbus.mainloop.glib.DBusGMainLoop(set_as_default=True) |
254 | 59 | cls._loop = GLib.MainLoop() | 55 | cls._loop = GLib.MainLoop() |
255 | @@ -68,6 +64,7 @@ | |||
256 | 68 | cls._tempdir.cleanup() | 64 | cls._tempdir.cleanup() |
257 | 69 | 65 | ||
258 | 70 | def setUp(self): | 66 | def setUp(self): |
259 | 67 | os.environ['XDG_DATA_HOME'] = TestLibertineService._tempdir.name | ||
260 | 71 | self.error = None | 68 | self.error = None |
261 | 72 | self.result = None | 69 | self.result = None |
262 | 73 | self.event = threading.Event() | 70 | self.event = threading.Event() |
263 | @@ -95,7 +92,7 @@ | |||
264 | 95 | 92 | ||
265 | 96 | def tearDown(self): | 93 | def tearDown(self): |
266 | 97 | for signal in self.signals: | 94 | for signal in self.signals: |
268 | 98 | self._bus._clean_up_signal_match(signal) | 95 | signal.remove() |
269 | 99 | 96 | ||
270 | 100 | def _finished_handler(self, path): | 97 | def _finished_handler(self, path): |
271 | 101 | if self.path == path: | 98 | if self.path == path: |
272 | @@ -114,12 +111,11 @@ | |||
273 | 114 | self.event.clear() | 111 | self.event.clear() |
274 | 115 | self.result = None | 112 | self.result = None |
275 | 116 | 113 | ||
276 | 114 | monitor = self._bus.get_object(constants.SERVICE_NAME, constants.OPERATIONS_MONITOR_OBJECT) | ||
277 | 117 | self.path = func() | 115 | self.path = func() |
278 | 118 | 116 | ||
283 | 119 | monitor = self._bus.get_object(constants.SERVICE_NAME, constants.OPERATIONS_MONITOR_OBJECT) | 117 | while monitor.running(self.path): |
284 | 120 | if monitor.running(self.path): | 118 | self.event.wait(.1) |
281 | 121 | self.event.wait(5) | ||
282 | 122 | self.assertIsNone(self.error) | ||
285 | 123 | 119 | ||
286 | 124 | self.assertEqual('', monitor.last_error(self.path)) | 120 | self.assertEqual('', monitor.last_error(self.path)) |
287 | 125 | self.result = monitor.result(self.path) | 121 | self.result = monitor.result(self.path) |
288 | 126 | 122 | ||
289 | === modified file 'tools/libertined' | |||
290 | --- tools/libertined 2017-03-13 13:56:53 +0000 | |||
291 | +++ tools/libertined 2017-03-27 20:07:32 +0000 | |||
292 | @@ -140,7 +140,7 @@ | |||
293 | 140 | config = Config() | 140 | config = Config() |
294 | 141 | 141 | ||
295 | 142 | with OutputRedirector(config): | 142 | with OutputRedirector(config): |
297 | 143 | utils.get_logger().info("Starting libertine service") | 143 | utils.get_logger().info("Initializing libertined...") |
298 | 144 | loop = Loop() | 144 | loop = Loop() |
299 | 145 | 145 | ||
300 | 146 | try: | 146 | try: |
301 | @@ -156,6 +156,7 @@ | |||
302 | 156 | container_control.ContainerControl(manager.connection, client) | 156 | container_control.ContainerControl(manager.connection, client) |
303 | 157 | 157 | ||
304 | 158 | try: | 158 | try: |
305 | 159 | utils.get_logger().info("libertined ready") | ||
306 | 159 | loop.run() | 160 | loop.run() |
307 | 160 | except KeyboardInterrupt: | 161 | except KeyboardInterrupt: |
308 | 161 | utils.get_logger().debug("keyboard interrupt received") | 162 | utils.get_logger().debug("keyboard interrupt received") |
PASSED: Continuous integration, rev:412 /jenkins. canonical. com/libertine/ job/lp- libertine- ci/492/ /jenkins. canonical. com/libertine/ job/build/ 890 /jenkins. canonical. com/libertine/ job/test- 0-autopkgtest/ label=amd64, release= xenial+ overlay, testname= default/ 734 /jenkins. canonical. com/libertine/ job/test- 0-autopkgtest/ label=amd64, release= zesty,testname= default/ 734 /jenkins. canonical. com/libertine/ job/test- 0-autopkgtest/ label=i386, release= xenial+ overlay, testname= default/ 734 /jenkins. canonical. com/libertine/ job/test- 0-autopkgtest/ label=i386, release= zesty,testname= default/ 734 /jenkins. canonical. com/libertine/ job/build- 0-fetch/ 900 /jenkins. canonical. com/libertine/ job/build- 2-binpkg/ arch=amd64, release= xenial+ overlay/ 891 /jenkins. canonical. com/libertine/ job/build- 2-binpkg/ arch=amd64, release= xenial+ overlay/ 891/artifact/ output/ *zip*/output. zip /jenkins. canonical. com/libertine/ job/build- 2-binpkg/ arch=amd64, release= zesty/891 /jenkins. canonical. com/libertine/ job/build- 2-binpkg/ arch=amd64, release= zesty/891/ artifact/ output/ *zip*/output. zip /jenkins. canonical. com/libertine/ job/build- 2-binpkg/ arch=i386, release= xenial+ overlay/ 891 /jenkins. canonical. com/libertine/ job/build- 2-binpkg/ arch=i386, release= xenial+ overlay/ 891/artifact/ output/ *zip*/output. zip /jenkins. canonical. com/libertine/ job/build- 2-binpkg/ arch=i386, release= zesty/891 /jenkins. canonical. com/libertine/ job/build- 2-binpkg/ arch=i386, release= zesty/891/ artifact/ output/ *zip*/output. zip
https:/
Executed test runs:
SUCCESS: https:/
SUCCESS: https:/
SUCCESS: https:/
SUCCESS: https:/
SUCCESS: https:/
SUCCESS: https:/
SUCCESS: https:/
deb: https:/
SUCCESS: https:/
deb: https:/
SUCCESS: https:/
deb: https:/
SUCCESS: https:/
deb: https:/
Click here to trigger a rebuild: /jenkins. canonical. com/libertine/ job/lp- libertine- ci/492/ rebuild
https:/