Source code of Windows XP (NT5)
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

448 lines
18 KiB

  1. /**********************************************************************/
  2. /** Microsoft LAN Manager **/
  3. /** Copyright(c) Microsoft Corp., 1990 **/
  4. /**********************************************************************/
  5. /*
  6. testpars.c
  7. Tests the FLNParse routine in the winnet driver
  8. FILE HISTORY:
  9. Johnl 6-12-90 Created
  10. */
  11. // This is annoying
  12. #define NOGDICAPMASKS
  13. #define NOVIRTUALKEYCODES
  14. #define NOWINMESSAGES
  15. #define NOWINSTYLES
  16. #define NOSYSMETRICS
  17. #define NOMENUS
  18. #define NOICONS
  19. #define NOKEYSTATES
  20. #define NOSYSCOMMANDS
  21. #define NORASTEROPS
  22. #define NOSHOWWINDOW
  23. #define OEMRESOURCE
  24. #define NOATOM
  25. #define NOCLIPBOARD
  26. #define NOCOLOR
  27. #define NOCTLMGR
  28. #define NODRAWTEXT
  29. #define NOGDI
  30. //#define NOMB
  31. #define NOMETAFILE
  32. #define NOMINMAX
  33. #define NOMSG
  34. #define NOSCROLL
  35. #define NOSOUND
  36. #define NOTEXTMETRIC
  37. #define NOWH
  38. #define NOWINOFFSETS
  39. #define NOCOMM
  40. #define NOKANJI
  41. #define NOHELP
  42. #define NOPROFILER
  43. #include <windows.h>
  44. #define INCL_ERRORS
  45. #include <uierr.h>
  46. #define LFN
  47. #include <winnet.h>
  48. #define OS2_INCLUDED
  49. #include <lmcons.h>
  50. #undef OS2_INCLUDED
  51. #include <uinetlib.h>
  52. #include <netlib.h>
  53. #include <assert.h>
  54. #include <stdio.h>
  55. #include <dos.h>
  56. typedef PASCAL FAR LFNPARSEPROC(LPSTR, LPSTR, LPSTR) ;
  57. typedef PASCAL FAR LFNVOLUMETYPEPROC( WORD, LPWORD ) ;
  58. #ifdef LFNFIND_TEST
  59. typedef PASCAL FAR LFNFINDFIRST( LPSTR, WORD, LPWORD, LPWORD, WORD, FILEFINDBUF2 FAR *) ;
  60. typedef PASCAL FAR LFNFINDNEXT( WORD, LPWORD, WORD, FILEFINDBUF2 FAR * ) ;
  61. typedef PASCAL FAR LFNFINDCLOSE( WORD ) ;
  62. #endif
  63. typedef PASCAL FAR LFNGETVOLLABEL(WORD, LPSTR ) ;
  64. typedef PASCAL FAR LFNSETVOLLABEL(WORD, LPSTR ) ;
  65. typedef PASCAL FAR LFNMKDIR( LPSTR ) ;
  66. typedef PASCAL FAR LFNRMDIR( LPSTR );
  67. typedef PASCAL FAR LFNGETATTRIBUTES(LPSTR, LPWORD ) ;
  68. typedef PASCAL FAR LFNSETATTRIBUTES(LPSTR, WORD ) ;
  69. #define DRIVE_F 6
  70. #define DRIVE_H 8
  71. int PASCAL WinMain( HANDLE, HANDLE, LPSTR, int ) ;
  72. int PASCAL WinMain( HANDLE hInstance,
  73. HANDLE hPrevInstance,
  74. LPSTR lpCmdLine,
  75. int nCmdShow )
  76. {
  77. LFNPARSEPROC far *lpLFNParse ;
  78. LFNVOLUMETYPEPROC far *lpLFNVolumeType ;
  79. #ifdef LFNFIND_TEST
  80. LFNFINDFIRST far *lpLFNFindFirst ;
  81. LFNFINDNEXT far *lpLFNFindNext ;
  82. LFNFINDCLOSE far *lpLFNFindClose ;
  83. #endif
  84. LFNGETVOLLABEL far *lpLFNGetVolLabel ;
  85. LFNSETVOLLABEL far *lpLFNSetVolLabel ;
  86. LFNMKDIR far *lpLFNMkDir ;
  87. LFNRMDIR far *lpLFNRmDir ;
  88. LFNGETATTRIBUTES far *lpLFNGetAttributes ;
  89. LFNSETATTRIBUTES far *lpLFNSetAttributes ;
  90. HANDLE hWinnet = LoadLibrary("Lanman.drv" ) ;
  91. MessageBox( NULL, "This test requires drive H: to be an HPFS redirected drive and drive F: to be FAT redirected drive", "LFN Test Suite", MB_OK ) ;
  92. MessageBox( NULL, "Begin", "LFN Test Suite", MB_OK ) ;
  93. assert( hWinnet > 32 ) ;
  94. assert( (lpLFNParse = (LFNPARSEPROC far*) GetProcAddress( hWinnet, "LFNParse" )) != NULL ) ;
  95. assert( (lpLFNVolumeType = (LFNVOLUMETYPEPROC far*) GetProcAddress( hWinnet, "LFNVolumeType" )) != NULL ) ;
  96. #ifdef LFNFIND_TEST
  97. assert( (lpLFNFindFirst = (LFNFINDFIRST far*) GetProcAddress( hWinnet, "LFNFindFirst" )) != NULL ) ;
  98. assert( (lpLFNFindNext = (LFNFINDNEXT far*) GetProcAddress( hWinnet, "LFNFindNext" )) != NULL ) ;
  99. assert( (lpLFNFindClose = (LFNFINDCLOSE far*) GetProcAddress( hWinnet, "LFNFindClose" )) != NULL ) ;
  100. #endif
  101. assert( (lpLFNGetVolLabel = (LFNGETVOLLABEL far *) GetProcAddress( hWinnet, "LFNGetVolumeLabel" )) != NULL ) ;
  102. assert( (lpLFNSetVolLabel = (LFNSETVOLLABEL far *) GetProcAddress( hWinnet, "LFNSetVolumeLabel" )) != NULL ) ;
  103. assert( (lpLFNMkDir = (LFNMKDIR far *) GetProcAddress( hWinnet, "LFNMkDir" )) != NULL ) ;
  104. assert( (lpLFNRmDir = (LFNRMDIR far *) GetProcAddress( hWinnet, "LFNRmDir" )) != NULL ) ;
  105. assert( (lpLFNGetAttributes=(LFNGETATTRIBUTES far *) GetProcAddress( hWinnet, "LFNGetAttributes" )) != NULL ) ;
  106. assert( (lpLFNSetAttributes=(LFNSETATTRIBUTES far *) GetProcAddress( hWinnet, "LFNSetAttributes" )) != NULL ) ;
  107. //*******************************************************************
  108. // Test VolumeType
  109. {
  110. WORD wVolType, wErr ;
  111. char buff[150] ;
  112. // Drive H: is redirected to a drive that supports long filenames
  113. wErr = lpLFNVolumeType( DRIVE_H, &wVolType ) ;
  114. if ( wErr )
  115. {
  116. sprintf( buff, "LFNVolumeType returned error %d on drive H (wVolType = %d)", wErr, wVolType ) ;
  117. MessageBox( NULL, buff, "LFN Test Suite", MB_OK ) ;
  118. }
  119. assert( wVolType == VOLUME_LONGNAMES ) ;
  120. // Drive F: is redirected to a drive that does not support long filenames
  121. wErr = lpLFNVolumeType( DRIVE_F, &wVolType ) ;
  122. if ( wErr )
  123. {
  124. sprintf( buff, "LFNVolumeType returned error %d on drive F (wVolType = %d)", wErr, wVolType ) ;
  125. MessageBox( NULL, buff, "LFN Test Suite", MB_OK ) ;
  126. }
  127. assert( wVolType == VOLUME_STANDARD ) ;
  128. }
  129. //*******************************************************************
  130. // Test LFNSetVolumeLabel & LFNGetVolumeLabel
  131. {
  132. char *pchLabel = "VolLabel" ;
  133. WORD wErrF, wErrH ;
  134. static char LabelF[15], LabelH[15], Buff[128] ;
  135. wErrF = lpLFNGetVolLabel( DRIVE_F, LabelF ) ;
  136. if ( wErrF )
  137. *LabelF = '\0' ;
  138. wErrH = lpLFNGetVolLabel( DRIVE_H, LabelH ) ;
  139. if ( wErrH )
  140. *LabelH = '\0' ;
  141. wsprintf(Buff, "Drive F is \"%s\", wErr = %d, Drive H is \"%s\", wErr = %d",
  142. LabelF, wErrF, LabelH, wErrH ) ;
  143. OutputDebugString("LFNParse:" ) ;
  144. OutputDebugString( Buff ) ;
  145. MessageBox( NULL, Buff, "LFN Test Suite", MB_OK ) ;
  146. assert( lpLFNSetVolLabel( DRIVE_F, pchLabel ) == ERROR_ACCESS_DENIED ) ;
  147. assert( lpLFNSetVolLabel( DRIVE_H, pchLabel ) == ERROR_ACCESS_DENIED ) ;
  148. }
  149. //*******************************************************************
  150. // Test LFNParse combining file and mask
  151. {
  152. struct
  153. {
  154. char * pszFile ;
  155. char * pszMask ;
  156. char * pszCompString ;
  157. int RetVal ;
  158. } ParseCombTest[] =
  159. {
  160. "\\STUFF\\FOO", "\\BAR\\?1?23", "\\STUFF\\BAR\\F1O23", FILE_83_CI,
  161. "\\A\\B\\C\\FILE", "1\\2\\*.*", "\\A\\B\\C\\1\\2\\FILE", FILE_83_CI,
  162. "A:\\FOOT.BALL", "*", "A:\\FOOT.BALL", FILE_LONG,
  163. "A:\\FOOT.BALL", "*.*", "A:\\FOOT.BALL", FILE_LONG,
  164. "A:\\1234.567", "*.*.*", "A:\\1234.567", FILE_83_CI,
  165. "A:\\1234.567", "*3.5*7", "A:\\123.567", FILE_83_CI,
  166. "A:\\1234.567", "*a.5*7", "A:\\1234.567a.57", FILE_LONG,
  167. "A:\\FOOT.BALL", "?", "A:\\F", FILE_83_CI,
  168. "A:\\FOOT.BALL", "????????.???", "A:\\FOOT.BAL", FILE_83_CI,
  169. "\\TEST\\FOO", "\\MOO\\?1?2?3","\\TEST\\MOO\\F1O23", FILE_83_CI,
  170. "A:\\FOOT.BALL", "A", "A:\\A", FILE_83_CI,
  171. "A:\\FOOT.BALL", "TST.???", "A:\\TST.BAL", FILE_83_CI,
  172. "A:\\FOOT.BALL", "B.*", "A:\\B.BALL", FILE_LONG,
  173. "A:\\FOOT.BALL", "B", "A:\\B", FILE_83_CI,
  174. "A:\\E.F.G.Hey.IJK", "*.*..H.I??", "A:\\E.F..H.IJK", FILE_LONG,
  175. NULL, NULL, NULL, 0
  176. } ;
  177. int i = 0 ;
  178. while ( ParseCombTest[i].pszFile != NULL )
  179. {
  180. static char Result[512] ;
  181. int iRet = lpLFNParse( ParseCombTest[i].pszFile,
  182. ParseCombTest[i].pszMask,
  183. Result ) ;
  184. assert( iRet == ParseCombTest[i].RetVal ) ;
  185. assert( !strcmpf( Result, ParseCombTest[i].pszCompString ) ) ;
  186. i++ ;
  187. }
  188. }
  189. //*******************************************************************
  190. // Test LFNGet/SetAttributes
  191. {
  192. // Bogus value at the moment...
  193. WORD wAttr = 0x00 ;
  194. // GP Fault here?
  195. assert( !lpLFNSetAttributes("H:\\foo.bar\\foo.bar", _A_NORMAL ) ) ;
  196. assert( !lpLFNGetAttributes("H:\\foo.bar\\foo.bar", &wAttr ) ) ;
  197. assert( wAttr == _A_NORMAL ) ;
  198. assert( !lpLFNSetAttributes("F:\\foo.bar\\foo.bar", _A_NORMAL ) ) ;
  199. assert( !lpLFNGetAttributes("F:\\foo.bar\\foo.bar", &wAttr ) ) ;
  200. assert( wAttr == _A_NORMAL ) ;
  201. // Test the HPFS drive
  202. assert( !lpLFNSetAttributes("H:\\test.att", _A_NORMAL ) ) ;
  203. assert( !lpLFNGetAttributes("H:\\test.att", &wAttr ) ) ;
  204. assert( wAttr == _A_NORMAL ) ;
  205. assert( !lpLFNSetAttributes("H:\\test.att", _A_RDONLY | _A_ARCH ) ) ;
  206. assert( !lpLFNGetAttributes("H:\\test.att", &wAttr ) ) ;
  207. assert( wAttr == _A_RDONLY | _A_ARCH ) ;
  208. assert( !lpLFNSetAttributes("H:\\test.att", _A_HIDDEN | _A_SYSTEM ) ) ;
  209. assert( !lpLFNGetAttributes("H:\\test.att", &wAttr ) ) ;
  210. assert( wAttr == _A_HIDDEN | _A_SYSTEM ) ;
  211. assert( !lpLFNSetAttributes("H:\\test.att", _A_NORMAL ) ) ;
  212. assert( !lpLFNGetAttributes("H:\\test.att", &wAttr ) ) ;
  213. assert( wAttr == _A_NORMAL ) ;
  214. // Test the FAT drive
  215. assert( !lpLFNSetAttributes("F:\\test.att", _A_NORMAL ) ) ;
  216. assert( !lpLFNGetAttributes("F:\\test.att", &wAttr ) ) ;
  217. assert( wAttr == _A_NORMAL ) ;
  218. assert( !lpLFNSetAttributes("F:\\test.att", _A_RDONLY | _A_ARCH ) ) ;
  219. assert( !lpLFNGetAttributes("F:\\test.att", &wAttr ) ) ;
  220. assert( wAttr == _A_RDONLY | _A_ARCH ) ;
  221. assert( !lpLFNSetAttributes("F:\\test.att", _A_HIDDEN | _A_SYSTEM ) ) ;
  222. assert( !lpLFNGetAttributes("F:\\test.att", &wAttr ) ) ;
  223. assert( wAttr == _A_HIDDEN | _A_SYSTEM ) ;
  224. assert( !lpLFNSetAttributes("F:\\test.att", _A_NORMAL ) ) ;
  225. assert( !lpLFNGetAttributes("F:\\test.att", &wAttr ) ) ;
  226. assert( wAttr == _A_NORMAL ) ;
  227. }
  228. //*******************************************************************
  229. // Test LFNParse 8.3 tests
  230. {
  231. char * psz83I1 = "C:\\ABC",
  232. * psz83I2 = "C:ABC",
  233. * psz83I3 = "\\ABC",
  234. * psz83I4 = ".\\ABC",
  235. * psz83I5 = "..\\ABC",
  236. * psz83I6 = "C:\\ABC\\DEF",
  237. * psz83I7 = "C:ABC\\DEF",
  238. * psz83I8 = "\\ABC\\DEF",
  239. * psz83I9 = ".\\ABC\\DEF",
  240. * psz83IA = "..\\ABC\\DEF",
  241. * psz83IB = "C:\\ABC\\DEF\\GHIJKLMN.OPQ",
  242. * psz83IC = "C:ABC\\DEF\\GHI.JKL",
  243. * psz83ID = "\\ABC\\DEF\\..",
  244. * psz83IE = ".\\ABC\\DEF\\..\\GHIJKLMN.OPQ",
  245. * psz83IF = "..\\ABC\\D.EF\\..\\.\\..\\GH.IJ",
  246. * psz83IG = "ABC",
  247. * psz83IH = "ABC\\DEFGHIJK",
  248. * psz83II = "ABC\D",
  249. * psz83IJ = "A\C",
  250. * psz83IK = "A.",
  251. * psz83IL = "A.EXE",
  252. * psz83IM = "X:\\.\\A.EXE",
  253. * psz83IN = "X:\\.\\A.",
  254. * psz83C1 = "C:\\ABC\\DEF\\GHIjKLMN.OPQ",
  255. * psz83C2 = "C:ABC\\DEF\\GHI.JKl",
  256. * psz83C3 = "\\ABC\\DEf\\..",
  257. * psz83C4 = ".\\ABC\\dEF\\..\\GhIJKLMN.OPQ",
  258. * psz83C5 = "..\\aBC\\DEF\\..\\.\\..\\GH",
  259. * pszLong1 = "C:\\ABCDEFGHI.JKL",
  260. * pszLong2 = "C:\\ABCD.HI.JKL",
  261. * pszLong3 = "C:\\ABCDE..JKL",
  262. * pszLong4 = "C:\\ABCDEF\\GHI\\ JKL",
  263. * pszLong5 = "\\ABCDE.123\\ABCDE.1234",
  264. * pszLong6 = ".AB\\CDE",
  265. *pszReg1 = ".\\.\\.\\.\\.\\.\\.\\.\\.\\.\\.\\.\\.\\.\\.\\.\\ABC",
  266. *pszReg2 = ".\\ABCjjHHHiiiasdfasdfJJZZZZZZ",
  267. *pszReg3 = ".\\aBC",
  268. *pszReg4 = ".\\ABC" ;
  269. assert( (*lpLFNParse)( pszReg1, NULL, NULL ) == FILE_83_CI ) ;
  270. //assert( (*lpLFNParse)( pszReg2 NULL, NULL ) == FILE_LONG ) ;
  271. assert( (*lpLFNParse)( pszReg3, NULL, NULL ) == FILE_83_CS ) ;
  272. assert( (*lpLFNParse)( pszReg4, NULL, NULL ) == FILE_83_CI ) ;
  273. assert( (*lpLFNParse)( psz83I1, NULL, NULL ) == FILE_83_CI ) ;
  274. assert( (*lpLFNParse)( psz83I2, NULL, NULL ) == FILE_83_CI ) ;
  275. assert( (*lpLFNParse)( psz83I3, NULL, NULL ) == FILE_83_CI ) ;
  276. assert( (*lpLFNParse)( psz83I4, NULL, NULL ) == FILE_83_CI ) ;
  277. assert( (*lpLFNParse)( psz83I5, NULL, NULL ) == FILE_83_CI ) ;
  278. assert( (*lpLFNParse)( psz83I6, NULL, NULL ) == FILE_83_CI ) ;
  279. assert( (*lpLFNParse)( psz83I7, NULL, NULL ) == FILE_83_CI ) ;
  280. assert( (*lpLFNParse)( psz83I8, NULL, NULL ) == FILE_83_CI ) ;
  281. assert( (*lpLFNParse)( psz83I9, NULL, NULL ) == FILE_83_CI ) ;
  282. assert( (*lpLFNParse)( psz83IA, NULL, NULL ) == FILE_83_CI ) ;
  283. assert( (*lpLFNParse)( psz83IB, NULL, NULL ) == FILE_83_CI ) ;
  284. assert( (*lpLFNParse)( psz83IC, NULL, NULL ) == FILE_83_CI ) ;
  285. assert( (*lpLFNParse)( psz83ID, NULL, NULL ) == FILE_83_CI ) ;
  286. assert( (*lpLFNParse)( psz83IE, NULL, NULL ) == FILE_83_CI ) ;
  287. assert( (*lpLFNParse)( psz83IF, NULL, NULL ) == FILE_83_CI ) ;
  288. assert( (*lpLFNParse)( psz83IG, NULL, NULL ) == FILE_83_CI ) ;
  289. assert( (*lpLFNParse)( psz83IH, NULL, NULL ) == FILE_83_CI ) ;
  290. assert( (*lpLFNParse)( psz83II, NULL, NULL ) == FILE_83_CI ) ;
  291. assert( (*lpLFNParse)( psz83IJ, NULL, NULL ) == FILE_83_CI ) ;
  292. assert( (*lpLFNParse)( psz83IK, NULL, NULL ) == FILE_83_CI ) ;
  293. assert( (*lpLFNParse)( psz83IL, NULL, NULL ) == FILE_83_CI ) ;
  294. assert( (*lpLFNParse)( psz83IM, NULL, NULL ) == FILE_83_CI ) ;
  295. assert( (*lpLFNParse)( psz83IN, NULL, NULL ) == FILE_83_CI ) ;
  296. assert( (*lpLFNParse)( psz83C1, NULL, NULL ) == FILE_83_CS ) ;
  297. assert( (*lpLFNParse)( psz83C2, NULL, NULL ) == FILE_83_CS ) ;
  298. assert( (*lpLFNParse)( psz83C3, NULL, NULL ) == FILE_83_CS ) ;
  299. assert( (*lpLFNParse)( psz83C4, NULL, NULL ) == FILE_83_CS ) ;
  300. assert( (*lpLFNParse)( psz83C5, NULL, NULL ) == FILE_83_CS ) ;
  301. assert( (*lpLFNParse)( pszLong1, NULL, NULL ) == FILE_LONG ) ;
  302. assert( (*lpLFNParse)( pszLong2, NULL, NULL ) == FILE_LONG ) ;
  303. assert( (*lpLFNParse)( pszLong3, NULL, NULL ) == FILE_LONG ) ;
  304. assert( (*lpLFNParse)( pszLong4, NULL, NULL ) == FILE_LONG ) ;
  305. assert( (*lpLFNParse)( pszLong5, NULL, NULL ) == FILE_LONG ) ;
  306. assert( (*lpLFNParse)( pszLong6, NULL, NULL ) == FILE_LONG ) ;
  307. }
  308. #ifdef NEVER
  309. //*******************************************************************
  310. // Test LFNFindFirst, LFNFindNext & LFNFindClose
  311. {
  312. FILEFINDBUF2 * pFind;
  313. FILEFINDBUF2 buf ;
  314. static char outst[256];
  315. unsigned err, hdir, entries ;
  316. entries = 1 ;
  317. pFind = &buf ;
  318. err = lpLFNFindFirst("H:\\*.*", 0, &entries, &hdir, sizeof(buf), &buf);
  319. if ( err )
  320. {
  321. sprintf(outst, "Error %d from FindFirst (Ret buff = \"%s\")", err, &buf ) ;
  322. MessageBox( NULL, outst, "LFN Test Suite", MB_OK ) ;
  323. }
  324. else
  325. {
  326. sprintf(outst, "Attr = 0x%x, Size = %lu, Name = %s",
  327. pFind->attrFile, pFind->cbFile,
  328. pFind->achName ) ;
  329. MessageBox( NULL, outst, "LFN Test Suite", MB_OK ) ;
  330. }
  331. if ( IDOK == MessageBox( NULL, "LFNFindNext...", "LFN Test Suite", MB_OKCANCEL ) )
  332. {
  333. while ( !err )
  334. {
  335. err = lpLFNFindNext(hdir, &entries, sizeof(buf), &buf);
  336. if ( err )
  337. {
  338. sprintf(outst, "Error %d from FindNext (Ret buff = \"%s\")", err, &buf ) ;
  339. MessageBox( NULL, outst, "LFN Test Suite", MB_OK ) ;
  340. }
  341. else
  342. {
  343. sprintf(outst, "Attr = 0x%x, Size = %lu, Name = %s",
  344. pFind->attrFile, pFind->cbFile,
  345. pFind->achName) ;
  346. if ( IDOK != MessageBox( NULL, outst, "LFN Test Suite", MB_OKCANCEL ) )
  347. break ;
  348. }
  349. }
  350. }
  351. lpLFNFindClose( hdir ) ;
  352. }
  353. #endif //NEVER
  354. //*******************************************************************
  355. // Test Mkdir/Rmdir
  356. {
  357. // Make valid dirs on HPFS partition
  358. assert( !lpLFNMkDir("H:\\LFNTESTDIR.LONG.NAME" ) ) ;
  359. assert( !lpLFNMkDir("H:\\LFNTESTDIR.LONG.NAME\\LEVEL2" ) ) ;
  360. assert( !lpLFNMkDir("H:\\LFNTESTDIR.LONG.NAME\\LEVEL2\\LONGLEVEL3.....A" ) ) ;
  361. MessageBox(NULL, "Directories made on H:", "LFN Test Suite", MB_OK ) ;
  362. assert( !lpLFNRmDir("H:\\LFNTESTDIR.LONG.NAME\\LEVEL2\\LONGLEVEL3.....A" ) ) ;
  363. assert( !lpLFNRmDir("H:\\LFNTESTDIR.LONG.NAME\\LEVEL2" ) ) ;
  364. assert( !lpLFNRmDir("H:\\LFNTESTDIR.LONG.NAME" ) ) ;
  365. // Make invalid dirs on fat partition
  366. assert( lpLFNMkDir("F:\\LFNTESTDIR.LONG.NAME" ) ) ;
  367. MessageBox(NULL, "Attempted to make long Directories on F:", "LFN Test Suite", MB_OK ) ;
  368. assert( lpLFNRmDir("F:\\LFNTESTDIR.LONG.NAME" ) ) ;
  369. // Make valid dirs on FAT partition
  370. assert( !lpLFNMkDir("F:\\LFNTEST.NAM" ) ) ;
  371. assert( !lpLFNMkDir("F:\\LFNTEST.NAM\\LEVEL2" ) ) ;
  372. MessageBox(NULL, "Directories made on F:", "LFN Test Suite", MB_OK ) ;
  373. assert( !lpLFNRmDir("F:\\LFNTEST.NAM\\LEVEL2" ) ) ;
  374. assert( !lpLFNRmDir("F:\\LFNTEST.NAM" ) ) ;
  375. }
  376. MessageBox( NULL, "Done", "LFN Test Suite", MB_OK ) ;
  377. return 0 ;
  378. }