Re: [PATCH wayland 4/4] tests: add code, public-code and private-code tests

2018-02-22 Thread Emil Velikov
Hi Pekka,

Thanks for having a look!

On 22 February 2018 at 10:26, Pekka Paalanen  wrote:

>> +# The existing "code" must produce result identical to "public-code"
>> +generate_and_compare "code" "small.xml" "small-public-code.c"
>> +generate_and_compare "public-code" "small.xml" "small-public-code.c"
>> +generate_and_compare "private-code" "small.xml" "small-private-code.c"
>>  exit $RETCODE
>
> Hi Emil,
>
> is there a reason why you introduced small-public-code.c as a new
> expected output file? It is by definition identical to small-code.c.
> Even the generate_and_compare line is identical.
>

I opted to have all three combinations split out and distinct from the
existing tests.
One would do something like the following. I don't have strong
preference, as long as we have some tests.

# The existing "code" must produce result identical to "public-code"
generate_and_compare "code" "small.xml" "small-code.c"
generate_and_compare "public-code" "small.xml" "small-code.c"
generate_and_compare "private-code" "small.xml" "small-private-code.c"

Updated patch coming in a second - feel free to pick the more
favourable solution.

Thanks
Emil
___
wayland-devel mailing list
wayland-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/wayland-devel


Re: [PATCH wayland 4/4] tests: add code, public-code and private-code tests

2018-02-22 Thread Pekka Paalanen
On Fri, 16 Feb 2018 16:22:33 +
Emil Velikov  wrote:

> From: Emil Velikov 
> 
> First one is deprecated in favour of the second option.
> 
> The latter is newly introduced and annotates the generated symbols
> accordingly.
> 
> Signed-off-by: Emil Velikov 
> ---
>  Makefile.am |  4 ++-
>  tests/data/small-private-code.c | 71 
> +
>  tests/data/small-public-code.c  | 61 +++
>  tests/scanner-test.sh   |  4 +++
>  4 files changed, 139 insertions(+), 1 deletion(-)
>  create mode 100644 tests/data/small-private-code.c
>  create mode 100644 tests/data/small-public-code.c
> 
> diff --git a/Makefile.am b/Makefile.am
> index 4ffce0d..1a0b1ec 100644
> --- a/Makefile.am
> +++ b/Makefile.am
> @@ -299,7 +299,9 @@ EXTRA_DIST += tests/scanner-test.sh   
> \
>   tests/data/small-server.h   \
>   tests/data/small-code-core.c\
>   tests/data/small-client-core.h  \
> - tests/data/small-server-core.h
> + tests/data/small-server-core.h  \
> + tests/data/small-public-code.c  \
> + tests/data/small-private-code.c
>  
>  tests/scanner-test.sh: $(top_builddir)/wayland-scanner
>  

> diff --git a/tests/scanner-test.sh b/tests/scanner-test.sh
> index 7854b86..4d2b42d 100755
> --- a/tests/scanner-test.sh
> +++ b/tests/scanner-test.sh
> @@ -48,4 +48,8 @@ generate_and_compare "-c code" "small.xml" 
> "small-code-core.c"
>  generate_and_compare "-c client-header" "small.xml" "small-client-core.h"
>  generate_and_compare "-c server-header" "small.xml" "small-server-core.h"
>  
> +# The existing "code" must produce result identical to "public-code"
> +generate_and_compare "code" "small.xml" "small-public-code.c"
> +generate_and_compare "public-code" "small.xml" "small-public-code.c"
> +generate_and_compare "private-code" "small.xml" "small-private-code.c"
>  exit $RETCODE

Hi Emil,

is there a reason why you introduced small-public-code.c as a new
expected output file? It is by definition identical to small-code.c.
Even the generate_and_compare line is identical.

Other than that, looks good to me. Nice work!


Thanks,
pq


pgpu0Gy9LIPB0.pgp
Description: OpenPGP digital signature
___
wayland-devel mailing list
wayland-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/wayland-devel


[PATCH wayland 4/4] tests: add code, public-code and private-code tests

2018-02-16 Thread Emil Velikov
From: Emil Velikov 

First one is deprecated in favour of the second option.

