]> git.ipfire.org Git - thirdparty/vala.git/commitdiff
tests: Add more "statement" tests for genie to increase coverage
authorRico Tzschichholz <ricotz@ubuntu.com>
Sat, 6 Nov 2021 14:35:12 +0000 (15:35 +0100)
committerRico Tzschichholz <ricotz@ubuntu.com>
Sun, 14 Nov 2021 11:42:31 +0000 (12:42 +0100)
12 files changed:
tests/Makefile.am
tests/genie/case.gs [new file with mode: 0644]
tests/genie/do-while.gs [new file with mode: 0644]
tests/genie/for-downto.gs [new file with mode: 0644]
tests/genie/for-in.gs [new file with mode: 0644]
tests/genie/for-to.gs [new file with mode: 0644]
tests/genie/initializer-list.gs [new file with mode: 0644]
tests/genie/print.gs [new file with mode: 0644]
tests/genie/sizeof.gs [new file with mode: 0644]
tests/genie/try-except-finally.gs [new file with mode: 0644]
tests/genie/typeof.gs [new file with mode: 0644]
tests/genie/while.gs [new file with mode: 0644]

index 175e085ba1a5c8a48925703f569d41f8148e7b85..23a84204cb5f644312568af672b3eb278eb059f9 100644 (file)
@@ -1211,6 +1211,7 @@ TESTS = \
        version/since-local-variable.test \
        version/since-method.test \
        version/since-parameter.test \
+       genie/case.gs \
        genie/class.gs \
        genie/class-field.gs \
        genie/class-init.gs \
@@ -1224,9 +1225,13 @@ TESTS = \
        genie/control-flow-if.gs \
        genie/control-flow-if-identity.gs \
        genie/control-flow-if-less-than.gs \
+       genie/do-while.gs \
        genie/enum.gs \
        genie/enum-with-keyword-values.gs \
        genie/exception.gs \
+       genie/for-downto.gs \
+       genie/for-in.gs \
+       genie/for-to.gs \
        genie/function.gs \
        genie/function-returns-closure.gs \
        genie/function-with-argument.gs \
@@ -1234,6 +1239,7 @@ TESTS = \
        genie/indentation-with-spaces.gs \
        genie/init.gs \
        genie/init-int.gs \
+       genie/initializer-list.gs \
        genie/interface.gs \
        genie/literal-boolean-assignment.gs \
        genie/literal-boolean.gs \
@@ -1280,8 +1286,13 @@ TESTS = \
        genie/preparser.gs \
        genie/preparser-not.gs \
        genie/preparser-or-expression.gs \
+       genie/print.gs \
+       genie/sizeof.gs \
        genie/struct.gs \
        genie/struct-after-class.gs \
+       genie/try-except-finally.gs \
+       genie/typeof.gs \
+       genie/while.gs \
        glib/conditional-glib-api.vala \
        $(LINUX_TESTS) \
        $(NULL)
diff --git a/tests/genie/case.gs b/tests/genie/case.gs
new file mode 100644 (file)
index 0000000..4055876
--- /dev/null
@@ -0,0 +1,6 @@
+init
+       a:int = 13
+       case a
+               when 13
+               when 23, 42
+               default
diff --git a/tests/genie/do-while.gs b/tests/genie/do-while.gs
new file mode 100644 (file)
index 0000000..6ffb227
--- /dev/null
@@ -0,0 +1,8 @@
+init
+       do
+               break
+       while true
+
+       do
+               continue
+       while false
diff --git a/tests/genie/for-downto.gs b/tests/genie/for-downto.gs
new file mode 100644 (file)
index 0000000..1a71637
--- /dev/null
@@ -0,0 +1,3 @@
+init
+       for i:int = 42 downto 23
+               assert( i >= 23)
diff --git a/tests/genie/for-in.gs b/tests/genie/for-in.gs
new file mode 100644 (file)
index 0000000..890e1b1
--- /dev/null
@@ -0,0 +1,4 @@
+init
+       a:string[] = { "a", "b", "c" }
+       for s:string in a
+               assert( s != "d" )
diff --git a/tests/genie/for-to.gs b/tests/genie/for-to.gs
new file mode 100644 (file)
index 0000000..771bc30
--- /dev/null
@@ -0,0 +1,3 @@
+init
+       for i:int = 0 to 23
+               assert( i < 42)
diff --git a/tests/genie/initializer-list.gs b/tests/genie/initializer-list.gs
new file mode 100644 (file)
index 0000000..baa0245
--- /dev/null
@@ -0,0 +1,7 @@
+init
+       s:string[] = { "a", "b", "c" }
+
+       assert( s.length == 3 )
+       assert( s[0] == "a" )
+       assert( s[1] == "b" )
+       assert( s[2] == "c" )
diff --git a/tests/genie/print.gs b/tests/genie/print.gs
new file mode 100644 (file)
index 0000000..8c82e3e
--- /dev/null
@@ -0,0 +1,2 @@
+init
+       print( "%s = %i + %.4f", "a", 42, 3.1415 )
diff --git a/tests/genie/sizeof.gs b/tests/genie/sizeof.gs
new file mode 100644 (file)
index 0000000..db7d659
--- /dev/null
@@ -0,0 +1,3 @@
+init
+       a:ulong = sizeof( uint32 )
+       assert( a == 4 )
diff --git a/tests/genie/try-except-finally.gs b/tests/genie/try-except-finally.gs
new file mode 100644 (file)
index 0000000..038995c
--- /dev/null
@@ -0,0 +1,13 @@
+def test() raises IOError, Error
+       raise new IOError.FAILED( "failed" )
+
+init
+       a:int = 0
+       try
+               a++
+               test()
+       except e:Error
+               a++
+       finally
+               a++
+       assert( a == 3 )
diff --git a/tests/genie/typeof.gs b/tests/genie/typeof.gs
new file mode 100644 (file)
index 0000000..0069d1b
--- /dev/null
@@ -0,0 +1,3 @@
+init
+       a:Type = typeof( int )
+       assert( a == Type.INT )
diff --git a/tests/genie/while.gs b/tests/genie/while.gs
new file mode 100644 (file)
index 0000000..aed8469
--- /dev/null
@@ -0,0 +1,6 @@
+init
+       while true do
+               break
+
+       while false
+               assert_not_reached()