[libsecret] Fix introspection for secret_value_get() to return a uint8
- From: Stefan Walter <stefw src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [libsecret] Fix introspection for secret_value_get() to return a uint8
- Date: Tue, 26 Feb 2013 14:56:56 +0000 (UTC)
commit ddd9bdd2e9fcc6009e54a17751d1002a039d180a
Author: Stef Walter <stefw gnome org>
Date: Mon Feb 25 13:56:32 2013 +0100
Fix introspection for secret_value_get() to return a uint8
This works around a crash in pygobject.
https://bugzilla.gnome.org/show_bug.cgi?id=694448
libsecret/secret-value.c | 4 ++--
libsecret/tests/test-unstable.py | 34 +++++++++++++++++++++++++++++++---
2 files changed, 33 insertions(+), 5 deletions(-)
---
diff --git a/libsecret/secret-value.c b/libsecret/secret-value.c
index 7bd7bc2..a6fc5b8 100644
--- a/libsecret/secret-value.c
+++ b/libsecret/secret-value.c
@@ -151,13 +151,13 @@ secret_value_new_full (gchar *secret,
/**
* secret_value_get:
* @value: the value
- * @length: (out): the length of the secret
+ * @length: the length of the secret
*
* Get the secret data in the #SecretValue. The value is not necessarily
* null-terminated unless it was created with secret_value_new() or a
* null-terminated string was passed to secret_value_new_full().
*
- * Returns: (array length=length): the secret data
+ * Returns: (array length=length) (element-type guint8): the secret data
*/
const gchar *
secret_value_get (SecretValue *value,
diff --git a/libsecret/tests/test-unstable.py b/libsecret/tests/test-unstable.py
index 7f611e7..2aa6d2b 100644
--- a/libsecret/tests/test-unstable.py
+++ b/libsecret/tests/test-unstable.py
@@ -14,22 +14,50 @@
import unittest
from gi.repository import MockService as Mock
-from gi.repository import SecretUnstable as Secret, GLib
+from gi.repository import SecretUnstable, Secret, GLib
+
+EXAMPLE_SCHEMA = Secret.Schema.new('org.mock.type.Store',
+ Secret.SchemaFlags.NONE,
+ {
+ 'number': Secret.SchemaAttributeType.INTEGER,
+ 'string': Secret.SchemaAttributeType.STRING,
+ 'even': Secret.SchemaAttributeType.BOOLEAN,
+ }
+)
+
+attributes = {
+ 'number': '8',
+ 'string': 'eight',
+ 'even': 'true'
+}
class TestStore(unittest.TestCase):
def setUp(self):
Mock.start("mock-service-normal.py")
def tearDown(self):
- Secret.Service.disconnect()
+ SecretUnstable.Service.disconnect()
Mock.stop()
def testSynchronous(self):
- service = Secret.Service.get_sync(Secret.ServiceFlags.NONE, None);
+ service = SecretUnstable.Service.get_sync(SecretUnstable.ServiceFlags.NONE, None);
path = service.read_alias_dbus_path_sync("default", None);
# Just running this without error is good enough for us to test the unstable gir
self.assertNotEqual(path, None);
+ def testValueGet(self):
+ Secret.password_store_sync(EXAMPLE_SCHEMA, attributes, Secret.COLLECTION_DEFAULT,
+ 'the label', 'the password', None)
+
+ service = SecretUnstable.Service.get_sync(SecretUnstable.ServiceFlags.NONE, None)
+ items = service.search_sync(EXAMPLE_SCHEMA, { 'even': 'true' },
+ SecretUnstable.SearchFlags.ALL |
SecretUnstable.SearchFlags.LOAD_SECRETS,
+ None)
+
+ item = items[0]
+ item_secret = item.get_secret()
+ self.assertEqual(item_secret.get(), "the password")
+
if __name__ == '__main__':
unittest.main()
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]