Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAleksey Lim <alsroot@sugarlabs.org>2013-05-21 13:45:43 (GMT)
committer Aleksey Lim <alsroot@sugarlabs.org>2013-05-21 13:45:43 (GMT)
commit4995aeb6243c80c638da34f9b903027025e61891 (patch)
tree6fabf61302d89a4c718e4cd5f127e6b701f4755e
parent770d15fab0714d9363ced3f80b85abb94ef52e2b (diff)
Switch to 0install-2.2
-rw-r--r--sugar_network/client/solver.py7
m---------sugar_network/lib/zeroinstall0
-rw-r--r--sugar_network/toolkit/util.py1
-rwxr-xr-xtests/integration/node_packages.py16
-rwxr-xr-xtests/units/client/injector.py6
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'], {