1NAME=no preincrement/predecrement in 3rd part of for statement
2# Bad: for (;; ++i, --j)
3# Good: for (;; i++, j--)
4FILE=-
5# TODO: multiline
6CMDS="!git grep \"for[[:space:]]*([^;)]*;[^;)]*;\([^,)(]*,\)*[[:space:]]*\(++\|--\)[[:space:]]*[[:alpha:]_][[:alnum:]_]*[[:space:]]*[,)]\" -- .. :!db/tools/r2 :!../shlr/** :!../libr/asm/arch/** :!../**/mangling/cxx/cp-demangle.c"
7EXPECT=<<EOF
8EOF
9EXPECT_ERR=<<EOF
10EOF
11RUN
12
13NAME=use void on functions without parameters
14# Bad: static void foo() {
15# Good: static void foo(void) {
16FILE=-
17CMDS="!git grep -e ^R_API -e ^static ../libr | grep -e '[a-z]() {' -e '[a-z]();'"
18EXPECT=<<EOF
19EOF
20EXPECT_ERR=<<EOF
21EOF
22RUN
23
24NAME=r2 --
25FILE=bins/elf/bomb
26CMDS=r2 -s main -qcs bins/elf/bomb
27EXPECT=<<EOF
280x400da0
29EOF
30RUN
31
32NAME=seek undo/redo
33FILE=-
34CMDS=<<EOF
35wx 01
36s 1
37s-
38s+
39pb 8
40EOF
41EXPECT=<<EOF
4200000000
43EOF
44RUN
45
46NAME=seek undo/redo
47FILE=-
48CMDS=wx 01; s 1; s-; s+; pb 8
49EXPECT=<<EOF
5000000000
51EOF
52RUN
53
54NAME=radare2 -V
55FILE=-
56CMDS=!!radare2 -V~r_anal?
57EXPECT=<<EOF
581
59EOF
60RUN
61
62NAME=radare2 -h
63FILE=-
64CMDS=!!radare2 -h~Usage?
65EXPECT=<<EOF
661
67EOF
68RUN
69
70NAME=radare2 -hh
71FILE=-
72CMDS=!!radare2 -hh~R2_USER_PLUGINS?
73EXPECT=<<EOF
741
75EOF
76RUN
77
78NAME=radare2 -L
79FILE=-
80CMDS=!!radare2 -L~default?
81EXPECT=<<EOF
821
83EOF
84RUN
85
86NAME=r2 shortcut
87FILE=-
88CMDS=<<EOF
89?q `!!r2 -h~Usage?`
90?+ ?vi $?
91?! ?e `!!r2.bat -h~Usage?`
92EOF
93EXPECT=<<EOF
941
95EOF
96RUN
97
98NAME=no-nl-at-eof script
99FILE=-
100CMDS=!radare2 -i scripts/no-nl-at-eof.r2 -NQ -
101EXPECT=<<EOF
1021
103EOF
104EXPECT_ERR=<<EOF
105EOF
106RUN
107
108NAME=radare2 -i -Q with missing script
109FILE=-
110CMDS=<<EOF
111# Should not hang
112!radare2 -i script/missing.r2 -NQ -
113EOF
114EXPECT=<<EOF
115EOF
116EXPECT_ERR=<<EOF
117Script 'script/missing.r2' not found.
118EOF
119RUN
120
121NAME=radare2 empty -i
122FILE=-
123CMDS=!radare2 -i "" -
124EXPECT_ERR=<<EOF
125Cannot open empty script path
126EOF
127RUN
128
129NAME=radare2 empty -I
130FILE=-
131CMDS=!radare2 -I "" -
132EXPECT_ERR=<<EOF
133Cannot open empty script path
134EOF
135RUN
136
137NAME=radare2 empty -R
138FILE=-
139CMDS=!radare2 -R ""
140EXPECT_ERR=<<EOF
141Missing file to open
142EOF
143RUN
144
145NAME=radare2 empty -P
146FILE=-
147CMDS=!radare2 -P ""
148EXPECT_ERR=<<EOF
149Cannot open empty rapatch path
150EOF
151RUN
152