int main() { RTTEST hTest; int rc = RTTestInitAndCreate("tstRTTemp", &hTest); if (rc) return rc; RTTestBanner(hTest); /* * Get the temp directory (this is essential to the testcase). */ RTTESTI_CHECK_RC(rc = RTPathTemp(g_szTempPath, sizeof(g_szTempPath)), VINF_SUCCESS); if (RT_FAILURE(rc)) return RTTestSummaryAndDestroy(hTest); /* * Create N temporary directories using RTDirCreateTemp. */ tstDirCreateTemp("RTDirCreateTemp #1 (standard)", "rtRTTemp-XXXXXX", 128, false /*fSkipXCheck*/); tstDirCreateTemp("RTDirCreateTemp #2 (long)", "rtRTTemp-XXXXXXXXXXXXXXXXX", 128, false /*fSkipXCheck*/); tstDirCreateTemp("RTDirCreateTemp #3 (short)", "rtRTTemp-XX", 128, false /*fSkipXCheck*/); tstDirCreateTemp("RTDirCreateTemp #4 (very short)", "rtRTTemp-X", 26+10, false /*fSkipXCheck*/); tstDirCreateTemp("RTDirCreateTemp #5 (in-name)", "rtRTTemp-XXXt", 2, false /*fSkipXCheck*/); tstDirCreateTemp("RTDirCreateTemp #6 (in-name)", "XXX-rtRTTemp", 2, false /*fSkipXCheck*/); tstDirCreateTemp("RTDirCreateTemp #7 (in-name)", "rtRTTemp-XXXXXXXXX.tmp", 128, false /*fSkipXCheck*/); tstDirCreateTemp("RTDirCreateTemp #8 (in-name)", "rtRTTemp-XXXXXXX-X.tmp", 128, true /*fSkipXCheck*/); tstDirCreateTemp("RTDirCreateTemp #9 (in-name)", "rtRTTemp-XXXXXX-XX.tmp", 128, true /*fSkipXCheck*/); /* * Summary. */ return RTTestSummaryAndDestroy(hTest); }
static void tstBothCreateTemp(const char *pszSubTest, const char *pszTemplate, RTFMODE fMode, unsigned cTimes, bool fSkipXCheck) { char pszSubTestLong[128]; RTStrPrintf(pszSubTestLong, sizeof(pszSubTestLong), "RTFileCreateTemp %s", pszSubTest); tstFileCreateTemp(pszSubTestLong, pszTemplate, fMode, cTimes, fSkipXCheck); RTStrPrintf(pszSubTestLong, sizeof(pszSubTestLong), "RTDirCreateTemp %s", pszSubTest); tstDirCreateTemp(pszSubTestLong, pszTemplate, fMode, cTimes, fSkipXCheck); }