Changeset 355
- Timestamp:
- Jul 11, 2003, 2:27:52 PM (22 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/emx/testcase/checkhdrs.cmd
-
Property cvs2svn:cvs-rev
changed from
1.1
to1.2
r354 r355 13 13 */ 14 14 15 parse arg sInclude s Other15 parse arg sInclude sFile sOther 16 16 if (sInclude = '') then 17 17 do 18 say 'syntax: checkhdrs <includedir> ';18 say 'syntax: checkhdrs <includedir> [file]'; 19 19 exit 8; 20 20 end … … 37 37 */ 38 38 i = 1; 39 asExcludes.i = ''; i=i+1; 39 asExcludes.i = 'os2tk.h'; i=i+1; 40 asExcludes.i = 'sys\moddef.h'; i=i+1; /* f**kup */ 41 asExcludes.i = 'objc\encoding.h'; i=i+1; 42 asExcludes.i = 'objc\hash.h'; i=i+1; 43 asExcludes.i = 'objc\NXConstS.h'; i=i+1; 44 asExcludes.i = 'objc\objc-api.h'; i=i+1; 45 asExcludes.i = 'objc\objc-lis.h'; i=i+1; 46 asExcludes.i = 'objc\objc.h'; i=i+1; 47 asExcludes.i = 'objc\Object.h'; i=i+1; 48 asExcludes.i = 'objc\Protocol.h'; i=i+1; 49 asExcludes.i = 'objc\sarray.h'; i=i+1; 50 asExcludes.i = 'objc\thr.h'; i=i+1; 51 asExcludes.i = 'objc\typedstr.h'; i=i+1; 52 asExcludes.i = '386\types.h'; i=i+1; 53 asExcludes.i = 'machine\types.h'; i=i+1; 40 54 asExcludes.0 = i - 1; 41 55 56 /* 57 * Require Resolving. 58 */ 59 i = 1; 60 aReq.i.msHdr = 'dyn-string.h'; aReq.i.msIncs = 'ansidecl.h'; i=i+1; 61 aReq.i.msHdr = 'emx\locale.h'; aReq.i.msIncs = 'sys/types.h'; i = i + 1; 62 aReq.i.msHdr = 'emx\umalloc.h'; aReq.i.msIncs = 'stddef.h umalloc.h sys/builtin.h sys/fmutex.h sys/rmutex.h'; i = i + 1; 63 aReq.i.msHdr = 'fibheap.h'; aReq.i.msIncs = 'sys/types.h'; i=i+1; 64 aReq.i.msHdr = 'hashtab.h'; aReq.i.msIncs = 'sys/types.h'; i=i+1; 65 aReq.i.msHdr = 'net\if.h'; aReq.i.msIncs = 'sys/socket.h'; i=i+1; 66 aReq.i.msHdr = 'net\if_arp.h'; aReq.i.msIncs = 'sys/socket.h'; i=i+1; 67 aReq.i.msHdr = 'net\if_dl.h'; aReq.i.msIncs = 'sys/socket.h'; i=i+1; 68 aReq.i.msHdr = 'net\route.h'; aReq.i.msIncs = 'sys/socket.h'; i=i+1; 69 aReq.i.msHdr = 'netinet\ip_icmp.h'; aReq.i.msIncs = 'sys/types.h netinet/in_systm.h netinet/in.h netinet/ip.h'; i=i+1; 70 aReq.i.msHdr = 'netinet\icmp_var.h'; aReq.i.msIncs = 'sys/types.h netinet/in_systm.h netinet/in.h netinet/ip.h netinet/ip_icmp.h'; i=i+1; 71 aReq.i.msHdr = 'netinet\if_ether.h'; aReq.i.msIncs = 'sys/types.h netinet/in.h sys/socket.h net/if_arp.h net/if.h '; i=i+1; 72 aReq.i.msHdr = 'netinet\igmp.h'; aReq.i.msIncs = 'sys/types.h netinet/in.h'; i=i+1; 73 aReq.i.msHdr = 'netinet\igmp_var.h'; aReq.i.msIncs = 'sys/types.h netinet/in.h netinet/igmp.h'; i=i+1; 74 aReq.i.msHdr = 'netinet\in_systm.h'; aReq.i.msIncs = 'sys/types.h'; i=i+1; 75 aReq.i.msHdr = 'netinet\ip.h'; aReq.i.msIncs = 'sys/types.h netinet/in_systm.h netinet/in.h'; i=i+1; 76 aReq.i.msHdr = 'netinet\ip_var.h'; aReq.i.msIncs = 'sys/types.h netinet/in.h'; i=i+1; 77 aReq.i.msHdr = 'netinet\ip_mrout.h'; aReq.i.msIncs = 'sys/types.h netinet/in.h'; i=i+1; 78 aReq.i.msHdr = 'netinet\ip_mroute.h'; aReq.i.msIncs = 'sys/types.h netinet/in.h'; i=i+1; 79 aReq.i.msHdr = 'netinet\tcp.h'; aReq.i.msIncs = 'sys/types.h'; i=i+1; 80 aReq.i.msHdr = 'netinet\tcpip.h'; aReq.i.msIncs = 'sys/types.h netinet/in.h netinet/ip_var.h netinet/tcp.h'; i=i+1; 81 aReq.i.msHdr = 'netinet\tcp_var.h'; aReq.i.msIncs = 'sys/types.h'; i=i+1; 82 aReq.i.msHdr = 'netinet\udp.h'; aReq.i.msIncs = 'sys/types.h'; i=i+1; 83 aReq.i.msHdr = 'netinet\udp_var.h'; aReq.i.msIncs = 'sys/types.h netinet/udp.h netinet/in.h netinet/ip_var.h'; i=i+1; 84 85 aReq.i.msHdr = 'protocol\routed.h'; aReq.i.msIncs = 'sys/types.h sys/param.h sys/time.h sys/socket.h'; i=i+1; 86 aReq.i.msHdr = 'protocol\rwhod.h'; aReq.i.msIncs = 'sys/types.h sys/param.h sys/time.h'; i=i+1; 87 aReq.i.msHdr = 'protocol\talkd.h'; aReq.i.msIncs = 'sys/types.h sys/param.h sys/time.h sys/socket.h'; i=i+1; 88 aReq.i.msHdr = 'protocol\timed.h'; aReq.i.msIncs = 'sys/types.h sys/param.h sys/time.h'; i=i+1; 89 aReq.i.msHdr = 'protocols\routed.h'; aReq.i.msIncs = 'sys/types.h sys/param.h sys/time.h sys/socket.h'; i=i+1; 90 aReq.i.msHdr = 'protocols\rwhod.h'; aReq.i.msIncs = 'sys/types.h sys/param.h sys/time.h'; i=i+1; 91 aReq.i.msHdr = 'protocols\talkd.h'; aReq.i.msIncs = 'sys/types.h sys/param.h sys/time.h sys/socket.h'; i=i+1; 92 aReq.i.msHdr = 'protocols\timed.h'; aReq.i.msIncs = 'sys/types.h sys/param.h sys/time.h'; i=i+1; 93 aReq.i.msHdr = 'resolv.h'; aReq.i.msIncs = 'sys/socket.h netinet/in.h arpa/nameser.h'; i=i+1; 94 aReq.i.msHdr = 'sys\fmutex.h'; aReq.i.msIncs = 'sys/builtin.h'; i = i + 1; 95 aReq.i.msHdr = 'sys\moddef.h'; aReq.i.msIncs = 'stdio.h stdlib.h alloca.h errno.h string.h process.h io.h fcntl.h sys/types.h'; i=i+1; 96 aReq.i.msHdr = 'sys\rmutex.h'; aReq.i.msIncs = 'sys/builtin.h sys/fmutex.h'; i = i + 1; 97 aReq.i.msHdr = 'sys\smutex.h'; aReq.i.msIncs = 'sys/builtin.h'; i = i + 1; 98 aReq.i.msHdr = 'sys\un.h'; aReq.i.msIncs = 'sys/types.h'; i=i+1; /* TCPV40HDRS only */ 99 aReq.i.msHdr = 'ternary.h'; aReq.i.msIncs = 'ansidecl.h'; i=i+1; 100 aReq.0 = i; 42 101 43 102 /* … … 45 104 */ 46 105 asFiles.0 = 0; 47 rc = SysFileTree(sInclude'\*.h', 'asFiles', 'OSF'); 106 if (sFile <> '') then 107 do 108 rc = SysFileTree(sFile, 'asFiles', 'OSF'); 109 if (asFiles.0 = 0) then 110 rc = SysFileTree(sInclude'\'sFile, 'asFiles', 'OSF'); 111 end 112 else 113 rc = SysFileTree(sInclude'\*.h', 'asFiles', 'OSF'); 48 114 if (rc <> 0) then 49 115 do … … 59 125 asFailed.0 = 0; 60 126 do i = 1 to asFiles.0 61 sName = substr(asFiles.i, length(sInclude) + 2); 62 say 'info: testing 'sName'....'; 127 call testfile sInclude, asFiles.i; 128 end 129 130 if (asFailed.0 > 0) then 131 do 132 say 'The following files failed:' 133 do i = 1 to asFailed.0 134 say ' 'asFailed.i; 135 end 136 end 137 138 exit(asFailed.0); 139 140 141 142 /** 143 * Test one file. 144 * @returns 0 145 * @param sDir Include directory (for the -I option and for basing sFile). 146 * @param sFile The include file to test, full path. 147 */ 148 testfile: procedure expose asFailed. asExcludes. aReq. 149 parse arg sDir, sFile 150 sName = substr(sFile, length(sDir) + 2); 151 if (isExcluded(sName)) then 152 do 153 say 'info: skipping 'sName'...'; 154 return 0; 155 end 156 157 say 'info: testing 'sName'...'; 63 158 sTmp = '.\tmpfile.cpp'; 64 159 sTmpS = '.\tmpfile.s'; 65 160 call SysFileDelete sTmp; 161 call writeReqs sTmp, sName; 66 162 call lineout sTmp, '#include <'sName'>'; 67 163 call lineout sTmp, 'int main() {return 0;}'; 68 164 call lineout sTmp 69 Address CMD 'gcc -S -I'sInclude sTmp; 165 /*Address CMD 'type 'sTmp; */ 166 Address CMD 'gcc -S -O -Wall -I'sDir sTmp; 70 167 if (rc <> 0) then 71 168 do … … 76 173 call SysFileDelete sTmp; 77 174 call SysFileDelete sTmpS; 78 end 79 80 if (asFailed.0 > 0) then 81 do 82 say 'The following files failed:' 83 do i = 1 to asFailed.0 84 say ' 'asFailed.i; 85 end 86 end 87 88 exit(asFailed.0); 175 return 0; 176 177 178 /** 179 * Check if sFile is excluded from testing. 180 */ 181 isExcluded: procedure expose asExcludes. 182 parse arg sFile 183 do i = 1 to asExcludes.0 184 if (sFile = asExcludes.i) then 185 return 1; 186 end 187 return 0; 188 189 190 /** 191 * Writes required code (#includes) for a given header. 192 */ 193 writeReqs: procedure expose aReq. 194 parse arg sOutput, sFile 195 do i = 1 to aReq.0 196 if (sFile = aReq.i.msHdr) then 197 do 198 do j = 1 to words(aReq.i.msIncs) 199 call lineout sOutput, '#include <'word(aReq.i.msIncs, j)'>'; 200 end 201 leave i; 202 end 203 end 204 return 0; -
Property cvs2svn:cvs-rev
changed from
Note:
See TracChangeset
for help on using the changeset viewer.