aboutsummaryrefslogtreecommitdiffstats
path: root/tests/data
diff options
context:
space:
mode:
authorPeter Hutterer <peter.hutterer@who-t.net>2017-01-24 09:56:38 +1000
committerPekka Paalanen <pekka.paalanen@collabora.co.uk>2017-01-24 11:59:00 +0200
commitf8ab47690c03245da4938cbab7a4ba6bcb1bebe0 (patch)
treead9a015b329552129e0965a06678bbced9bb0f8c /tests/data
parentscanner: add helper function to convert "since" to a version (diff)
downloadwayland-f8ab47690c03245da4938cbab7a4ba6bcb1bebe0.tar
wayland-f8ab47690c03245da4938cbab7a4ba6bcb1bebe0.tar.gz
wayland-f8ab47690c03245da4938cbab7a4ba6bcb1bebe0.tar.bz2
wayland-f8ab47690c03245da4938cbab7a4ba6bcb1bebe0.tar.lz
wayland-f8ab47690c03245da4938cbab7a4ba6bcb1bebe0.tar.xz
wayland-f8ab47690c03245da4938cbab7a4ba6bcb1bebe0.tar.zst
wayland-f8ab47690c03245da4938cbab7a4ba6bcb1bebe0.zip
scanner: support "since" attribute for enum entries
This was already in the DTD but not supported by the scanner. The check for ever-increasing "since" tags is not strictly required for enum entries as we control the binary value. But it keeps the xml file in good order, preventing things like: <entry name="first" value="…" /> <entry name="second" value="…" since="3"/> <entry name="third" value="…" since="2"/> <entry name="fourth" value="…" since="3"/> If this is undesirable in the future the check can be removed without side-effects. Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net> Reviewed-by: Pekka Paalanen <pekka.paalanen@collabora.co.uk>
Diffstat (limited to 'tests/data')
-rw-r--r--tests/data/small-client-core.h23
-rw-r--r--tests/data/small-client.h23
-rw-r--r--tests/data/small-code-core.c2
-rw-r--r--tests/data/small-code.c2
-rw-r--r--tests/data/small-server-core.h23
-rw-r--r--tests/data/small-server.h23
-rw-r--r--tests/data/small.xml8
7 files changed, 101 insertions, 3 deletions
diff --git a/tests/data/small-client-core.h b/tests/data/small-client-core.h
index 8d02edb..c85cca6 100644
--- a/tests/data/small-client-core.h
+++ b/tests/data/small-client-core.h
@@ -61,6 +61,29 @@ struct intf_not_here;
*/
extern const struct wl_interface intf_A_interface;
+#ifndef INTF_A_FOO_ENUM
+#define INTF_A_FOO_ENUM
+enum intf_A_foo {
+ /**
+ * this is the first
+ */
+ INTF_A_FOO_FIRST = 0,
+ /**
+ * this is the second
+ */
+ INTF_A_FOO_SECOND = 1,
+ /**
+ * this is the third
+ * @since 2
+ */
+ INTF_A_FOO_THIRD = 2,
+};
+/**
+ * @ingroup iface_intf_A
+ */
+#define INTF_A_FOO_THIRD_SINCE_VERSION 2
+#endif /* INTF_A_FOO_ENUM */
+
/**
* @ingroup iface_intf_A
* @struct intf_A_listener
diff --git a/tests/data/small-client.h b/tests/data/small-client.h
index 050e63f..884346d 100644
--- a/tests/data/small-client.h
+++ b/tests/data/small-client.h
@@ -61,6 +61,29 @@ struct intf_not_here;
*/
extern const struct wl_interface intf_A_interface;
+#ifndef INTF_A_FOO_ENUM
+#define INTF_A_FOO_ENUM
+enum intf_A_foo {
+ /**
+ * this is the first
+ */
+ INTF_A_FOO_FIRST = 0,
+ /**
+ * this is the second
+ */
+ INTF_A_FOO_SECOND = 1,
+ /**
+ * this is the third
+ * @since 2
+ */
+ INTF_A_FOO_THIRD = 2,
+};
+/**
+ * @ingroup iface_intf_A
+ */
+#define INTF_A_FOO_THIRD_SINCE_VERSION 2
+#endif /* INTF_A_FOO_ENUM */
+
/**
* @ingroup iface_intf_A
* @struct intf_A_listener
diff --git a/tests/data/small-code-core.c b/tests/data/small-code-core.c
index dbf7f40..28a00ab 100644
--- a/tests/data/small-code-core.c
+++ b/tests/data/small-code-core.c
@@ -54,7 +54,7 @@ static const struct wl_message intf_A_events[] = {
};
WL_EXPORT const struct wl_interface intf_A_interface = {
- "intf_A", 1,
+ "intf_A", 3,
3, intf_A_requests,
1, intf_A_events,
};
diff --git a/tests/data/small-code.c b/tests/data/small-code.c
index dbf7f40..28a00ab 100644
--- a/tests/data/small-code.c
+++ b/tests/data/small-code.c
@@ -54,7 +54,7 @@ static const struct wl_message intf_A_events[] = {
};
WL_EXPORT const struct wl_interface intf_A_interface = {
- "intf_A", 1,
+ "intf_A", 3,
3, intf_A_requests,
1, intf_A_events,
};
diff --git a/tests/data/small-server-core.h b/tests/data/small-server-core.h
index c1e8d05..6dd2d05 100644
--- a/tests/data/small-server-core.h
+++ b/tests/data/small-server-core.h
@@ -64,6 +64,29 @@ struct intf_not_here;
*/
extern const struct wl_interface intf_A_interface;
+#ifndef INTF_A_FOO_ENUM
+#define INTF_A_FOO_ENUM
+enum intf_A_foo {
+ /**
+ * this is the first
+ */
+ INTF_A_FOO_FIRST = 0,
+ /**
+ * this is the second
+ */
+ INTF_A_FOO_SECOND = 1,
+ /**
+ * this is the third
+ * @since 2
+ */
+ INTF_A_FOO_THIRD = 2,
+};
+/**
+ * @ingroup iface_intf_A
+ */
+#define INTF_A_FOO_THIRD_SINCE_VERSION 2
+#endif /* INTF_A_FOO_ENUM */
+
/**
* @ingroup iface_intf_A
* @struct intf_A_interface
diff --git a/tests/data/small-server.h b/tests/data/small-server.h
index 0bd8a1d..4763f5b 100644
--- a/tests/data/small-server.h
+++ b/tests/data/small-server.h
@@ -64,6 +64,29 @@ struct intf_not_here;
*/
extern const struct wl_interface intf_A_interface;
+#ifndef INTF_A_FOO_ENUM
+#define INTF_A_FOO_ENUM
+enum intf_A_foo {
+ /**
+ * this is the first
+ */
+ INTF_A_FOO_FIRST = 0,
+ /**
+ * this is the second
+ */
+ INTF_A_FOO_SECOND = 1,
+ /**
+ * this is the third
+ * @since 2
+ */
+ INTF_A_FOO_THIRD = 2,
+};
+/**
+ * @ingroup iface_intf_A
+ */
+#define INTF_A_FOO_THIRD_SINCE_VERSION 2
+#endif /* INTF_A_FOO_ENUM */
+
/**
* @ingroup iface_intf_A
* @struct intf_A_interface
diff --git a/tests/data/small.xml b/tests/data/small.xml
index 571618f..a6e62ad 100644
--- a/tests/data/small.xml
+++ b/tests/data/small.xml
@@ -26,7 +26,7 @@
SOFTWARE.
</copyright>
- <interface name="intf_A" version="1">
+ <interface name="intf_A" version="3">
<description summary="the thing A">
A useless example trying to tickle the scanner.
</description>
@@ -48,5 +48,11 @@
<request name="destroy" type="destructor"/>
<event name="hey"/>
+
+ <enum name="foo">
+ <entry name="first" value="0" summary="this is the first"/>
+ <entry name="second" value="1" summary="this is the second"/>
+ <entry name="third" value="2" since="2" summary="this is the third"/>
+ </enum>
</interface>
</protocol>