[gobject-introspection] [tests] Add callback scope tests
- From: Johan Dahlin <johan src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gobject-introspection] [tests] Add callback scope tests
- Date: Thu, 2 Sep 2010 20:21:30 +0000 (UTC)
commit b0b18465bc01e4b261670c40f7122d9516c430fd
Author: Johan Dahlin <johan gnome org>
Date: Thu Sep 2 17:18:35 2010 -0300
[tests] Add callback scope tests
And fix a bug in the warning call in the scanner
giscanner/maintransformer.py | 4 ++--
tests/warn/Makefile.am | 2 ++
tests/warn/callback-invalid-scope.h | 11 +++++++++++
tests/warn/callback-missing-scope.h | 5 +++++
4 files changed, 20 insertions(+), 2 deletions(-)
---
diff --git a/giscanner/maintransformer.py b/giscanner/maintransformer.py
index 9a8d93d..1aeb089 100644
--- a/giscanner/maintransformer.py
+++ b/giscanner/maintransformer.py
@@ -485,9 +485,9 @@ class MainTransformer(object):
if scope not in [ast.PARAM_SCOPE_CALL,
ast.PARAM_SCOPE_ASYNC,
ast.PARAM_SCOPE_NOTIFIED]:
- message.warn(
+ message.warn_node(
parent,
- "Invalid scope %r for parameter %r" % (scope, param.name))
+ "Invalid scope %r for parameter %r" % (scope, param.argname))
else:
param.scope = scope
param.transfer = ast.PARAM_TRANSFER_NONE
diff --git a/tests/warn/Makefile.am b/tests/warn/Makefile.am
index aefc7a7..2d3c324 100644
--- a/tests/warn/Makefile.am
+++ b/tests/warn/Makefile.am
@@ -1,6 +1,8 @@
include $(top_srcdir)/common.mk
TESTS = \
+ callback-invalid-scope.h \
+ callback-missing-scope.h \
return-gobject.h \
unresolved-type.h
diff --git a/tests/warn/callback-invalid-scope.h b/tests/warn/callback-invalid-scope.h
new file mode 100644
index 0000000..c42a49a
--- /dev/null
+++ b/tests/warn/callback-invalid-scope.h
@@ -0,0 +1,11 @@
+#include "common.h"
+
+/**
+ * test_callback_invalid:
+ * @callback: (scope invalid):
+ *
+ */
+void test_callback_invalid(GCallback *callback, gpointer user_data);
+
+// EXPECT:8: Warning: Test: test_callback_invalid: argument callback: Missing (scope) annotation for callback without GDestroyNotify (valid: call, async)
+// EXPECT:8: Warning: Test: Invalid scope 'invalid' for parameter 'callback'
diff --git a/tests/warn/callback-missing-scope.h b/tests/warn/callback-missing-scope.h
new file mode 100644
index 0000000..7932198
--- /dev/null
+++ b/tests/warn/callback-missing-scope.h
@@ -0,0 +1,5 @@
+#include "common.h"
+
+void test_callback(GCallback *callback, gpointer user_data);
+
+// EXPECT:3: Warning: Test: test_callback: argument callback: Missing (scope) annotation for callback without GDestroyNotify (valid: call, async)
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]