Skip to content

Commit 46149d1

Browse files
committed
Add tests
1 parent 903c062 commit 46149d1

File tree

2 files changed

+78
-0
lines changed

2 files changed

+78
-0
lines changed
+25
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
{
2+
'test_type': 'output_check',
3+
'errors': """
4+
__static_assert.pwn(8) : warning 249: check failed: size of "TEST" is not 123
5+
__static_assert.pwn(14) : warning 249: check failed: size of "Test" array is not 123
6+
__static_assert.pwn(20) : warning 249: check failed: cval - 1
7+
__static_assert.pwn(21) : warning 249: check failed: test_string
8+
__static_assert.pwn(22) : warning 249: check failed: \ test \ " abc "
9+
__static_assert.pwn(23) : warning 249: check failed: string concatenation test
10+
__static_assert.pwn(24) : warning 249: check failed: stringization test
11+
__static_assert.pwn(27) : warning 249: check failed: array size must be even
12+
__static_assert.pwn(32) : warning 249: check failed: cval != cval
13+
__static_assert.pwn(32) : warning 249: check failed: 1 && __static_check(cval != cval) && false
14+
__static_assert.pwn(34) : warning 249: check failed: inside fail
15+
__static_assert.pwn(35) : warning 249: check failed: outside fail
16+
__static_assert.pwn(37 -- 38) : warning 249: check failed: -expression-
17+
__static_assert.pwn(40) : error 008: must be a constant expression; assumed zero
18+
__static_assert.pwn(41) : error 001: expected token: "-string-", but found "-identifier-"
19+
__static_assert.pwn(42) : error 001: expected token: "-string-", but found "!"
20+
__static_assert.pwn(43) : error 001: expected token: "-string-", but found "!"
21+
__static_assert.pwn(49) : fatal error 110: assertion failed: this is zero
22+
23+
Compilation aborted.
24+
"""
25+
}
+53
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,53 @@
1+
enum TEST
2+
{
3+
ABC1,
4+
ABC2
5+
};
6+
7+
__static_check(_:TEST == 2, "size of \"TEST\" is not 2");
8+
__static_check(_:TEST == 123, "size of \"TEST\" is not 123"); // warning 249: check failed: size of "TEST" is not 123
9+
10+
new Test[(__static_check(1), TEST)];
11+
#pragma unused Test
12+
13+
__static_check(sizeof(Test) == 2, "size of \"Test\" array is not 2");
14+
__static_check(sizeof(Test) == 123, "size of \"Test\" array is not 123"); // warning 249: check failed: size of "Test" array is not 123
15+
16+
main()
17+
{
18+
const cval = 1;
19+
new var = 1234;
20+
__static_check( cval - 1 ); // warning 249: check failed: cval - 1023
21+
__static_check(0, "test_string"); // warning 249: check failed: test_string
22+
__static_check(0, "\\ test \\ \" abc \""); // warning 249: check failed: \ test \ " abc "
23+
__static_check(0, "string" " concatenation " "test"); // warning 249: check failed: string concatenation test
24+
__static_check(0, #stringization " test"); // warning 249: check failed: stringization test
25+
26+
new arr[(__static_check(32%2 == 0, "array size must be even"), 32)];
27+
new arr2[(__static_check(33%2 == 0, "array size must be even"), 33)]; // warning 249: check failed: array size must be even
28+
#pragma unused arr
29+
#pragma unused arr2
30+
31+
__static_check(1 && __static_check(cval == cval) || false);
32+
__static_check(1 && __static_check(cval != cval) && false); // warning 249: check failed: cval != cval
33+
// warning 249: check failed: 1 && __static_check(cval != cval) && false
34+
__static_check(__static_check(cval != cval, "inside fail") || true, "outside fail"); // warning 249: check failed: inside fail
35+
__static_check(__static_check(cval == cval, "inside fail") && false, "outside fail"); // warning 249: check failed: outside fail
36+
37+
__static_check((0 + 1 + 2 + 3 + 4
38+
+ 5 + 6 + 7 + 8 + 9) * 0); // warning 249: check failed: -expression-
39+
40+
__static_check(var); // error 008: must be a constant expression; assumed zero
41+
__static_check(cval, var); // error 001: expected token: "-string-", but found "-identifier-"
42+
__static_check(cval, !"test"); // error 001: expected token: "-string-", but found "!"
43+
__static_check(cval, !""); // error 001: expected token: "-string-", but found "!"
44+
45+
#if defined SecondPass
46+
// Only check assertions on the 2'nd pass, otherwise
47+
// warnings from the above checks won't be displayed.
48+
__static_assert(1, "this is not zero");
49+
__static_assert(0, "this is zero"); // fatal error 110: assertion failed: this is zero
50+
#endif
51+
}
52+
53+
stock SecondPass(){}

0 commit comments

Comments
 (0)