From: Wolfgang (Blub) Bumiller Date: Thu, 22 Nov 2012 19:03:53 +0000 (+0100) Subject: Adding short-logic testcase X-Git-Tag: 0.1.9~351 X-Git-Url: https://git.rm.cloudns.org/?a=commitdiff_plain;h=2f672cce1d8f67037cdabd08e3c6e435eb401af8;p=xonotic%2Fgmqcc.git Adding short-logic testcase --- diff --git a/tests/short-logic.qc b/tests/short-logic.qc new file mode 100644 index 0000000..a62ed79 --- /dev/null +++ b/tests/short-logic.qc @@ -0,0 +1,49 @@ +void print(...) = #1; +string ftos(float) = #2; + +float glob1; +float glob2; +float glob3; + +float side_effect_1(float r) { + glob1 += 3; + return r; +} + +float side_effect_2(float r) { + glob2 += 3; + return r; +} + +float side_effect_3(float r) { + glob3 += 3; + return r; +} + +void main() { + glob1 = 10; + glob2 = 20; + glob3 = 30; + + if (side_effect_1(0) || side_effect_2(1)) + print(ftos(glob1), "=13 ", ftos(glob2), "=23 OK\n"); + else + print("Fail\n"); + + if (side_effect_3(1) || side_effect_1(1)) + print(ftos(glob1), "=13 ", ftos(glob3), "=33 OK\n"); + else + print("Fail\n"); + + if (side_effect_1(0) && side_effect_3(1)) + print("Fail\n"); + else + print(ftos(glob1), "=16 ", ftos(glob3), "=33 OK\n"); + + if (side_effect_2(1) && side_effect_3(1)) + print(ftos(glob2), "=26 ", ftos(glob3), "=36 OK\n"); + else + print("Fail\n"); + + print(ftos(glob1), "=16 ", ftos(glob2), "=26 ", ftos(glob3), "=36 OK\n"); +} diff --git a/tests/short-logic.tmpl b/tests/short-logic.tmpl new file mode 100644 index 0000000..e137af9 --- /dev/null +++ b/tests/short-logic.tmpl @@ -0,0 +1,9 @@ +I: short-logic.qc +D: test short circuit logic +T: -execute +C: -std=fteqcc -fshort-logic +M: 13=13 23=23 OK +M: 13=13 33=33 OK +M: 16=16 33=33 OK +M: 26=26 36=36 OK +M: 16=16 26=26 36=36 OK