Changeset 76878 in vbox for trunk/src/VBox/ValidationKit/utils/fs
- Timestamp:
- Jan 18, 2019 10:15:56 AM (6 years ago)
- svn:sync-xref-src-repo-rev:
- 128246
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/ValidationKit/utils/fs/FsPerf.cpp
r76873 r76878 150 150 151 151 152 /** @def FSPERF_VERR_PATH_NOT_FOUND 153 * Hides the fact that we only get VERR_PATH_NOT_FOUND on non-unix systems. */ 154 #if defined(RT_OS_WINDOWS) //|| defined(RT_OS_OS2) - using posix APIs IIRC, so lost in translation. 155 # define FSPERF_VERR_PATH_NOT_FOUND VERR_PATH_NOT_FOUND 156 #else 157 # define FSPERF_VERR_PATH_NOT_FOUND VERR_FILE_NOT_FOUND 158 #endif 159 160 152 161 /********************************************************************************************************************************* 153 162 * Structures and Typedefs * … … 374 383 DECLINLINE(char *) InDir(const char *pszAppend, size_t cchAppend) 375 384 { 385 Assert(g_szDir[g_cchDir - 1] == RTPATH_SLASH); 376 386 memcpy(&g_szDir[g_cchDir], pszAppend, cchAppend); 377 387 g_szDir[g_cchDir + cchAppend] = '\0'; … … 389 399 DECLINLINE(char *) InEmptyDir(const char *pszAppend, size_t cchAppend) 390 400 { 401 Assert(g_szEmptyDir[g_cchEmptyDir - 1] == RTPATH_SLASH); 391 402 memcpy(&g_szEmptyDir[g_cchEmptyDir], pszAppend, cchAppend); 392 403 g_szEmptyDir[g_cchEmptyDir + cchAppend] = '\0'; … … 404 415 DECLINLINE(char *) InDeepDir(const char *pszAppend, size_t cchAppend) 405 416 { 417 Assert(g_szDeepDir[g_cchDeepDir - 1] == RTPATH_SLASH); 406 418 memcpy(&g_szDeepDir[g_cchDeepDir], pszAppend, cchAppend); 407 419 g_szDeepDir[g_cchDeepDir + cchAppend] = '\0'; … … 542 554 RTFILE_O_OPEN | RTFILE_O_DENY_NONE | RTFILE_O_READ), VERR_FILE_NOT_FOUND); 543 555 RTTESTI_CHECK_RC(RTFileOpen(&hFile, InEmptyDir(RT_STR_TUPLE("no-such-dir" RTPATH_SLASH_STR "no-such-file")), 544 RTFILE_O_OPEN | RTFILE_O_DENY_NONE | RTFILE_O_READ), VERR_PATH_NOT_FOUND);556 RTFILE_O_OPEN | RTFILE_O_DENY_NONE | RTFILE_O_READ), FSPERF_VERR_PATH_NOT_FOUND); 545 557 546 558 /* … … 647 659 &ObjInfo, RTFSOBJATTRADD_NOTHING, RTPATH_F_ON_LINK), VERR_FILE_NOT_FOUND); 648 660 RTTESTI_CHECK_RC(RTPathQueryInfoEx(InEmptyDir(RT_STR_TUPLE("no-such-dir" RTPATH_SLASH_STR "no-such-file")), 649 &ObjInfo, RTFSOBJATTRADD_NOTHING, RTPATH_F_ON_LINK), VERR_PATH_NOT_FOUND);661 &ObjInfo, RTFSOBJATTRADD_NOTHING, RTPATH_F_ON_LINK), FSPERF_VERR_PATH_NOT_FOUND); 650 662 651 663 /* Shallow: */ … … 688 700 VERR_FILE_NOT_FOUND); 689 701 RTTESTI_CHECK_RC(RTPathSetMode(InEmptyDir(RT_STR_TUPLE("no-such-dir" RTPATH_SLASH_STR "no-such-file")), 0665), 690 VERR_PATH_NOT_FOUND);702 FSPERF_VERR_PATH_NOT_FOUND); 691 703 692 704 /* Shallow: */ … … 733 745 RTTESTI_CHECK_RC(RTPathSetTimesEx(InEmptyDir(RT_STR_TUPLE("no-such-dir" RTPATH_SLASH_STR "no-such-file")), 734 746 NULL, &Time1, NULL, NULL, RTPATH_F_ON_LINK), 735 VERR_PATH_NOT_FOUND);747 FSPERF_VERR_PATH_NOT_FOUND); 736 748 737 749 /* Shallow: */ … … 800 812 strcpy(szPath, InEmptyDir(RT_STR_TUPLE("no-such-dir" RTPATH_SLASH_STR "other-no-such-file"))); 801 813 RTTESTI_CHECK_RC(RTPathRename(InEmptyDir(RT_STR_TUPLE("no-such-dir" RTPATH_SLASH_STR "no-such-file")), szPath, 0), 802 VERR_PATH_NOT_FOUND);814 FSPERF_VERR_PATH_NOT_FOUND); 803 815 804 816 RTFILE hFile1; … … 807 819 RTTESTI_CHECK_RC(RTFileClose(hFile1), VINF_SUCCESS); 808 820 strcat(strcpy(szPath, g_szDir), "-no-such-dir" RTPATH_SLASH_STR "file16"); 809 RTTESTI_CHECK_RC(RTPathRename(szPath, g_szDir, 0), VERR_PATH_NOT_FOUND);810 RTTESTI_CHECK_RC(RTPathRename(g_szDir, szPath, 0), VERR_PATH_NOT_FOUND);821 RTTESTI_CHECK_RC(RTPathRename(szPath, g_szDir, 0), FSPERF_VERR_PATH_NOT_FOUND); 822 RTTESTI_CHECK_RC(RTPathRename(g_szDir, szPath, 0), FSPERF_VERR_PATH_NOT_FOUND); 811 823 812 824 /* Shallow: */ … … 969 981 /* Non-existing directories: */ 970 982 RTTESTI_CHECK_RC(RTDirRemove(InEmptyDir(RT_STR_TUPLE("no-such-dir"))), VERR_FILE_NOT_FOUND); 971 RTTESTI_CHECK_RC(RTDirRemove(InEmptyDir(RT_STR_TUPLE("no-such-dir" RTPATH_SLASH_STR "no-such-file"))), VERR_PATH_NOT_FOUND); 972 RTTESTI_CHECK_RC(RTDirCreate(InEmptyDir(RT_STR_TUPLE("no-such-dir" RTPATH_SLASH_STR "no-such-file")), 0755, 0), VERR_PATH_NOT_FOUND); 983 RTTESTI_CHECK_RC(RTDirRemove(InEmptyDir(RT_STR_TUPLE("no-such-dir" RTPATH_SLASH_STR "no-such-file"))), FSPERF_VERR_PATH_NOT_FOUND); 984 RTTESTI_CHECK_RC(RTDirCreate(InEmptyDir(RT_STR_TUPLE("no-such-dir" RTPATH_SLASH_STR "no-such-file")), 0755, 0), FSPERF_VERR_PATH_NOT_FOUND); 985 986 /** @todo check what happens if non-final path component isn't a directory. unix 987 * should return ENOTDIR and IPRT translates that to VERR_PATH_NOT_FOUND. 988 * Curious what happens on windows. */ 973 989 974 990 /* Already existing directories and files: */ … … 977 993 978 994 /* Remove directory with subdirectories: */ 995 #if defined(RT_OS_WINDOWS) 979 996 RTTESTI_CHECK_RC(RTDirRemove(InDir(RT_STR_TUPLE("."))), VERR_DIR_NOT_EMPTY); 997 #else 998 RTTESTI_CHECK_RC(RTDirRemove(InDir(RT_STR_TUPLE("."))), VERR_INVALID_PARAMETER); /* EINVAL for '.' */ 999 #endif 1000 RTTESTI_CHECK_RC(RTDirRemove(InDir(RT_STR_TUPLE(".."))), VERR_DIR_NOT_EMPTY); 1001 RTTESTI_CHECK_RC(RTDirRemove(InDir(RT_STR_TUPLE(""))), VERR_DIR_NOT_EMPTY); 980 1002 981 1003 /* Create a directory and remove it: */ … … 991 1013 RTTESTI_CHECK_RC(RTDirCreate(g_szDir, 0755, 0), VERR_ALREADY_EXISTS); 992 1014 RTTESTI_CHECK_RC(RTDirCreate(InDir(RT_STR_TUPLE("file18" RTPATH_SLASH_STR "subdir")), 0755, 0), VERR_PATH_NOT_FOUND); 993 994 1015 995 1016 /* … … 1065 1086 /* Non-existing files. */ 1066 1087 RTTESTI_CHECK_RC(RTFileDelete(InEmptyDir(RT_STR_TUPLE("no-such-file"))), VERR_FILE_NOT_FOUND); 1067 RTTESTI_CHECK_RC(RTFileDelete(InEmptyDir(RT_STR_TUPLE("no-such-dir" RTPATH_SLASH_STR "no-such-file"))), VERR_PATH_NOT_FOUND);1088 RTTESTI_CHECK_RC(RTFileDelete(InEmptyDir(RT_STR_TUPLE("no-such-dir" RTPATH_SLASH_STR "no-such-file"))), FSPERF_VERR_PATH_NOT_FOUND); 1068 1089 1069 1090 /* Directories: */ 1070 #ifdef RT_OS_WINDOWS1071 1091 RTTESTI_CHECK_RC(RTFileDelete(InEmptyDir(RT_STR_TUPLE("."))), VERR_ACCESS_DENIED); 1072 #else 1073 RTTESTI_CHECK_RC(RTFileDelete(InEmptyDir(RT_STR_TUPLE("."))), VERR_IS_A_DIRECTORY); 1074 #endif 1092 RTTESTI_CHECK_RC(RTFileDelete(InEmptyDir(RT_STR_TUPLE(".."))), VERR_ACCESS_DENIED); 1093 RTTESTI_CHECK_RC(RTFileDelete(InEmptyDir(RT_STR_TUPLE(""))), VERR_ACCESS_DENIED); 1075 1094 1076 1095 /* Shallow: */ … … 1278 1297 { VINF_SUCCESS, RTFILE_SEEK_END, -(int64_t)cbFile/2, cbFile / 2 + (cbFile & 1) }, 1279 1298 { VINF_SUCCESS, RTFILE_SEEK_CURRENT, -(int64_t)cbFile/2, 0 }, 1299 #if defined(RT_OS_WINDOWS) 1280 1300 { VERR_NEGATIVE_SEEK, RTFILE_SEEK_CURRENT, -1, 0 }, 1301 #else 1302 { VERR_INVALID_PARAMETER, RTFILE_SEEK_CURRENT, -1, 0 }, 1303 #endif 1281 1304 { VINF_SUCCESS, RTFILE_SEEK_CURRENT, 0, 0 }, 1282 1305 }; … … 1735 1758 if (RT_SUCCESS(rc)) 1736 1759 { 1760 g_szEmptyDir[g_cchEmptyDir++] = RTPATH_SLASH; 1761 g_szEmptyDir[g_cchEmptyDir] = '\0'; 1737 1762 RTTestIPrintf(RTTESTLVL_ALWAYS, "Empty dir: %s\n", g_szEmptyDir); 1738 1763
Note:
See TracChangeset
for help on using the changeset viewer.