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.

1181 lines
38 KiB

  1. /* /////////////////////////////////////////////////////////////////////////
  2. * File: test/unit/test.unit.bec.fprintf/test.unit.bec.fprintf.cpp
  3. *
  4. * Purpose: Implementation file for the test.unit.be.file project.
  5. *
  6. * Created: 3rd August 2008
  7. * Updated: 22nd March 2010
  8. *
  9. * Status: Wizard-generated
  10. *
  11. * License: (Licensed under the Synesis Software Open License)
  12. *
  13. * Copyright (c) 2008-2010, Synesis Software Pty Ltd.
  14. * All rights reserved.
  15. *
  16. * www: http://www.synesis.com.au/software
  17. *
  18. * ////////////////////////////////////////////////////////////////////// */
  19. #include <pantheios/util/test/compiler_warnings_suppression.first_include.h>
  20. /* Pantheios Header Files */
  21. #include <pantheios/backends/bec.fprintf.h>
  22. #include <pantheios/init_codes.h>
  23. #include <pantheios/util/system/threadid.h>
  24. /* STLSoft Header Files */
  25. #include <stlsoft/conversion/char_conversions.hpp>
  26. #include <stlsoft/conversion/integer_to_string.hpp>
  27. #include <platformstl/filesystem/file_lines.hpp>
  28. /* xTests Header Files */
  29. #include <xtests/xtests.h>
  30. /* Standard C++ Header Files */
  31. #include <exception> // for std::exception
  32. #include <new> // for std::bad_alloc
  33. /* Standard C Header Files */
  34. #include <stdio.h> // for fprintf(), remove()
  35. #include <stdlib.h> // for exit codes
  36. #include <pantheios/util/test/compiler_warnings_suppression.last_include.h>
  37. /* /////////////////////////////////////////////////////////////////////////
  38. * Constants and definitions
  39. */
  40. namespace
  41. {
  42. const char STDERR_FILE_NAME[] = "stderr.txt";
  43. } // anonymous namespace
  44. /* /////////////////////////////////////////////////////////////////////////
  45. * Macros
  46. */
  47. #define PANTHEIOS_SEV_LEVELS_EQUAL(x, y) XTESTS_TEST_INTEGER_EQUAL(static_cast<int>(x), static_cast<int>(y))
  48. /* /////////////////////////////////////////////////////////////////////////
  49. * Typedefs
  50. */
  51. typedef std::basic_string<PAN_CHAR_T> string_t;
  52. typedef platformstl::basic_file_lines<char> lines_t;
  53. /* /////////////////////////////////////////////////////////////////////////
  54. * Character encoding
  55. */
  56. #ifdef PANTHEIOS_USE_WIDE_STRINGS
  57. # define XTESTS_TEST_STRING_EQUAL XTESTS_TEST_WIDE_STRING_EQUAL
  58. # define PGET_(x) string_t(stlsoft::m2w(x).c_str())
  59. #else /* ? PANTHEIOS_USE_WIDE_STRINGS */
  60. # define XTESTS_TEST_STRING_EQUAL XTESTS_TEST_MULTIBYTE_STRING_EQUAL
  61. # define PGET_(x) (x)
  62. #endif /* PANTHEIOS_USE_WIDE_STRINGS */
  63. #ifdef PSTR
  64. # undef PSTR
  65. #endif
  66. #define PSTR(x) PANTHEIOS_LITERAL_STRING(x)
  67. //#define PSTR(x) x
  68. /* /////////////////////////////////////////////////////////////////////////
  69. * Globals
  70. */
  71. PANTHEIOS_EXTERN_C const PAN_CHAR_T PANTHEIOS_FE_PROCESS_IDENTITY[] = PANTHEIOS_LITERAL_STRING("test.unit.be.file");
  72. /* /////////////////////////////////////////////////////////////////////////
  73. * Forward declarations
  74. */
  75. namespace
  76. {
  77. static void test_1_00();
  78. static void test_1_01();
  79. static void test_1_02();
  80. static void test_1_03();
  81. static void test_1_04();
  82. static void test_1_05();
  83. static void test_1_06();
  84. static void test_1_07();
  85. static void test_1_08();
  86. static void test_1_09();
  87. static void test_1_0a();
  88. static void test_1_0b();
  89. static void test_1_0c();
  90. static void test_1_0d();
  91. static void test_1_0e();
  92. static void test_1_0f();
  93. } // anonymous namespace
  94. /* ////////////////////////////////////////////////////////////////////// */
  95. int main(int argc, char** argv)
  96. {
  97. int retCode = EXIT_SUCCESS;
  98. int verbosity = 2;
  99. XTESTS_COMMANDLINE_PARSEVERBOSITY(argc, argv, &verbosity);
  100. if(XTESTS_START_RUNNER_WITH_STREAM("test.unit.be.file", verbosity, stdout))
  101. {
  102. XTESTS_RUN_CASE(test_1_00);
  103. XTESTS_RUN_CASE(test_1_01);
  104. XTESTS_RUN_CASE(test_1_02);
  105. XTESTS_RUN_CASE(test_1_03);
  106. XTESTS_RUN_CASE(test_1_04);
  107. XTESTS_RUN_CASE(test_1_05);
  108. XTESTS_RUN_CASE(test_1_06);
  109. XTESTS_RUN_CASE(test_1_07);
  110. XTESTS_RUN_CASE(test_1_08);
  111. XTESTS_RUN_CASE(test_1_09);
  112. XTESTS_RUN_CASE(test_1_0a);
  113. XTESTS_RUN_CASE(test_1_0b);
  114. XTESTS_RUN_CASE(test_1_0c);
  115. XTESTS_RUN_CASE(test_1_0d);
  116. XTESTS_RUN_CASE(test_1_0e);
  117. XTESTS_RUN_CASE(test_1_0f);
  118. XTESTS_PRINT_RESULTS();
  119. XTESTS_END_RUNNER_UPDATE_EXITCODE(&retCode);
  120. }
  121. return retCode;
  122. }
  123. /* ////////////////////////////////////////////////////////////////////// */
  124. namespace
  125. {
  126. static FILE* reopen_file(char const* fileName, char const* mode, FILE* stm)
  127. {
  128. #ifdef STLSOFT_USING_SAFE_STR_FUNCTIONS
  129. FILE* f;
  130. if(0 != ::freopen_s(&f, fileName, mode, stm))
  131. {
  132. f = NULL;
  133. }
  134. #else /* ? STLSOFT_USING_SAFE_STR_FUNCTIONS */
  135. FILE* f = ::freopen(fileName, mode, stm);
  136. #endif /* STLSOFT_USING_SAFE_STR_FUNCTIONS */
  137. return f;
  138. }
  139. static string_t gettidstr_()
  140. {
  141. PAN_CHAR_T num[21];
  142. size_t n;// = 0; STLSOFT_SUPPRESS_UNUSED(n); // Suppress Borland C/C++ warning (which is correct)
  143. PAN_CHAR_T const* p = stlsoft::integer_to_string(&num[0], STLSOFT_NUM_ELEMENTS(num), pantheios::util::getCurrentThreadId(), n);
  144. return string_t(p, n);
  145. }
  146. static PAN_CHAR_T const* strings[] =
  147. {
  148. PANTHEIOS_LITERAL_STRING("abc")
  149. , PANTHEIOS_LITERAL_STRING("ABC")
  150. , PANTHEIOS_LITERAL_STRING("abcdefghijklmnopqrstuvwxyz")
  151. , PANTHEIOS_LITERAL_STRING("ABCDEFGHIJKLMNOPQRSTUVWXYZ")
  152. , PANTHEIOS_LITERAL_STRING("abcdefghijklmnopqrstuvwxyz0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789")
  153. , PANTHEIOS_LITERAL_STRING("abcdefghijklmnopqrstuvwxyz0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789abcdefghijklmnopqrstuvwxyz0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789")
  154. , PANTHEIOS_LITERAL_STRING("00000000000000000000000000000000000000000000000000000000000000000000001111111111111111111111111111111111111111111111111111111111222222222222222222222222222222222222222223333333333333333333333333")
  155. };
  156. static void test_1_00()
  157. {
  158. pan_be_fprintf_init_t init;
  159. pantheios_be_fprintf_getDefaultAppInit(&init);
  160. init.flags |= 0
  161. | PANTHEIOS_BE_INIT_F_NO_PROCESS_ID
  162. | PANTHEIOS_BE_INIT_F_NO_THREAD_ID
  163. | PANTHEIOS_BE_INIT_F_NO_DATETIME
  164. | PANTHEIOS_BE_INIT_F_NO_SEVERITY
  165. ;
  166. void* token;
  167. int res = pantheios_be_fprintf_init(PANTHEIOS_FE_PROCESS_IDENTITY, PANTHEIOS_BEID_ALL, &init, NULL, &token);
  168. if(PANTHEIOS_INIT_RC_SUCCESS != res)
  169. {
  170. XTESTS_FAIL_WITH_QUALIFIER("failed to initialise bec.fprintf", pantheios::getInitErrorString(res));
  171. }
  172. else
  173. {
  174. stlsoft::scoped_handle<void*> uninit_(token, pantheios_be_fprintf_uninit);
  175. // create the output file
  176. FILE* f = reopen_file(STDERR_FILE_NAME, "w", stderr);
  177. if(NULL == f)
  178. {
  179. XTESTS_FAIL_WITH_QUALIFIER("failed to reopen standard output stream", strerror(errno));
  180. }
  181. else
  182. {
  183. { for(size_t i = 0; i != STLSOFT_NUM_ELEMENTS(strings); ++i)
  184. {
  185. pantheios_be_fprintf_logEntry(NULL, token, PANTHEIOS_SEV_ERROR, strings[i], stlsoft::c_str_len(strings[i]));
  186. }}
  187. ::fclose(f);
  188. // close the output file
  189. lines_t lines(STDERR_FILE_NAME);
  190. string_t const resultPrefix = PSTR("");
  191. ::remove(STDERR_FILE_NAME);
  192. // Start the tests
  193. XTESTS_REQUIRE(XTESTS_TEST_INTEGER_EQUAL(STLSOFT_NUM_ELEMENTS(strings), lines.size()));
  194. if(STLSOFT_NUM_ELEMENTS(strings) == lines.size())
  195. {
  196. { for(size_t i = 0; i != STLSOFT_NUM_ELEMENTS(strings); ++i)
  197. {
  198. XTESTS_TEST_STRING_EQUAL((resultPrefix + strings[i]), PGET_(lines[i]));
  199. }}
  200. }
  201. }
  202. }
  203. }
  204. static void test_1_01()
  205. {
  206. pan_be_fprintf_init_t init;
  207. pantheios_be_fprintf_getDefaultAppInit(&init);
  208. init.flags |= 0
  209. // | PANTHEIOS_BE_INIT_F_NO_PROCESS_ID
  210. | PANTHEIOS_BE_INIT_F_NO_THREAD_ID
  211. | PANTHEIOS_BE_INIT_F_NO_DATETIME
  212. | PANTHEIOS_BE_INIT_F_NO_SEVERITY
  213. ;
  214. void* token;
  215. int res = pantheios_be_fprintf_init(PANTHEIOS_FE_PROCESS_IDENTITY, PANTHEIOS_BEID_ALL, &init, NULL, &token);
  216. if(PANTHEIOS_INIT_RC_SUCCESS != res)
  217. {
  218. XTESTS_FAIL_WITH_QUALIFIER("failed to initialise bec.fprintf", pantheios::getInitErrorString(res));
  219. }
  220. else
  221. {
  222. stlsoft::scoped_handle<void*> uninit_(token, pantheios_be_fprintf_uninit);
  223. // create the output file
  224. FILE* f = reopen_file(STDERR_FILE_NAME, "w", stderr);
  225. if(NULL == f)
  226. {
  227. XTESTS_FAIL_WITH_QUALIFIER("failed to reopen standard output stream", strerror(errno));
  228. }
  229. else
  230. {
  231. { for(size_t i = 0; i != STLSOFT_NUM_ELEMENTS(strings); ++i)
  232. {
  233. pantheios_be_fprintf_logEntry(NULL, token, PANTHEIOS_SEV_ERROR, strings[i], stlsoft::c_str_len(strings[i]));
  234. }}
  235. ::fclose(f);
  236. // close the output file
  237. lines_t lines(STDERR_FILE_NAME);
  238. string_t const resultPrefix = PSTR("[") + string_t(PANTHEIOS_FE_PROCESS_IDENTITY) + PSTR("]: ");
  239. ::remove(STDERR_FILE_NAME);
  240. // Start the tests
  241. XTESTS_REQUIRE(XTESTS_TEST_INTEGER_EQUAL(STLSOFT_NUM_ELEMENTS(strings), lines.size()));
  242. if(STLSOFT_NUM_ELEMENTS(strings) == lines.size())
  243. {
  244. { for(size_t i = 0; i != STLSOFT_NUM_ELEMENTS(strings); ++i)
  245. {
  246. XTESTS_TEST_STRING_EQUAL((resultPrefix + strings[i]), PGET_(lines[i]));
  247. }}
  248. }
  249. }
  250. }
  251. }
  252. static void test_1_02()
  253. {
  254. pan_be_fprintf_init_t init;
  255. pantheios_be_fprintf_getDefaultAppInit(&init);
  256. init.flags |= 0
  257. | PANTHEIOS_BE_INIT_F_NO_PROCESS_ID
  258. // | PANTHEIOS_BE_INIT_F_NO_THREAD_ID
  259. | PANTHEIOS_BE_INIT_F_NO_DATETIME
  260. | PANTHEIOS_BE_INIT_F_NO_SEVERITY
  261. ;
  262. void* token;
  263. int res = pantheios_be_fprintf_init(PANTHEIOS_FE_PROCESS_IDENTITY, PANTHEIOS_BEID_ALL, &init, NULL, &token);
  264. if(PANTHEIOS_INIT_RC_SUCCESS != res)
  265. {
  266. XTESTS_FAIL_WITH_QUALIFIER("failed to initialise bec.fprintf", pantheios::getInitErrorString(res));
  267. }
  268. else
  269. {
  270. stlsoft::scoped_handle<void*> uninit_(token, pantheios_be_fprintf_uninit);
  271. // create the output file
  272. FILE* f = reopen_file(STDERR_FILE_NAME, "w", stderr);
  273. if(NULL == f)
  274. {
  275. XTESTS_FAIL_WITH_QUALIFIER("failed to reopen standard output stream", strerror(errno));
  276. }
  277. else
  278. {
  279. { for(size_t i = 0; i != STLSOFT_NUM_ELEMENTS(strings); ++i)
  280. {
  281. pantheios_be_fprintf_logEntry(NULL, token, PANTHEIOS_SEV_ERROR, strings[i], stlsoft::c_str_len(strings[i]));
  282. }}
  283. ::fclose(f);
  284. // close the output file
  285. lines_t lines(STDERR_FILE_NAME);
  286. string_t const resultPrefix = PSTR("[") + gettidstr_() + PSTR("]: ");
  287. ::remove(STDERR_FILE_NAME);
  288. // Start the tests
  289. XTESTS_REQUIRE(XTESTS_TEST_INTEGER_EQUAL(STLSOFT_NUM_ELEMENTS(strings), lines.size()));
  290. if(STLSOFT_NUM_ELEMENTS(strings) == lines.size())
  291. {
  292. { for(size_t i = 0; i != STLSOFT_NUM_ELEMENTS(strings); ++i)
  293. {
  294. XTESTS_TEST_STRING_EQUAL(resultPrefix + strings[i], PGET_(lines[i]));
  295. }}
  296. }
  297. }
  298. }
  299. }
  300. static void test_1_03()
  301. {
  302. pan_be_fprintf_init_t init;
  303. pantheios_be_fprintf_getDefaultAppInit(&init);
  304. init.flags |= 0
  305. // | PANTHEIOS_BE_INIT_F_NO_PROCESS_ID
  306. // | PANTHEIOS_BE_INIT_F_NO_THREAD_ID
  307. | PANTHEIOS_BE_INIT_F_NO_DATETIME
  308. | PANTHEIOS_BE_INIT_F_NO_SEVERITY
  309. ;
  310. void* token;
  311. int res = pantheios_be_fprintf_init(PANTHEIOS_FE_PROCESS_IDENTITY, PANTHEIOS_BEID_ALL, &init, NULL, &token);
  312. if(PANTHEIOS_INIT_RC_SUCCESS != res)
  313. {
  314. XTESTS_FAIL_WITH_QUALIFIER("failed to initialise bec.fprintf", pantheios::getInitErrorString(res));
  315. }
  316. else
  317. {
  318. stlsoft::scoped_handle<void*> uninit_(token, pantheios_be_fprintf_uninit);
  319. // create the output file
  320. FILE* f = reopen_file(STDERR_FILE_NAME, "w", stderr);
  321. if(NULL == f)
  322. {
  323. XTESTS_FAIL_WITH_QUALIFIER("failed to reopen standard output stream", strerror(errno));
  324. }
  325. else
  326. {
  327. { for(size_t i = 0; i != STLSOFT_NUM_ELEMENTS(strings); ++i)
  328. {
  329. pantheios_be_fprintf_logEntry(NULL, token, PANTHEIOS_SEV_ERROR, strings[i], stlsoft::c_str_len(strings[i]));
  330. }}
  331. ::fclose(f);
  332. // close the output file
  333. lines_t lines(STDERR_FILE_NAME);
  334. string_t const resultPrefix = PSTR("[") + string_t(PANTHEIOS_FE_PROCESS_IDENTITY) + PSTR(".") + gettidstr_() + PSTR("]: ");
  335. ::remove(STDERR_FILE_NAME);
  336. // Start the tests
  337. XTESTS_REQUIRE(XTESTS_TEST_INTEGER_EQUAL(STLSOFT_NUM_ELEMENTS(strings), lines.size()));
  338. if(STLSOFT_NUM_ELEMENTS(strings) == lines.size())
  339. {
  340. { for(size_t i = 0; i != STLSOFT_NUM_ELEMENTS(strings); ++i)
  341. {
  342. XTESTS_TEST_STRING_EQUAL((resultPrefix + strings[i]), PGET_(lines[i]));
  343. }}
  344. }
  345. }
  346. }
  347. }
  348. static void test_1_04()
  349. {
  350. pan_be_fprintf_init_t init;
  351. pantheios_be_fprintf_getDefaultAppInit(&init);
  352. init.flags |= 0
  353. | PANTHEIOS_BE_INIT_F_NO_PROCESS_ID
  354. | PANTHEIOS_BE_INIT_F_NO_THREAD_ID
  355. // | PANTHEIOS_BE_INIT_F_NO_DATETIME
  356. | PANTHEIOS_BE_INIT_F_NO_SEVERITY
  357. ;
  358. void* token;
  359. int res = pantheios_be_fprintf_init(PANTHEIOS_FE_PROCESS_IDENTITY, PANTHEIOS_BEID_ALL, &init, NULL, &token);
  360. if(PANTHEIOS_INIT_RC_SUCCESS != res)
  361. {
  362. XTESTS_FAIL_WITH_QUALIFIER("failed to initialise bec.fprintf", pantheios::getInitErrorString(res));
  363. }
  364. else
  365. {
  366. stlsoft::scoped_handle<void*> uninit_(token, pantheios_be_fprintf_uninit);
  367. // create the output file
  368. FILE* f = reopen_file(STDERR_FILE_NAME, "w", stderr);
  369. if(NULL == f)
  370. {
  371. XTESTS_FAIL_WITH_QUALIFIER("failed to reopen standard output stream", strerror(errno));
  372. }
  373. else
  374. {
  375. { for(size_t i = 0; i != STLSOFT_NUM_ELEMENTS(strings); ++i)
  376. {
  377. pantheios_be_fprintf_logEntry(NULL, token, PANTHEIOS_SEV_ERROR, strings[i], stlsoft::c_str_len(strings[i]));
  378. }}
  379. ::fclose(f);
  380. // close the output file
  381. lines_t lines(STDERR_FILE_NAME);
  382. string_t const resultPrefix = PSTR("[") + string_t(PANTHEIOS_FE_PROCESS_IDENTITY) + PSTR(".") + gettidstr_() + PSTR("]: ");
  383. ::remove(STDERR_FILE_NAME);
  384. // Start the tests
  385. XTESTS_REQUIRE(XTESTS_TEST_INTEGER_EQUAL(STLSOFT_NUM_ELEMENTS(strings), lines.size()));
  386. if(STLSOFT_NUM_ELEMENTS(strings) == lines.size())
  387. {
  388. { for(size_t i = 0; i != STLSOFT_NUM_ELEMENTS(strings); ++i)
  389. {
  390. #if 0
  391. XTESTS_TEST_STRING_EQUAL((resultPrefix + strings[i]), PGET_(lines[i]));
  392. #endif /* 0 */
  393. }}
  394. }
  395. }
  396. }
  397. }
  398. static void test_1_05()
  399. {
  400. pan_be_fprintf_init_t init;
  401. pantheios_be_fprintf_getDefaultAppInit(&init);
  402. init.flags |= 0
  403. // | PANTHEIOS_BE_INIT_F_NO_PROCESS_ID
  404. | PANTHEIOS_BE_INIT_F_NO_THREAD_ID
  405. // | PANTHEIOS_BE_INIT_F_NO_DATETIME
  406. | PANTHEIOS_BE_INIT_F_NO_SEVERITY
  407. ;
  408. void* token;
  409. int res = pantheios_be_fprintf_init(PANTHEIOS_FE_PROCESS_IDENTITY, PANTHEIOS_BEID_ALL, &init, NULL, &token);
  410. if(PANTHEIOS_INIT_RC_SUCCESS != res)
  411. {
  412. XTESTS_FAIL_WITH_QUALIFIER("failed to initialise bec.fprintf", pantheios::getInitErrorString(res));
  413. }
  414. else
  415. {
  416. stlsoft::scoped_handle<void*> uninit_(token, pantheios_be_fprintf_uninit);
  417. // create the output file
  418. FILE* f = reopen_file(STDERR_FILE_NAME, "w", stderr);
  419. if(NULL == f)
  420. {
  421. XTESTS_FAIL_WITH_QUALIFIER("failed to reopen standard output stream", strerror(errno));
  422. }
  423. else
  424. {
  425. { for(size_t i = 0; i != STLSOFT_NUM_ELEMENTS(strings); ++i)
  426. {
  427. pantheios_be_fprintf_logEntry(NULL, token, PANTHEIOS_SEV_ERROR, strings[i], stlsoft::c_str_len(strings[i]));
  428. }}
  429. ::fclose(f);
  430. // close the output file
  431. lines_t lines(STDERR_FILE_NAME);
  432. string_t const resultPrefix = PSTR("[") + string_t(pantheios::getSeverityString(PANTHEIOS_SEV_ERROR)) + PSTR("]: ");
  433. ::remove(STDERR_FILE_NAME);
  434. // Start the tests
  435. XTESTS_REQUIRE(XTESTS_TEST_INTEGER_EQUAL(STLSOFT_NUM_ELEMENTS(strings), lines.size()));
  436. if(STLSOFT_NUM_ELEMENTS(strings) == lines.size())
  437. {
  438. { for(size_t i = 0; i != STLSOFT_NUM_ELEMENTS(strings); ++i)
  439. {
  440. #if 0
  441. XTESTS_TEST_STRING_EQUAL((resultPrefix + strings[i]), PGET_(lines[i]));
  442. #endif /* 0 */
  443. }}
  444. }
  445. }
  446. }
  447. }
  448. static void test_1_06()
  449. {
  450. pan_be_fprintf_init_t init;
  451. pantheios_be_fprintf_getDefaultAppInit(&init);
  452. init.flags |= 0
  453. | PANTHEIOS_BE_INIT_F_NO_PROCESS_ID
  454. // | PANTHEIOS_BE_INIT_F_NO_THREAD_ID
  455. // | PANTHEIOS_BE_INIT_F_NO_DATETIME
  456. | PANTHEIOS_BE_INIT_F_NO_SEVERITY
  457. ;
  458. void* token;
  459. int res = pantheios_be_fprintf_init(PANTHEIOS_FE_PROCESS_IDENTITY, PANTHEIOS_BEID_ALL, &init, NULL, &token);
  460. if(PANTHEIOS_INIT_RC_SUCCESS != res)
  461. {
  462. XTESTS_FAIL_WITH_QUALIFIER("failed to initialise bec.fprintf", pantheios::getInitErrorString(res));
  463. }
  464. else
  465. {
  466. stlsoft::scoped_handle<void*> uninit_(token, pantheios_be_fprintf_uninit);
  467. // create the output file
  468. FILE* f = reopen_file(STDERR_FILE_NAME, "w", stderr);
  469. if(NULL == f)
  470. {
  471. XTESTS_FAIL_WITH_QUALIFIER("failed to reopen standard output stream", strerror(errno));
  472. }
  473. else
  474. {
  475. { for(size_t i = 0; i != STLSOFT_NUM_ELEMENTS(strings); ++i)
  476. {
  477. pantheios_be_fprintf_logEntry(NULL, token, PANTHEIOS_SEV_ERROR, strings[i], stlsoft::c_str_len(strings[i]));
  478. }}
  479. ::fclose(f);
  480. // close the output file
  481. lines_t lines(STDERR_FILE_NAME);
  482. string_t const resultPrefix = PSTR("[") + string_t(pantheios::getSeverityString(PANTHEIOS_SEV_ERROR)) + PSTR("]: ");
  483. ::remove(STDERR_FILE_NAME);
  484. // Start the tests
  485. XTESTS_REQUIRE(XTESTS_TEST_INTEGER_EQUAL(STLSOFT_NUM_ELEMENTS(strings), lines.size()));
  486. if(STLSOFT_NUM_ELEMENTS(strings) == lines.size())
  487. {
  488. { for(size_t i = 0; i != STLSOFT_NUM_ELEMENTS(strings); ++i)
  489. {
  490. #if 0
  491. XTESTS_TEST_STRING_EQUAL((resultPrefix + strings[i]), PGET_(lines[i]));
  492. #endif /* 0 */
  493. }}
  494. }
  495. }
  496. }
  497. }
  498. static void test_1_07()
  499. {
  500. pan_be_fprintf_init_t init;
  501. pantheios_be_fprintf_getDefaultAppInit(&init);
  502. init.flags |= 0
  503. // | PANTHEIOS_BE_INIT_F_NO_PROCESS_ID
  504. // | PANTHEIOS_BE_INIT_F_NO_THREAD_ID
  505. // | PANTHEIOS_BE_INIT_F_NO_DATETIME
  506. | PANTHEIOS_BE_INIT_F_NO_SEVERITY
  507. ;
  508. void* token;
  509. int res = pantheios_be_fprintf_init(PANTHEIOS_FE_PROCESS_IDENTITY, PANTHEIOS_BEID_ALL, &init, NULL, &token);
  510. if(PANTHEIOS_INIT_RC_SUCCESS != res)
  511. {
  512. XTESTS_FAIL_WITH_QUALIFIER("failed to initialise bec.fprintf", pantheios::getInitErrorString(res));
  513. }
  514. else
  515. {
  516. stlsoft::scoped_handle<void*> uninit_(token, pantheios_be_fprintf_uninit);
  517. // create the output file
  518. FILE* f = reopen_file(STDERR_FILE_NAME, "w", stderr);
  519. if(NULL == f)
  520. {
  521. XTESTS_FAIL_WITH_QUALIFIER("failed to reopen standard output stream", strerror(errno));
  522. }
  523. else
  524. {
  525. { for(size_t i = 0; i != STLSOFT_NUM_ELEMENTS(strings); ++i)
  526. {
  527. pantheios_be_fprintf_logEntry(NULL, token, PANTHEIOS_SEV_ERROR, strings[i], stlsoft::c_str_len(strings[i]));
  528. }}
  529. ::fclose(f);
  530. // close the output file
  531. lines_t lines(STDERR_FILE_NAME);
  532. string_t const resultPrefix = PSTR("[") + string_t(pantheios::getSeverityString(PANTHEIOS_SEV_ERROR)) + PSTR("]: ");
  533. ::remove(STDERR_FILE_NAME);
  534. // Start the tests
  535. XTESTS_REQUIRE(XTESTS_TEST_INTEGER_EQUAL(STLSOFT_NUM_ELEMENTS(strings), lines.size()));
  536. if(STLSOFT_NUM_ELEMENTS(strings) == lines.size())
  537. {
  538. { for(size_t i = 0; i != STLSOFT_NUM_ELEMENTS(strings); ++i)
  539. {
  540. #if 0
  541. XTESTS_TEST_STRING_EQUAL((resultPrefix + strings[i]), PGET_(lines[i]));
  542. #endif /* 0 */
  543. }}
  544. }
  545. }
  546. }
  547. }
  548. static void test_1_08()
  549. {
  550. pan_be_fprintf_init_t init;
  551. pantheios_be_fprintf_getDefaultAppInit(&init);
  552. init.flags |= 0
  553. | PANTHEIOS_BE_INIT_F_NO_PROCESS_ID
  554. | PANTHEIOS_BE_INIT_F_NO_THREAD_ID
  555. | PANTHEIOS_BE_INIT_F_NO_DATETIME
  556. // | PANTHEIOS_BE_INIT_F_NO_SEVERITY
  557. ;
  558. void* token;
  559. int res = pantheios_be_fprintf_init(PANTHEIOS_FE_PROCESS_IDENTITY, PANTHEIOS_BEID_ALL, &init, NULL, &token);
  560. if(PANTHEIOS_INIT_RC_SUCCESS != res)
  561. {
  562. XTESTS_FAIL_WITH_QUALIFIER("failed to initialise bec.fprintf", pantheios::getInitErrorString(res));
  563. }
  564. else
  565. {
  566. stlsoft::scoped_handle<void*> uninit_(token, pantheios_be_fprintf_uninit);
  567. // create the output file
  568. FILE* f = reopen_file(STDERR_FILE_NAME, "w", stderr);
  569. if(NULL == f)
  570. {
  571. XTESTS_FAIL_WITH_QUALIFIER("failed to reopen standard output stream", strerror(errno));
  572. }
  573. else
  574. {
  575. { for(size_t i = 0; i != STLSOFT_NUM_ELEMENTS(strings); ++i)
  576. {
  577. pantheios_be_fprintf_logEntry(NULL, token, PANTHEIOS_SEV_ERROR, strings[i], stlsoft::c_str_len(strings[i]));
  578. }}
  579. ::fclose(f);
  580. // close the output file
  581. lines_t lines(STDERR_FILE_NAME);
  582. string_t const resultPrefix = PSTR("[") + string_t(pantheios::getSeverityString(PANTHEIOS_SEV_ERROR)) + PSTR("]: ");
  583. ::remove(STDERR_FILE_NAME);
  584. // Start the tests
  585. XTESTS_REQUIRE(XTESTS_TEST_INTEGER_EQUAL(STLSOFT_NUM_ELEMENTS(strings), lines.size()));
  586. if(STLSOFT_NUM_ELEMENTS(strings) == lines.size())
  587. {
  588. { for(size_t i = 0; i != STLSOFT_NUM_ELEMENTS(strings); ++i)
  589. {
  590. XTESTS_TEST_STRING_EQUAL((resultPrefix + strings[i]), PGET_(lines[i]));
  591. }}
  592. }
  593. }
  594. }
  595. }
  596. static void test_1_09()
  597. {
  598. pan_be_fprintf_init_t init;
  599. pantheios_be_fprintf_getDefaultAppInit(&init);
  600. init.flags |= 0
  601. // | PANTHEIOS_BE_INIT_F_NO_PROCESS_ID
  602. | PANTHEIOS_BE_INIT_F_NO_THREAD_ID
  603. | PANTHEIOS_BE_INIT_F_NO_DATETIME
  604. // | PANTHEIOS_BE_INIT_F_NO_SEVERITY
  605. ;
  606. void* token;
  607. int res = pantheios_be_fprintf_init(PANTHEIOS_FE_PROCESS_IDENTITY, PANTHEIOS_BEID_ALL, &init, NULL, &token);
  608. if(PANTHEIOS_INIT_RC_SUCCESS != res)
  609. {
  610. XTESTS_FAIL_WITH_QUALIFIER("failed to initialise bec.fprintf", pantheios::getInitErrorString(res));
  611. }
  612. else
  613. {
  614. stlsoft::scoped_handle<void*> uninit_(token, pantheios_be_fprintf_uninit);
  615. // create the output file
  616. FILE* f = reopen_file(STDERR_FILE_NAME, "w", stderr);
  617. if(NULL == f)
  618. {
  619. XTESTS_FAIL_WITH_QUALIFIER("failed to reopen standard output stream", strerror(errno));
  620. }
  621. else
  622. {
  623. { for(size_t i = 0; i != STLSOFT_NUM_ELEMENTS(strings); ++i)
  624. {
  625. pantheios_be_fprintf_logEntry(NULL, token, PANTHEIOS_SEV_ERROR, strings[i], stlsoft::c_str_len(strings[i]));
  626. }}
  627. ::fclose(f);
  628. // close the output file
  629. lines_t lines(STDERR_FILE_NAME);
  630. string_t const resultPrefix = PSTR("[") + string_t(PANTHEIOS_FE_PROCESS_IDENTITY) + PSTR("; ") + string_t(pantheios::getSeverityString(PANTHEIOS_SEV_ERROR)) + PSTR("]: ");
  631. ::remove(STDERR_FILE_NAME);
  632. // Start the tests
  633. XTESTS_REQUIRE(XTESTS_TEST_INTEGER_EQUAL(STLSOFT_NUM_ELEMENTS(strings), lines.size()));
  634. if(STLSOFT_NUM_ELEMENTS(strings) == lines.size())
  635. {
  636. { for(size_t i = 0; i != STLSOFT_NUM_ELEMENTS(strings); ++i)
  637. {
  638. XTESTS_TEST_STRING_EQUAL((resultPrefix + strings[i]), PGET_(lines[i]));
  639. }}
  640. }
  641. }
  642. }
  643. }
  644. static void test_1_0a()
  645. {
  646. pan_be_fprintf_init_t init;
  647. pantheios_be_fprintf_getDefaultAppInit(&init);
  648. init.flags |= 0
  649. | PANTHEIOS_BE_INIT_F_NO_PROCESS_ID
  650. // | PANTHEIOS_BE_INIT_F_NO_THREAD_ID
  651. | PANTHEIOS_BE_INIT_F_NO_DATETIME
  652. // | PANTHEIOS_BE_INIT_F_NO_SEVERITY
  653. ;
  654. void* token;
  655. int res = pantheios_be_fprintf_init(PANTHEIOS_FE_PROCESS_IDENTITY, PANTHEIOS_BEID_ALL, &init, NULL, &token);
  656. if(PANTHEIOS_INIT_RC_SUCCESS != res)
  657. {
  658. XTESTS_FAIL_WITH_QUALIFIER("failed to initialise bec.fprintf", pantheios::getInitErrorString(res));
  659. }
  660. else
  661. {
  662. stlsoft::scoped_handle<void*> uninit_(token, pantheios_be_fprintf_uninit);
  663. // create the output file
  664. FILE* f = reopen_file(STDERR_FILE_NAME, "w", stderr);
  665. if(NULL == f)
  666. {
  667. XTESTS_FAIL_WITH_QUALIFIER("failed to reopen standard output stream", strerror(errno));
  668. }
  669. else
  670. {
  671. { for(size_t i = 0; i != STLSOFT_NUM_ELEMENTS(strings); ++i)
  672. {
  673. pantheios_be_fprintf_logEntry(NULL, token, PANTHEIOS_SEV_ERROR, strings[i], stlsoft::c_str_len(strings[i]));
  674. }}
  675. ::fclose(f);
  676. // close the output file
  677. lines_t lines(STDERR_FILE_NAME);
  678. string_t const resultPrefix = PSTR("[") + gettidstr_() + PSTR("; ") + string_t(pantheios::getSeverityString(PANTHEIOS_SEV_ERROR)) + PSTR("]: ");
  679. ::remove(STDERR_FILE_NAME);
  680. // Start the tests
  681. XTESTS_REQUIRE(XTESTS_TEST_INTEGER_EQUAL(STLSOFT_NUM_ELEMENTS(strings), lines.size()));
  682. if(STLSOFT_NUM_ELEMENTS(strings) == lines.size())
  683. {
  684. { for(size_t i = 0; i != STLSOFT_NUM_ELEMENTS(strings); ++i)
  685. {
  686. XTESTS_TEST_STRING_EQUAL((resultPrefix + strings[i]), PGET_(lines[i]));
  687. }}
  688. }
  689. }
  690. }
  691. }
  692. static void test_1_0b()
  693. {
  694. pan_be_fprintf_init_t init;
  695. pantheios_be_fprintf_getDefaultAppInit(&init);
  696. init.flags |= 0
  697. // | PANTHEIOS_BE_INIT_F_NO_PROCESS_ID
  698. // | PANTHEIOS_BE_INIT_F_NO_THREAD_ID
  699. | PANTHEIOS_BE_INIT_F_NO_DATETIME
  700. // | PANTHEIOS_BE_INIT_F_NO_SEVERITY
  701. ;
  702. void* token;
  703. int res = pantheios_be_fprintf_init(PANTHEIOS_FE_PROCESS_IDENTITY, PANTHEIOS_BEID_ALL, &init, NULL, &token);
  704. if(PANTHEIOS_INIT_RC_SUCCESS != res)
  705. {
  706. XTESTS_FAIL_WITH_QUALIFIER("failed to initialise bec.fprintf", pantheios::getInitErrorString(res));
  707. }
  708. else
  709. {
  710. stlsoft::scoped_handle<void*> uninit_(token, pantheios_be_fprintf_uninit);
  711. // create the output file
  712. FILE* f = reopen_file(STDERR_FILE_NAME, "w", stderr);
  713. if(NULL == f)
  714. {
  715. XTESTS_FAIL_WITH_QUALIFIER("failed to reopen standard output stream", strerror(errno));
  716. }
  717. else
  718. {
  719. { for(size_t i = 0; i != STLSOFT_NUM_ELEMENTS(strings); ++i)
  720. {
  721. pantheios_be_fprintf_logEntry(NULL, token, PANTHEIOS_SEV_ERROR, strings[i], stlsoft::c_str_len(strings[i]));
  722. }}
  723. ::fclose(f);
  724. // close the output file
  725. lines_t lines(STDERR_FILE_NAME);
  726. string_t const resultPrefix = PSTR("[") + string_t(PANTHEIOS_FE_PROCESS_IDENTITY) + PSTR(".") + gettidstr_() + PSTR("; ") + string_t(pantheios::getSeverityString(PANTHEIOS_SEV_ERROR)) + PSTR("]: ");
  727. ::remove(STDERR_FILE_NAME);
  728. // Start the tests
  729. XTESTS_REQUIRE(XTESTS_TEST_INTEGER_EQUAL(STLSOFT_NUM_ELEMENTS(strings), lines.size()));
  730. if(STLSOFT_NUM_ELEMENTS(strings) == lines.size())
  731. {
  732. { for(size_t i = 0; i != STLSOFT_NUM_ELEMENTS(strings); ++i)
  733. {
  734. XTESTS_TEST_STRING_EQUAL((resultPrefix + strings[i]), PGET_(lines[i]));
  735. }}
  736. }
  737. }
  738. }
  739. }
  740. static void test_1_0c()
  741. {
  742. pan_be_fprintf_init_t init;
  743. pantheios_be_fprintf_getDefaultAppInit(&init);
  744. init.flags |= 0
  745. | PANTHEIOS_BE_INIT_F_NO_PROCESS_ID
  746. | PANTHEIOS_BE_INIT_F_NO_THREAD_ID
  747. // | PANTHEIOS_BE_INIT_F_NO_DATETIME
  748. // | PANTHEIOS_BE_INIT_F_NO_SEVERITY
  749. ;
  750. void* token;
  751. int res = pantheios_be_fprintf_init(PANTHEIOS_FE_PROCESS_IDENTITY, PANTHEIOS_BEID_ALL, &init, NULL, &token);
  752. if(PANTHEIOS_INIT_RC_SUCCESS != res)
  753. {
  754. XTESTS_FAIL_WITH_QUALIFIER("failed to initialise bec.fprintf", pantheios::getInitErrorString(res));
  755. }
  756. else
  757. {
  758. stlsoft::scoped_handle<void*> uninit_(token, pantheios_be_fprintf_uninit);
  759. // create the output file
  760. FILE* f = reopen_file(STDERR_FILE_NAME, "w", stderr);
  761. if(NULL == f)
  762. {
  763. XTESTS_FAIL_WITH_QUALIFIER("failed to reopen standard output stream", strerror(errno));
  764. }
  765. else
  766. {
  767. { for(size_t i = 0; i != STLSOFT_NUM_ELEMENTS(strings); ++i)
  768. {
  769. pantheios_be_fprintf_logEntry(NULL, token, PANTHEIOS_SEV_ERROR, strings[i], stlsoft::c_str_len(strings[i]));
  770. }}
  771. ::fclose(f);
  772. // close the output file
  773. lines_t lines(STDERR_FILE_NAME);
  774. string_t const resultPrefix = PSTR("[") + string_t(PANTHEIOS_FE_PROCESS_IDENTITY) + PSTR(".") + gettidstr_() + PSTR("; ") + string_t(pantheios::getSeverityString(PANTHEIOS_SEV_ERROR)) + PSTR("]: ");
  775. ::remove(STDERR_FILE_NAME);
  776. // Start the tests
  777. XTESTS_REQUIRE(XTESTS_TEST_INTEGER_EQUAL(STLSOFT_NUM_ELEMENTS(strings), lines.size()));
  778. if(STLSOFT_NUM_ELEMENTS(strings) == lines.size())
  779. {
  780. { for(size_t i = 0; i != STLSOFT_NUM_ELEMENTS(strings); ++i)
  781. {
  782. #if 0
  783. XTESTS_TEST_STRING_EQUAL((resultPrefix + strings[i]), PGET_(lines[i]));
  784. #endif /* 0 */
  785. }}
  786. }
  787. }
  788. }
  789. }
  790. static void test_1_0d()
  791. {
  792. pan_be_fprintf_init_t init;
  793. pantheios_be_fprintf_getDefaultAppInit(&init);
  794. init.flags |= 0
  795. // | PANTHEIOS_BE_INIT_F_NO_PROCESS_ID
  796. | PANTHEIOS_BE_INIT_F_NO_THREAD_ID
  797. // | PANTHEIOS_BE_INIT_F_NO_DATETIME
  798. // | PANTHEIOS_BE_INIT_F_NO_SEVERITY
  799. ;
  800. void* token;
  801. int res = pantheios_be_fprintf_init(PANTHEIOS_FE_PROCESS_IDENTITY, PANTHEIOS_BEID_ALL, &init, NULL, &token);
  802. if(PANTHEIOS_INIT_RC_SUCCESS != res)
  803. {
  804. XTESTS_FAIL_WITH_QUALIFIER("failed to initialise bec.fprintf", pantheios::getInitErrorString(res));
  805. }
  806. else
  807. {
  808. stlsoft::scoped_handle<void*> uninit_(token, pantheios_be_fprintf_uninit);
  809. // create the output file
  810. FILE* f = reopen_file(STDERR_FILE_NAME, "w", stderr);
  811. if(NULL == f)
  812. {
  813. XTESTS_FAIL_WITH_QUALIFIER("failed to reopen standard output stream", strerror(errno));
  814. }
  815. else
  816. {
  817. { for(size_t i = 0; i != STLSOFT_NUM_ELEMENTS(strings); ++i)
  818. {
  819. pantheios_be_fprintf_logEntry(NULL, token, PANTHEIOS_SEV_ERROR, strings[i], stlsoft::c_str_len(strings[i]));
  820. }}
  821. ::fclose(f);
  822. // close the output file
  823. lines_t lines(STDERR_FILE_NAME);
  824. string_t const resultPrefix = PSTR("[") + string_t(PANTHEIOS_FE_PROCESS_IDENTITY) + PSTR(".") + gettidstr_() + PSTR("; ") + string_t(pantheios::getSeverityString(PANTHEIOS_SEV_ERROR)) + PSTR("]: ");
  825. ::remove(STDERR_FILE_NAME);
  826. // Start the tests
  827. XTESTS_REQUIRE(XTESTS_TEST_INTEGER_EQUAL(STLSOFT_NUM_ELEMENTS(strings), lines.size()));
  828. if(STLSOFT_NUM_ELEMENTS(strings) == lines.size())
  829. {
  830. { for(size_t i = 0; i != STLSOFT_NUM_ELEMENTS(strings); ++i)
  831. {
  832. #if 0
  833. XTESTS_TEST_STRING_EQUAL((resultPrefix + strings[i]), PGET_(lines[i]));
  834. #endif /* 0 */
  835. }}
  836. }
  837. }
  838. }
  839. }
  840. static void test_1_0e()
  841. {
  842. pan_be_fprintf_init_t init;
  843. pantheios_be_fprintf_getDefaultAppInit(&init);
  844. init.flags |= 0
  845. | PANTHEIOS_BE_INIT_F_NO_PROCESS_ID
  846. // | PANTHEIOS_BE_INIT_F_NO_THREAD_ID
  847. // | PANTHEIOS_BE_INIT_F_NO_DATETIME
  848. // | PANTHEIOS_BE_INIT_F_NO_SEVERITY
  849. ;
  850. void* token;
  851. int res = pantheios_be_fprintf_init(PANTHEIOS_FE_PROCESS_IDENTITY, PANTHEIOS_BEID_ALL, &init, NULL, &token);
  852. if(PANTHEIOS_INIT_RC_SUCCESS != res)
  853. {
  854. XTESTS_FAIL_WITH_QUALIFIER("failed to initialise bec.fprintf", pantheios::getInitErrorString(res));
  855. }
  856. else
  857. {
  858. stlsoft::scoped_handle<void*> uninit_(token, pantheios_be_fprintf_uninit);
  859. // create the output file
  860. FILE* f = reopen_file(STDERR_FILE_NAME, "w", stderr);
  861. if(NULL == f)
  862. {
  863. XTESTS_FAIL_WITH_QUALIFIER("failed to reopen standard output stream", strerror(errno));
  864. }
  865. else
  866. {
  867. { for(size_t i = 0; i != STLSOFT_NUM_ELEMENTS(strings); ++i)
  868. {
  869. pantheios_be_fprintf_logEntry(NULL, token, PANTHEIOS_SEV_ERROR, strings[i], stlsoft::c_str_len(strings[i]));
  870. }}
  871. ::fclose(f);
  872. // close the output file
  873. lines_t lines(STDERR_FILE_NAME);
  874. string_t const resultPrefix = PSTR("[") + string_t(PANTHEIOS_FE_PROCESS_IDENTITY) + PSTR(".") + gettidstr_() + PSTR("; ") + string_t(pantheios::getSeverityString(PANTHEIOS_SEV_ERROR)) + PSTR("]: ");
  875. ::remove(STDERR_FILE_NAME);
  876. // Start the tests
  877. XTESTS_REQUIRE(XTESTS_TEST_INTEGER_EQUAL(STLSOFT_NUM_ELEMENTS(strings), lines.size()));
  878. if(STLSOFT_NUM_ELEMENTS(strings) == lines.size())
  879. {
  880. { for(size_t i = 0; i != STLSOFT_NUM_ELEMENTS(strings); ++i)
  881. {
  882. #if 0
  883. XTESTS_TEST_STRING_EQUAL((resultPrefix + strings[i]), PGET_(lines[i]));
  884. #endif /* 0 */
  885. }}
  886. }
  887. }
  888. }
  889. }
  890. static void test_1_0f()
  891. {
  892. pan_be_fprintf_init_t init;
  893. pantheios_be_fprintf_getDefaultAppInit(&init);
  894. // init.flags |= 0
  895. // | PANTHEIOS_BE_INIT_F_NO_PROCESS_ID
  896. // | PANTHEIOS_BE_INIT_F_NO_THREAD_ID
  897. // | PANTHEIOS_BE_INIT_F_NO_DATETIME
  898. // | PANTHEIOS_BE_INIT_F_NO_SEVERITY
  899. // ;
  900. void* token;
  901. int res = pantheios_be_fprintf_init(PANTHEIOS_FE_PROCESS_IDENTITY, PANTHEIOS_BEID_ALL, &init, NULL, &token);
  902. if(PANTHEIOS_INIT_RC_SUCCESS != res)
  903. {
  904. XTESTS_FAIL_WITH_QUALIFIER("failed to initialise bec.fprintf", pantheios::getInitErrorString(res));
  905. }
  906. else
  907. {
  908. stlsoft::scoped_handle<void*> uninit_(token, pantheios_be_fprintf_uninit);
  909. // create the output file
  910. FILE* f = reopen_file(STDERR_FILE_NAME, "w", stderr);
  911. if(NULL == f)
  912. {
  913. XTESTS_FAIL_WITH_QUALIFIER("failed to reopen standard output stream", strerror(errno));
  914. }
  915. else
  916. {
  917. { for(size_t i = 0; i != STLSOFT_NUM_ELEMENTS(strings); ++i)
  918. {
  919. pantheios_be_fprintf_logEntry(NULL, token, PANTHEIOS_SEV_ERROR, strings[i], stlsoft::c_str_len(strings[i]));
  920. }}
  921. ::fclose(f);
  922. // close the output file
  923. lines_t lines(STDERR_FILE_NAME);
  924. string_t const resultPrefix = PSTR("[") + string_t(PANTHEIOS_FE_PROCESS_IDENTITY) + PSTR(".") + gettidstr_() + PSTR("; ") + string_t(pantheios::getSeverityString(PANTHEIOS_SEV_ERROR)) + PSTR("]: ");
  925. ::remove(STDERR_FILE_NAME);
  926. // Start the tests
  927. XTESTS_REQUIRE(XTESTS_TEST_INTEGER_EQUAL(STLSOFT_NUM_ELEMENTS(strings), lines.size()));
  928. if(STLSOFT_NUM_ELEMENTS(strings) == lines.size())
  929. {
  930. { for(size_t i = 0; i != STLSOFT_NUM_ELEMENTS(strings); ++i)
  931. {
  932. #if 0
  933. XTESTS_TEST_STRING_EQUAL((resultPrefix + strings[i]), PGET_(lines[i]));
  934. #endif /* 0 */
  935. }}
  936. }
  937. }
  938. }
  939. }
  940. } // anonymous namespace
  941. /* ///////////////////////////// end of file //////////////////////////// */