1<testcase> 2<info> 3<keywords> 4checksrc 5</keywords> 6</info> 7 8# 9# Client-side 10<client> 11<server> 12none 13</server> 14<name> 15checksrc 16</name> 17 18<command type="perl"> 19%SRCDIR/../scripts/checksrc.pl %LOGDIR/code%TESTNUMBER.c 20</command> 21<file name="%LOGDIR/code%TESTNUMBER.c"> 22/* test source code 23 * Violate each rule at least once. 24 **/ 25int hello; /*------------------------------------------------------------------*/ 26int tab; 27int trailing_space; 28int a = func (); 29int b = func( b); 30int b = func(b ); 31func(a, b , c); 32 33int hello() 34{ 35 return(2); 36} 37func(a, b,c); 38 39if(a == 2) { 40 ; 41} else { 42 moo = 2; 43} 44 45if(a == 2){ /* followed by comment */ 46 ; 47} 48 49func() ; 50 51a = sprintf(buffer, "%s", moo); 52 53FILE *f = fopen("filename", "r"); 54 55void startfunc(int a, int b) { 56 func(); 57} 58 59 for(;;) { 60 func(1); 61 } while(1); 62 63 char * name = "hello"; 64 char* name = "hello"; 65 66 int foo=bar; 67 int foo= bar; 68 int foo = bar; 69 int foo = bar;foo++; 70 for(;;) { 71 } 72 73 int a = sizeof int; 74 int a = snprintf(buffer, sizeof(buffer), "%d", 99); 75 76 if(a) b++; 77 78 // CPP comment? 79 80 /* comment doesn't end 81 82</file> 83</client> 84 85# 86# Verify data after the test has been "shot" 87<verify> 88<stdout> 89./%LOGDIR/code1185.c:4:82: warning: Longer than 79 columns (LONGLINE) 90 int hello; /*------------------------------------------------------------------*/ 91./%LOGDIR/code1185.c:5:4: error: Contains TAB character (TABS) 92 int tab; 93 ^ 94./%LOGDIR/code1185.c:7:13: warning: func with space (SPACEBEFOREPAREN) 95 int a = func (); 96 ^ 97./%LOGDIR/code1185.c:8:14: warning: space after open parenthesis (SPACEAFTERPAREN) 98 int b = func( b); 99 ^ 100./%LOGDIR/code1185.c:9:16: warning: space before close parenthesis (SPACEBEFORECLOSE) 101 int b = func(b ); 102 ^ 103./%LOGDIR/code1185.c:10:11: warning: space before comma (SPACEBEFORECOMMA) 104 func(a, b , c); 105 ^ 106./%LOGDIR/code1185.c:14:9: warning: return without space before paren (RETURNNOSPACE) 107 return(2); 108 ^ 109./%LOGDIR/code1185.c:16:11: warning: comma without following space (COMMANOSPACE) 110 func(a, b,c); 111 ^ 112./%LOGDIR/code1185.c:18:12: warning: wrongly placed open brace (BRACEPOS) 113 if(a == 2) { 114 ^ 115./%LOGDIR/code1185.c:20:1: warning: else after closing brace on same line (BRACEELSE) 116 } else { 117 ^ 118./%LOGDIR/code1185.c:24:11: warning: missing space after close paren (PARENBRACE) 119 if(a == 2){ 120 ^ 121./%LOGDIR/code1185.c:28:7: warning: no space before semicolon (SPACESEMICOLON) 122 func() ; 123 ^ 124./%LOGDIR/code1185.c:30:5: warning: use of sprintf is banned (BANNEDFUNC) 125 a = sprintf(buffer, "%s", moo); 126 ^ 127./%LOGDIR/code1185.c:32:11: warning: use of non-binary fopen without FOPEN_* macro: r (FOPENMODE) 128 FILE *f = fopen("filename", "r"); 129 ^ 130./%LOGDIR/code1185.c:34:30: warning: wrongly placed open brace (BRACEPOS) 131 void startfunc(int a, int b) { 132 ^ 133./%LOGDIR/code1185.c:39:6: warning: not indented 2 steps (uses 4) (INDENTATION) 134 func(1); 135 ^ 136./%LOGDIR/code1185.c:42:8: warning: space after declarative asterisk (ASTERISKSPACE) 137 char * name = "hello"; 138 ^ 139./%LOGDIR/code1185.c:43:7: warning: space after declarative asterisk (ASTERISKSPACE) 140 char* name = "hello"; 141 ^ 142./%LOGDIR/code1185.c:43:6: warning: no space before asterisk (ASTERISKNOSPACE) 143 char* name = "hello"; 144 ^ 145./%LOGDIR/code1185.c:45:10: warning: no space after equals sign (EQUALSNOSPACE) 146 int foo=bar; 147 ^ 148./%LOGDIR/code1185.c:46:9: warning: no space before equals sign (NOSPACEEQUALS) 149 int foo= bar; 150 ^ 151./%LOGDIR/code1185.c:48:16: warning: no space after semicolon (SEMINOSPACE) 152 int foo = bar;foo++; 153 ^ 154./%LOGDIR/code1185.c:49:10: warning: multiple spaces (MULTISPACE) 155 for(;;) { 156 ^ 157./%LOGDIR/code1185.c:50:2: warning: not indented 2 steps (uses 0) (INDENTATION) 158 } 159 ^ 160./%LOGDIR/code1185.c:52:16: warning: sizeof without parenthesis (SIZEOFNOPAREN) 161 int a = sizeof int; 162 ^ 163./%LOGDIR/code1185.c:53:10: warning: use of snprintf is banned (SNPRINTF) 164 int a = snprintf(buffer, sizeof(buffer), "%d", 99); 165 ^ 166./%LOGDIR/code1185.c:55:7: warning: conditional block on the same line (ONELINECONDITION) 167 if(a) b++; 168 ^ 169./%LOGDIR/code1185.c:57:2: warning: // comment (CPPCOMMENTS) 170 // CPP comment? 171 ^ 172./%LOGDIR/code1185.c:1:1: error: Missing copyright statement (COPYRIGHT) 173 174 ^ 175./%LOGDIR/code1185.c:1:1: error: Missing closing comment (OPENCOMMENT) 176 177 ^ 178checksrc: 0 errors and 30 warnings 179</stdout> 180<errorcode> 1815 182</errorcode> 183</verify> 184</testcase> 185