The latter is newly introduced and annotates the generated symbols
accordingly.

Signed-off-by: Emil Velikov 
---
 Makefile.am |  4 ++-
 tests/data/small-private-code.c | 71 +
 tests/data/small-public-code.c  | 61 +++
 tests/scanner-test.sh   |  4 +++
 4 files changed, 139 insertions(+), 1 deletion(-)
 create mode 100644 tests/data/small-private-code.c
 create mode 100644 tests/data/small-public-code.c

diff --git a/Makefile.am b/Makefile.am
index 4ffce0d..1a0b1ec 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -299,7 +299,9 @@ EXTRA_DIST += tests/scanner-test.sh \
tests/data/small-server.h   \
tests/data/small-code-core.c\
tests/data/small-client-core.h  \
-   tests/data/small-server-core.h
+   tests/data/small-server-core.h  \
+   tests/data/small-public-code.c  \
+   tests/data/small-private-code.c
 
 tests/scanner-test.sh: $(top_builddir)/wayland-scanner
 
diff --git a/tests/data/small-private-code.c b/tests/data/small-private-code.c
new file mode 100644
index 000..e447607
--- /dev/null
+++ b/tests/data/small-private-code.c
@@ -0,0 +1,71 @@
+/* SCANNER TEST */
+
+/*
+ * Copyright © 2016 Collabora, Ltd.
+ *
+ * Permission is hereby granted, free of charge, to any person
+ * obtaining a copy of this software and associated documentation files
+ * (the "Software"), to deal in the Software without restriction,
+ * including without limitation the rights to use, copy, modify, merge,
+ * publish, distribute, sublicense, and/or sell copies of the Software,
+ * and to permit persons to whom the Software is furnished to do so,
+ * subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice (including the
+ * next paragraph) shall be included in all copies or substantial
+ * portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+ * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+ * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+ * NONINFRINGEMENT.  IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS
+ * BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
+ * ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
+ * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+ * SOFTWARE.
+ */
+
+#include 
+#include 
+#include "wayland-util.h"
+
+#ifndef __has_attribute
+# define __has_attribute(x) 0  /* Compatibility with non-clang compilers. */
+#endif
+
+#if (__has_attribute(visibility) || defined(__GNUC__) && __GNUC__ >= 4
+#define WL_PRIVATE __attribute__ ((visibility("hidden")))
+#else
+#define WL_PRIVATE
+#endif
+
+extern const struct wl_interface another_intf_interface;
+extern const struct wl_interface intf_not_here_interface;
+
+static const struct wl_interface *types[] = {
+   NULL,
+   _not_here_interface,
+   NULL,
+   NULL,
+   NULL,
+   NULL,
+   NULL,
+   _intf_interface,
+};
+
+static const struct wl_message intf_A_requests[] = {
+   { "rq1", "sun", types + 0 },
+   { "rq2", "nsiufho", types + 1 },
+   { "destroy", "", types + 0 },
+};
+
+static const struct wl_message intf_A_events[] = {
+   { "hey", "", types + 0 },
+};
+
+WL_PRIVATE const struct wl_interface intf_A_interface = {
+   "intf_A", 3,
+   3, intf_A_requests,
+   1, intf_A_events,
+};
+
diff --git a/tests/data/small-public-code.c b/tests/data/small-public-code.c
new file mode 100644
index 000..28a00ab
--- /dev/null
+++ b/tests/data/small-public-code.c
@@ -0,0 +1,61 @@
+/* SCANNER TEST */
+
+/*
+ * Copyright © 2016 Collabora, Ltd.
+ *
+ * Permission is hereby granted, free of charge, to any person
+ * obtaining a copy of this software and associated documentation files
+ * (the "Software"), to deal in the Software without restriction,
+ * including without limitation the rights to use, copy, modify, merge,
+ * publish, distribute, sublicense, and/or sell copies of the Software,
+ * and to permit persons to whom the Software is furnished to do so,
+ * subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice (including the
+ * next paragraph) shall be included in all copies or substantial
+ * portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+ * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+ * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+ * NONINFRINGEMENT.  IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS
+ * BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
+ * ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF