Changeset 57637 in vbox
- Timestamp:
- Sep 7, 2015 10:58:06 AM (9 years ago)
- File:
-
- 1 edited
-
trunk/src/VBox/Runtime/testcase/tstRTVfs.cpp (modified) (4 diffs)
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/Runtime/testcase/tstRTVfs.cpp
r57610 r57637 40 40 *********************************************************************************************************************************/ 41 41 42 static const char * standardHandleToString(RTHANDLESTD enmHandle)42 static const char *StandardHandleToString(RTHANDLESTD enmHandle) 43 43 { 44 44 switch (enmHandle) … … 53 53 } 54 54 55 static inttstVfsIoFromStandardHandle(RTTEST hTest, RTHANDLESTD enmHandle)55 static void tstVfsIoFromStandardHandle(RTTEST hTest, RTHANDLESTD enmHandle) 56 56 { 57 RTTest Printf(hTest, RTTESTLVL_SUB_TEST, "Testing: %s\n", standardHandleToString(enmHandle));57 RTTestSubF(hTest, "RTVfsIoStrmFromStdHandle(%s)", StandardHandleToString(enmHandle)); 58 58 59 RTVFSIOSTREAM hVfs = NIL_RTVFSIOSTREAM;60 int rc = RTVfsIoStrmFromStdHandle(enmHandle, 0, true /*fLeaveOpen*/, &hVfs );59 RTVFSIOSTREAM hVfsIos = NIL_RTVFSIOSTREAM; 60 int rc = RTVfsIoStrmFromStdHandle(enmHandle, 0, true /*fLeaveOpen*/, &hVfsIos); 61 61 if (RT_SUCCESS(rc)) 62 62 { 63 bool fOutput = enmHandle == RTHANDLESTD_OUTPUT64 || enmHandle == RTHANDLESTD_ERROR;63 bool fOutput = enmHandle == RTHANDLESTD_OUTPUT 64 || enmHandle == RTHANDLESTD_ERROR; 65 65 if (fOutput) 66 66 { 67 RTTestPrintf(hTest, RTTESTLVL_SUB_TEST, "Output for %s:\n", standardHandleToString(enmHandle)); 68 69 char *pszBufWritten; 70 int cchBuf = RTStrAPrintf(&pszBufWritten, "Testing %s\n", standardHandleToString(enmHandle)); 71 Assert(cchBuf); 72 AssertPtr(pszBufWritten); 67 char szTmp[80]; 68 size_t cchTmp = RTStrPrintf(szTmp, sizeof(szTmp), "Test output to %s\n", StandardHandleToString(enmHandle)); 73 69 74 70 size_t cbWritten; 75 rc = RTVfsIoStrmWrite(hVfs, pszBufWritten, strlen(pszBufWritten), true /*fBlocking*/, &cbWritten);71 RTTESTI_CHECK_RC(rc = RTVfsIoStrmWrite(hVfsIos, szTmp, cchTmp, true /*fBlocking*/, &cbWritten), VINF_SUCCESS); 76 72 if (RT_SUCCESS(rc)) 77 { 78 rc = cbWritten == strlen(pszBufWritten) ? VINF_SUCCESS : VERR_NOT_EQUAL; 79 /** @todo Compare written + read output. */ 80 } 81 82 RTStrFree(pszBufWritten); 73 RTTESTI_CHECK(cbWritten == cchTmp); 83 74 } 84 75 else … … 86 77 87 78 } 79 80 uint32_t cRefs = RTVfsIoStrmRelease(hVfsIos); 81 RTTESTI_CHECK_MSG(cRefs == 0, ("cRefs=%#x\n", cRefs)); 88 82 } 89 83 else 90 RTTest Printf(hTest, RTTESTLVL_ALWAYS, "Error creating VFS I/O stream for %s: %Rrc\n",91 standardHandleToString(enmHandle), rc); 84 RTTestFailed(hTest, "Error creating VFS I/O stream for %s: %Rrc\n", StandardHandleToString(enmHandle), rc); 85 } 92 86 93 87 94 if (RT_FAILURE(rc))95 RTTestFailed(hTest, "Testing %s failed: %Rrc\n", standardHandleToString(enmHandle), rc);96 97 return rc;98 }99 88 100 89 int main(int argc, char **argv) … … 109 98 RTTestBanner(hTest); 110 99 111 do 112 { 113 rc = tstVfsIoFromStandardHandle(hTest, RTHANDLESTD_INPUT); 114 RTTESTI_CHECK_BREAK(rc == VINF_SUCCESS); 115 116 rc = tstVfsIoFromStandardHandle(hTest, RTHANDLESTD_OUTPUT); 117 RTTESTI_CHECK_BREAK(rc == VINF_SUCCESS); 118 119 rc = tstVfsIoFromStandardHandle(hTest, RTHANDLESTD_ERROR); 120 RTTESTI_CHECK_BREAK(rc == VINF_SUCCESS); 121 122 } while (0); 100 //tstVfsIoFromStandardHandle(hTest, RTHANDLESTD_INPUT); 101 tstVfsIoFromStandardHandle(hTest, RTHANDLESTD_OUTPUT); 102 tstVfsIoFromStandardHandle(hTest, RTHANDLESTD_ERROR); 123 103 124 104 /*
Note:
See TracChangeset
for help on using the changeset viewer.

