summaryrefslogtreecommitdiff
path: root/tests/glib
diff options
context:
space:
mode:
authorRico Tzschichholz <ricotz@ubuntu.com>2021-03-03 16:06:34 +0100
committerRico Tzschichholz <ricotz@ubuntu.com>2021-03-03 17:48:41 +0100
commit703012e4b12fae075500e99ac2e45e38f0526b3a (patch)
tree00cdf56c850f6c5802723955450ad730eae830ad /tests/glib
parentac1e52dfa654a3d184f7b843bfbdb2e33fa8c24f (diff)
downloadvala-703012e4b12fae075500e99ac2e45e38f0526b3a.tar.gz
tests: Add "target-glib=auto" tests to increase coverage
Diffstat (limited to 'tests/glib')
-rw-r--r--tests/glib/conditional-glib-api.vala49
-rw-r--r--tests/glib/tests-extra-environment.sh1
2 files changed, 50 insertions, 0 deletions
diff --git a/tests/glib/conditional-glib-api.vala b/tests/glib/conditional-glib-api.vala
new file mode 100644
index 000000000..fc096ac92
--- /dev/null
+++ b/tests/glib/conditional-glib-api.vala
@@ -0,0 +1,49 @@
+// glib 2.54 g_enum_to_string / g_flags_to_string
+// glib 2.58 G_GNUC_NO_INLINE
+enum FooEnum {
+ BAR;
+}
+void use_g_enum_to_string () {
+ FooEnum.BAR.to_string ();
+}
+[Flags]
+enum FooFlag {
+ BAR;
+}
+void use_g_flags_to_string () {
+ FooFlag.BAR.to_string ();
+}
+
+// glib 2.68 g_memdup2
+struct FooMemDup2 {
+ public int i;
+}
+void use_g_memdup2 () {
+ (unowned string)[] foo = { "foo", "bar", "manam"};
+ var bar = foo;
+
+ uint8[] minim = "minim".data;
+ Variant minim_v = minim;
+ minim = (uint8[]) minim_v;
+
+ FooMemDup2? manam = { 42 };
+ Variant manam_v = manam;
+ manam = (FooMemDup2?) manam_v;
+}
+
+// glib 2.68 drop volatile
+[SingleInstance]
+class FooVolatile : Object {
+}
+class BarVolatile {
+}
+void no_use_volatile () {
+ var re = /mon(str.*o)n/i;
+}
+
+void main () {
+ use_g_enum_to_string ();
+ use_g_flags_to_string ();
+ use_g_memdup2 ();
+ no_use_volatile ();
+}
diff --git a/tests/glib/tests-extra-environment.sh b/tests/glib/tests-extra-environment.sh
new file mode 100644
index 000000000..c4663a654
--- /dev/null
+++ b/tests/glib/tests-extra-environment.sh
@@ -0,0 +1 @@
+VALAFLAGS="--target-glib=auto"