diff options
author | Aleksey Lim <alsroot@sugarlabs.org> | 2013-05-21 13:45:43 (GMT) |
---|---|---|
committer | Aleksey Lim <alsroot@sugarlabs.org> | 2013-05-21 13:45:43 (GMT) |
commit | 4995aeb6243c80c638da34f9b903027025e61891 (patch) | |
tree | 6fabf61302d89a4c718e4cd5f127e6b701f4755e | |
parent | 770d15fab0714d9363ced3f80b85abb94ef52e2b (diff) |
Switch to 0install-2.2
-rw-r--r-- | sugar_network/client/solver.py | 7 | ||||
m--------- | sugar_network/lib/zeroinstall | 0 | ||||
-rw-r--r-- | sugar_network/toolkit/util.py | 1 | ||||
-rwxr-xr-x | tests/integration/node_packages.py | 16 | ||||
-rwxr-xr-x | tests/units/client/injector.py | 6 |
5 files changed, 18 insertions, 12 deletions
diff --git a/sugar_network/client/solver.py b/sugar_network/client/solver.py index 9c59650..fb1ee07 100644 --- a/sugar_network/client/solver.py +++ b/sugar_network/client/solver.py @@ -38,6 +38,7 @@ def _interface_init(self, url): model.Interface.__init__ = _interface_init reader.check_readable = lambda * args, ** kwargs: True +reader.update_from_cache = lambda * args, ** kwargs: None _logger = logging.getLogger('zeroinstall') @@ -121,8 +122,10 @@ def _solve(requirement): pipe.trace('\n '.join(['Solving results:'] + summary)) # pylint: disable-msg=W0212 - reason = solver._failure_reason - if not reason: + reason_exception = solver.get_failure_reason() + if reason_exception is not None: + reason = reason_exception.message + else: reason = 'Cannot find implementations for %s' % ', '.join(missed) raise RuntimeError(reason) diff --git a/sugar_network/lib/zeroinstall b/sugar_network/lib/zeroinstall -Subproject eaee7d902687d7ed6ef4c088a6e24bd1cee0c9d +Subproject b1d59788bfc54ccdb0c8bd4dc5f90921c244de8 diff --git a/sugar_network/toolkit/util.py b/sugar_network/toolkit/util.py index 3c1ffc9..04f1bb9 100644 --- a/sugar_network/toolkit/util.py +++ b/sugar_network/toolkit/util.py @@ -59,6 +59,7 @@ def init_logging(debug_level): 'inotify', 'netlink', 'sugar_stats', + '0install', ]) elif debug_level < 4: logging.Logger.trace = lambda self, message, *args, **kwargs: \ diff --git a/tests/integration/node_packages.py b/tests/integration/node_packages.py index e12d1c9..565df1a 100755 --- a/tests/integration/node_packages.py +++ b/tests/integration/node_packages.py @@ -56,7 +56,7 @@ class NodePackagesSlaveTest(tests.Test): @route('GET', '/resolve') def resolve(self, request, response): response.content_type = 'text/xml' - return '<resolve><binary name="rpm" url="http://localhost:9999/packages/rpm"/></resolve>' + return '<resolve><binary name="rpm" url="http://localhost:9999/packages/rpm" arch="arch"/></resolve>' @route('GET', '/packages') def packages(self, request, response): @@ -90,10 +90,10 @@ class NodePackagesSlaveTest(tests.Test): 'type': 'package', 'aliases': {'Fedora': {'binary': [['package']]}}, }) - coroutine.sleep(2) + coroutine.sleep(3) self.assertEqual( - '{"i586": [{"path": "rpm", "name": "rpm"}]}', + '{"arch": [{"path": "rpm", "name": "rpm"}]}', conn.get(['packages', 'presolve:OLPC-11.3.1', 'package'])) self.assertEqual( 'package_content', @@ -111,7 +111,7 @@ class NodePackagesSlaveTest(tests.Test): if ipc.get(cmd='status')['route'] == 'offline': self.wait_for_events(ipc, event='inline', state='online').wait() self.assertEqual( - {"i586": [{"path": "rpm", "name": "rpm"}]}, + {"arch": [{"path": "rpm", "name": "rpm"}]}, ipc.get(['packages', 'presolve:OLPC-11.3.1', 'package'])) self.waitpid(pid, signal.SIGINT) @@ -131,7 +131,7 @@ class NodePackagesSlaveTest(tests.Test): conn.post(cmd='online-sync') self.assertEqual( - '{"i586": [{"path": "rpm", "name": "rpm"}]}', + '{"arch": [{"path": "rpm", "name": "rpm"}]}', conn.get(['packages', 'presolve:OLPC-11.3.1', 'package'])) self.assertEqual( 'package_content', @@ -149,7 +149,7 @@ class NodePackagesSlaveTest(tests.Test): if ipc.get(cmd='status')['route'] == 'offline': self.wait_for_events(ipc, event='inline', state='online').wait() self.assertEqual( - {"i586": [{"path": "rpm", "name": "rpm"}]}, + {"arch": [{"path": "rpm", "name": "rpm"}]}, ipc.get(['packages', 'presolve:OLPC-11.3.1', 'package'])) self.waitpid(pid, signal.SIGINT) @@ -179,14 +179,14 @@ class NodePackagesSlaveTest(tests.Test): self.waitpid(pid, 0) self.assertEqual( - '{"i586": [{"path": "rpm", "name": "rpm"}]}', + '{"arch": [{"path": "rpm", "name": "rpm"}]}', conn.get(['packages', 'presolve:OLPC-11.3.1', 'package'])) self.assertEqual( 'package_content', urllib2.urlopen('http://localhost:8102/packages/presolve:OLPC-11.3.1/rpm').read()) self.assertEqual( - {"i586": [{"path": "rpm", "name": "rpm"}]}, + {"arch": [{"path": "rpm", "name": "rpm"}]}, ipc.get(['packages', 'presolve:OLPC-11.3.1', 'package'])) self.assertEqual( 'package_content', diff --git a/tests/units/client/injector.py b/tests/units/client/injector.py index 758622a..8edb941 100755 --- a/tests/units/client/injector.py +++ b/tests/units/client/injector.py @@ -48,8 +48,10 @@ class InjectorTest(tests.Test): self.assertEqual([ {'state': 'fork', 'context': context}, {'state': 'analyze', 'context': context}, - {'state': 'failure', 'context': context, 'error': "Interface '%s' has no usable implementations" % context, 'log_path': log_path, 'trace': None}, - ], + {'state': 'failure', 'context': context, 'log_path': log_path, 'trace': None, 'error': """\ +Can't find all required implementations: +- %s -> (problem) + No known implementations at all""" % context}], [i for i in pipe]) impl = conn.post(['implementation'], { |