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
						
					
					
				
			
		
		
		
			
			
			
				
					
				
				
					
				
			
		
		
	
	
							1181 lines
						
					
					
						
							38 KiB
						
					
					
				| /* ///////////////////////////////////////////////////////////////////////// | |
|  * File:        test/unit/test.unit.bec.fprintf/test.unit.bec.fprintf.cpp | |
|  * | |
|  * Purpose:     Implementation file for the test.unit.be.file project. | |
|  * | |
|  * Created:     3rd August 2008 | |
|  * Updated:     22nd March 2010 | |
|  * | |
|  * Status:      Wizard-generated | |
|  * | |
|  * License:     (Licensed under the Synesis Software Open License) | |
|  * | |
|  *              Copyright (c) 2008-2010, Synesis Software Pty Ltd. | |
|  *              All rights reserved. | |
|  * | |
|  *              www:        http://www.synesis.com.au/software | |
|  * | |
|  * ////////////////////////////////////////////////////////////////////// */ | |
| 
 | |
| 
 | |
| #include <pantheios/util/test/compiler_warnings_suppression.first_include.h> | |
|  | |
| /* Pantheios Header Files */ | |
| #include <pantheios/backends/bec.fprintf.h> | |
| #include <pantheios/init_codes.h> | |
| #include <pantheios/util/system/threadid.h> | |
|  | |
| /* STLSoft Header Files */ | |
| #include <stlsoft/conversion/char_conversions.hpp> | |
| #include <stlsoft/conversion/integer_to_string.hpp> | |
| #include <platformstl/filesystem/file_lines.hpp> | |
|  | |
| /* xTests Header Files */ | |
| #include <xtests/xtests.h> | |
|  | |
| /* Standard C++ Header Files */ | |
| #include <exception>                    // for std::exception | |
| #include <new>                          // for std::bad_alloc | |
|  | |
| /* Standard C Header Files */ | |
| #include <stdio.h>                      // for fprintf(), remove() | |
| #include <stdlib.h>                     // for exit codes | |
|  | |
| #include <pantheios/util/test/compiler_warnings_suppression.last_include.h> | |
|  | |
| /* ///////////////////////////////////////////////////////////////////////// | |
|  * Constants and definitions | |
|  */ | |
| 
 | |
| namespace | |
| { | |
| 
 | |
|     const char STDERR_FILE_NAME[] = "stderr.txt"; | |
| 
 | |
| } // anonymous namespace | |
|  | |
| /* ///////////////////////////////////////////////////////////////////////// | |
|  * Macros | |
|  */ | |
| 
 | |
| #define PANTHEIOS_SEV_LEVELS_EQUAL(x, y)    XTESTS_TEST_INTEGER_EQUAL(static_cast<int>(x), static_cast<int>(y)) | |
|  | |
| /* ///////////////////////////////////////////////////////////////////////// | |
|  * Typedefs | |
|  */ | |
| 
 | |
| typedef std::basic_string<PAN_CHAR_T>           string_t; | |
| typedef platformstl::basic_file_lines<char>     lines_t; | |
| 
 | |
| /* ///////////////////////////////////////////////////////////////////////// | |
|  * Character encoding | |
|  */ | |
| 
 | |
| #ifdef PANTHEIOS_USE_WIDE_STRINGS | |
|  | |
| # define XTESTS_TEST_STRING_EQUAL       XTESTS_TEST_WIDE_STRING_EQUAL | |
|  | |
| # define PGET_(x)                       string_t(stlsoft::m2w(x).c_str()) | |
|  | |
| #else /* ? PANTHEIOS_USE_WIDE_STRINGS */ | |
|  | |
| # define XTESTS_TEST_STRING_EQUAL       XTESTS_TEST_MULTIBYTE_STRING_EQUAL | |
|  | |
| # define PGET_(x)                       (x) | |
|  | |
| #endif /* PANTHEIOS_USE_WIDE_STRINGS */ | |
|  | |
| #ifdef PSTR | |
| # undef PSTR | |
| #endif | |
| #define PSTR(x)                     PANTHEIOS_LITERAL_STRING(x) | |
| //#define PSTR(x)                         x    | |
|  | |
| /* ///////////////////////////////////////////////////////////////////////// | |
|  * Globals | |
|  */ | |
| 
 | |
| PANTHEIOS_EXTERN_C const PAN_CHAR_T PANTHEIOS_FE_PROCESS_IDENTITY[] = PANTHEIOS_LITERAL_STRING("test.unit.be.file"); | |
| 
 | |
| /* ///////////////////////////////////////////////////////////////////////// | |
|  * Forward declarations | |
|  */ | |
| 
 | |
| namespace | |
| { | |
| 
 | |
| static void test_1_00(); | |
| static void test_1_01(); | |
| static void test_1_02(); | |
| static void test_1_03(); | |
| static void test_1_04(); | |
| static void test_1_05(); | |
| static void test_1_06(); | |
| static void test_1_07(); | |
| static void test_1_08(); | |
| static void test_1_09(); | |
| static void test_1_0a(); | |
| static void test_1_0b(); | |
| static void test_1_0c(); | |
| static void test_1_0d(); | |
| static void test_1_0e(); | |
| static void test_1_0f(); | |
| 
 | |
| } // anonymous namespace | |
|  | |
| /* ////////////////////////////////////////////////////////////////////// */ | |
| 
 | |
| int main(int argc, char** argv) | |
| { | |
|     int retCode = EXIT_SUCCESS; | |
|     int verbosity = 2; | |
| 
 | |
|     XTESTS_COMMANDLINE_PARSEVERBOSITY(argc, argv, &verbosity); | |
| 
 | |
|     if(XTESTS_START_RUNNER_WITH_STREAM("test.unit.be.file", verbosity, stdout)) | |
|     { | |
|         XTESTS_RUN_CASE(test_1_00); | |
|         XTESTS_RUN_CASE(test_1_01); | |
|         XTESTS_RUN_CASE(test_1_02); | |
|         XTESTS_RUN_CASE(test_1_03); | |
|         XTESTS_RUN_CASE(test_1_04); | |
|         XTESTS_RUN_CASE(test_1_05); | |
|         XTESTS_RUN_CASE(test_1_06); | |
|         XTESTS_RUN_CASE(test_1_07); | |
|         XTESTS_RUN_CASE(test_1_08); | |
|         XTESTS_RUN_CASE(test_1_09); | |
|         XTESTS_RUN_CASE(test_1_0a); | |
|         XTESTS_RUN_CASE(test_1_0b); | |
|         XTESTS_RUN_CASE(test_1_0c); | |
|         XTESTS_RUN_CASE(test_1_0d); | |
|         XTESTS_RUN_CASE(test_1_0e); | |
|         XTESTS_RUN_CASE(test_1_0f); | |
| 
 | |
|         XTESTS_PRINT_RESULTS(); | |
| 
 | |
|         XTESTS_END_RUNNER_UPDATE_EXITCODE(&retCode); | |
|     } | |
| 
 | |
|     return retCode; | |
| } | |
| 
 | |
| /* ////////////////////////////////////////////////////////////////////// */ | |
| 
 | |
| namespace | |
| { | |
| 
 | |
| static FILE* reopen_file(char const* fileName, char const* mode, FILE* stm) | |
| { | |
| #ifdef STLSOFT_USING_SAFE_STR_FUNCTIONS | |
|     FILE*   f; | |
| 
 | |
|     if(0 != ::freopen_s(&f, fileName, mode, stm)) | |
|     { | |
|         f = NULL; | |
|     } | |
| #else /* ? STLSOFT_USING_SAFE_STR_FUNCTIONS */ | |
|     FILE*   f = ::freopen(fileName, mode, stm); | |
| #endif /* STLSOFT_USING_SAFE_STR_FUNCTIONS */ | |
|  | |
|     return f; | |
| } | |
| 
 | |
| static string_t gettidstr_() | |
| { | |
|     PAN_CHAR_T          num[21]; | |
|     size_t              n;// = 0; STLSOFT_SUPPRESS_UNUSED(n); // Suppress Borland C/C++ warning (which is correct) | |
|     PAN_CHAR_T const*   p = stlsoft::integer_to_string(&num[0], STLSOFT_NUM_ELEMENTS(num), pantheios::util::getCurrentThreadId(), n); | |
| 
 | |
|     return string_t(p, n); | |
| } | |
| 
 | |
| static PAN_CHAR_T const* strings[] = | |
| { | |
|         PANTHEIOS_LITERAL_STRING("abc") | |
|     ,   PANTHEIOS_LITERAL_STRING("ABC") | |
|     ,   PANTHEIOS_LITERAL_STRING("abcdefghijklmnopqrstuvwxyz") | |
|     ,   PANTHEIOS_LITERAL_STRING("ABCDEFGHIJKLMNOPQRSTUVWXYZ") | |
|     ,   PANTHEIOS_LITERAL_STRING("abcdefghijklmnopqrstuvwxyz0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789") | |
|     ,   PANTHEIOS_LITERAL_STRING("abcdefghijklmnopqrstuvwxyz0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789abcdefghijklmnopqrstuvwxyz0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789") | |
|     ,   PANTHEIOS_LITERAL_STRING("00000000000000000000000000000000000000000000000000000000000000000000001111111111111111111111111111111111111111111111111111111111222222222222222222222222222222222222222223333333333333333333333333") | |
| }; | |
| 
 | |
| static void test_1_00() | |
| { | |
|     pan_be_fprintf_init_t  init; | |
| 
 | |
|     pantheios_be_fprintf_getDefaultAppInit(&init); | |
| 
 | |
|     init.flags  |=  0 | |
|                 |   PANTHEIOS_BE_INIT_F_NO_PROCESS_ID | |
|                 |   PANTHEIOS_BE_INIT_F_NO_THREAD_ID | |
|                 |   PANTHEIOS_BE_INIT_F_NO_DATETIME | |
|                 |   PANTHEIOS_BE_INIT_F_NO_SEVERITY | |
|                 ; | |
| 
 | |
|     void*   token; | |
|     int     res = pantheios_be_fprintf_init(PANTHEIOS_FE_PROCESS_IDENTITY, PANTHEIOS_BEID_ALL, &init, NULL, &token); | |
| 
 | |
|     if(PANTHEIOS_INIT_RC_SUCCESS != res) | |
|     { | |
|         XTESTS_FAIL_WITH_QUALIFIER("failed to initialise bec.fprintf", pantheios::getInitErrorString(res)); | |
|     } | |
|     else | |
|     { | |
|         stlsoft::scoped_handle<void*>   uninit_(token, pantheios_be_fprintf_uninit); | |
| 
 | |
|         // create the output file | |
|         FILE* f = reopen_file(STDERR_FILE_NAME, "w", stderr); | |
| 
 | |
|         if(NULL == f) | |
|         { | |
|             XTESTS_FAIL_WITH_QUALIFIER("failed to reopen standard output stream", strerror(errno)); | |
|         } | |
|         else | |
|         { | |
|             { for(size_t i = 0; i != STLSOFT_NUM_ELEMENTS(strings); ++i) | |
|             { | |
|                 pantheios_be_fprintf_logEntry(NULL, token, PANTHEIOS_SEV_ERROR, strings[i], stlsoft::c_str_len(strings[i])); | |
|             }} | |
| 
 | |
|             ::fclose(f); | |
| 
 | |
|             // close the output file | |
|             lines_t         lines(STDERR_FILE_NAME); | |
|             string_t const  resultPrefix = PSTR(""); | |
| 
 | |
|             ::remove(STDERR_FILE_NAME); | |
| 
 | |
|             // Start the tests | |
|             XTESTS_REQUIRE(XTESTS_TEST_INTEGER_EQUAL(STLSOFT_NUM_ELEMENTS(strings), lines.size())); | |
| 
 | |
|             if(STLSOFT_NUM_ELEMENTS(strings) == lines.size()) | |
|             { | |
|                 { for(size_t i = 0; i != STLSOFT_NUM_ELEMENTS(strings); ++i) | |
|                 { | |
|                     XTESTS_TEST_STRING_EQUAL((resultPrefix + strings[i]), PGET_(lines[i])); | |
|                 }} | |
|             } | |
|         } | |
|     } | |
| } | |
| 
 | |
| static void test_1_01() | |
| { | |
|     pan_be_fprintf_init_t  init; | |
| 
 | |
|     pantheios_be_fprintf_getDefaultAppInit(&init); | |
| 
 | |
|     init.flags  |=  0 | |
| //              |   PANTHEIOS_BE_INIT_F_NO_PROCESS_ID | |
|                 |   PANTHEIOS_BE_INIT_F_NO_THREAD_ID | |
|                 |   PANTHEIOS_BE_INIT_F_NO_DATETIME | |
|                 |   PANTHEIOS_BE_INIT_F_NO_SEVERITY | |
|                 ; | |
| 
 | |
|     void*   token; | |
|     int     res = pantheios_be_fprintf_init(PANTHEIOS_FE_PROCESS_IDENTITY, PANTHEIOS_BEID_ALL, &init, NULL, &token); | |
| 
 | |
|     if(PANTHEIOS_INIT_RC_SUCCESS != res) | |
|     { | |
|         XTESTS_FAIL_WITH_QUALIFIER("failed to initialise bec.fprintf", pantheios::getInitErrorString(res)); | |
|     } | |
|     else | |
|     { | |
|         stlsoft::scoped_handle<void*>   uninit_(token, pantheios_be_fprintf_uninit); | |
| 
 | |
|         // create the output file | |
|         FILE* f = reopen_file(STDERR_FILE_NAME, "w", stderr); | |
| 
 | |
|         if(NULL == f) | |
|         { | |
|             XTESTS_FAIL_WITH_QUALIFIER("failed to reopen standard output stream", strerror(errno)); | |
|         } | |
|         else | |
|         { | |
|             { for(size_t i = 0; i != STLSOFT_NUM_ELEMENTS(strings); ++i) | |
|             { | |
|                 pantheios_be_fprintf_logEntry(NULL, token, PANTHEIOS_SEV_ERROR, strings[i], stlsoft::c_str_len(strings[i])); | |
|             }} | |
| 
 | |
|             ::fclose(f); | |
| 
 | |
|             // close the output file | |
|             lines_t         lines(STDERR_FILE_NAME); | |
|             string_t const  resultPrefix = PSTR("[") + string_t(PANTHEIOS_FE_PROCESS_IDENTITY) + PSTR("]: "); | |
| 
 | |
|             ::remove(STDERR_FILE_NAME); | |
| 
 | |
|             // Start the tests | |
|             XTESTS_REQUIRE(XTESTS_TEST_INTEGER_EQUAL(STLSOFT_NUM_ELEMENTS(strings), lines.size())); | |
| 
 | |
|             if(STLSOFT_NUM_ELEMENTS(strings) == lines.size()) | |
|             { | |
|                 { for(size_t i = 0; i != STLSOFT_NUM_ELEMENTS(strings); ++i) | |
|                 { | |
|                     XTESTS_TEST_STRING_EQUAL((resultPrefix + strings[i]), PGET_(lines[i])); | |
|                 }} | |
|             } | |
|         } | |
|     } | |
| } | |
| 
 | |
| static void test_1_02() | |
| { | |
|     pan_be_fprintf_init_t  init; | |
| 
 | |
|     pantheios_be_fprintf_getDefaultAppInit(&init); | |
| 
 | |
|     init.flags  |=  0 | |
|                 |   PANTHEIOS_BE_INIT_F_NO_PROCESS_ID | |
| //              |   PANTHEIOS_BE_INIT_F_NO_THREAD_ID | |
|                 |   PANTHEIOS_BE_INIT_F_NO_DATETIME | |
|                 |   PANTHEIOS_BE_INIT_F_NO_SEVERITY | |
|                 ; | |
| 
 | |
|     void*   token; | |
|     int     res = pantheios_be_fprintf_init(PANTHEIOS_FE_PROCESS_IDENTITY, PANTHEIOS_BEID_ALL, &init, NULL, &token); | |
| 
 | |
|     if(PANTHEIOS_INIT_RC_SUCCESS != res) | |
|     { | |
|         XTESTS_FAIL_WITH_QUALIFIER("failed to initialise bec.fprintf", pantheios::getInitErrorString(res)); | |
|     } | |
|     else | |
|     { | |
|         stlsoft::scoped_handle<void*>   uninit_(token, pantheios_be_fprintf_uninit); | |
| 
 | |
|         // create the output file | |
|         FILE* f = reopen_file(STDERR_FILE_NAME, "w", stderr); | |
| 
 | |
|         if(NULL == f) | |
|         { | |
|             XTESTS_FAIL_WITH_QUALIFIER("failed to reopen standard output stream", strerror(errno)); | |
|         } | |
|         else | |
|         { | |
|             { for(size_t i = 0; i != STLSOFT_NUM_ELEMENTS(strings); ++i) | |
|             { | |
|                 pantheios_be_fprintf_logEntry(NULL, token, PANTHEIOS_SEV_ERROR, strings[i], stlsoft::c_str_len(strings[i])); | |
|             }} | |
| 
 | |
|             ::fclose(f); | |
| 
 | |
|             // close the output file | |
|             lines_t         lines(STDERR_FILE_NAME); | |
|             string_t const  resultPrefix = PSTR("[") + gettidstr_() + PSTR("]: "); | |
| 
 | |
|             ::remove(STDERR_FILE_NAME); | |
| 
 | |
|             // Start the tests | |
|             XTESTS_REQUIRE(XTESTS_TEST_INTEGER_EQUAL(STLSOFT_NUM_ELEMENTS(strings), lines.size())); | |
| 
 | |
|             if(STLSOFT_NUM_ELEMENTS(strings) == lines.size()) | |
|             { | |
|                 { for(size_t i = 0; i != STLSOFT_NUM_ELEMENTS(strings); ++i) | |
|                 { | |
|                     XTESTS_TEST_STRING_EQUAL(resultPrefix + strings[i], PGET_(lines[i])); | |
|                 }} | |
|             } | |
|         } | |
|     } | |
| } | |
| 
 | |
| static void test_1_03() | |
| { | |
|     pan_be_fprintf_init_t  init; | |
| 
 | |
|     pantheios_be_fprintf_getDefaultAppInit(&init); | |
| 
 | |
|     init.flags  |=  0 | |
| //              |   PANTHEIOS_BE_INIT_F_NO_PROCESS_ID | |
| //              |   PANTHEIOS_BE_INIT_F_NO_THREAD_ID | |
|                 |   PANTHEIOS_BE_INIT_F_NO_DATETIME | |
|                 |   PANTHEIOS_BE_INIT_F_NO_SEVERITY | |
|                 ; | |
| 
 | |
|     void*   token; | |
|     int     res = pantheios_be_fprintf_init(PANTHEIOS_FE_PROCESS_IDENTITY, PANTHEIOS_BEID_ALL, &init, NULL, &token); | |
| 
 | |
|     if(PANTHEIOS_INIT_RC_SUCCESS != res) | |
|     { | |
|         XTESTS_FAIL_WITH_QUALIFIER("failed to initialise bec.fprintf", pantheios::getInitErrorString(res)); | |
|     } | |
|     else | |
|     { | |
|         stlsoft::scoped_handle<void*>   uninit_(token, pantheios_be_fprintf_uninit); | |
| 
 | |
|         // create the output file | |
|         FILE* f = reopen_file(STDERR_FILE_NAME, "w", stderr); | |
| 
 | |
|         if(NULL == f) | |
|         { | |
|             XTESTS_FAIL_WITH_QUALIFIER("failed to reopen standard output stream", strerror(errno)); | |
|         } | |
|         else | |
|         { | |
|             { for(size_t i = 0; i != STLSOFT_NUM_ELEMENTS(strings); ++i) | |
|             { | |
|                 pantheios_be_fprintf_logEntry(NULL, token, PANTHEIOS_SEV_ERROR, strings[i], stlsoft::c_str_len(strings[i])); | |
|             }} | |
| 
 | |
|             ::fclose(f); | |
| 
 | |
|             // close the output file | |
|             lines_t         lines(STDERR_FILE_NAME); | |
|             string_t const  resultPrefix = PSTR("[") + string_t(PANTHEIOS_FE_PROCESS_IDENTITY) + PSTR(".") + gettidstr_() + PSTR("]: "); | |
| 
 | |
|             ::remove(STDERR_FILE_NAME); | |
| 
 | |
|             // Start the tests | |
|             XTESTS_REQUIRE(XTESTS_TEST_INTEGER_EQUAL(STLSOFT_NUM_ELEMENTS(strings), lines.size())); | |
| 
 | |
|             if(STLSOFT_NUM_ELEMENTS(strings) == lines.size()) | |
|             { | |
|                 { for(size_t i = 0; i != STLSOFT_NUM_ELEMENTS(strings); ++i) | |
|                 { | |
|                     XTESTS_TEST_STRING_EQUAL((resultPrefix + strings[i]), PGET_(lines[i])); | |
|                 }} | |
|             } | |
|         } | |
|     } | |
| } | |
| 
 | |
| static void test_1_04() | |
| { | |
|     pan_be_fprintf_init_t  init; | |
| 
 | |
|     pantheios_be_fprintf_getDefaultAppInit(&init); | |
| 
 | |
|     init.flags  |=  0 | |
|                 |   PANTHEIOS_BE_INIT_F_NO_PROCESS_ID | |
|                 |   PANTHEIOS_BE_INIT_F_NO_THREAD_ID | |
| //              |   PANTHEIOS_BE_INIT_F_NO_DATETIME | |
|                 |   PANTHEIOS_BE_INIT_F_NO_SEVERITY | |
|                 ; | |
| 
 | |
|     void*   token; | |
|     int     res = pantheios_be_fprintf_init(PANTHEIOS_FE_PROCESS_IDENTITY, PANTHEIOS_BEID_ALL, &init, NULL, &token); | |
| 
 | |
|     if(PANTHEIOS_INIT_RC_SUCCESS != res) | |
|     { | |
|         XTESTS_FAIL_WITH_QUALIFIER("failed to initialise bec.fprintf", pantheios::getInitErrorString(res)); | |
|     } | |
|     else | |
|     { | |
|         stlsoft::scoped_handle<void*>   uninit_(token, pantheios_be_fprintf_uninit); | |
| 
 | |
|         // create the output file | |
|         FILE* f = reopen_file(STDERR_FILE_NAME, "w", stderr); | |
| 
 | |
|         if(NULL == f) | |
|         { | |
|             XTESTS_FAIL_WITH_QUALIFIER("failed to reopen standard output stream", strerror(errno)); | |
|         } | |
|         else | |
|         { | |
|             { for(size_t i = 0; i != STLSOFT_NUM_ELEMENTS(strings); ++i) | |
|             { | |
|                 pantheios_be_fprintf_logEntry(NULL, token, PANTHEIOS_SEV_ERROR, strings[i], stlsoft::c_str_len(strings[i])); | |
|             }} | |
| 
 | |
|             ::fclose(f); | |
| 
 | |
|             // close the output file | |
|             lines_t         lines(STDERR_FILE_NAME); | |
|             string_t const  resultPrefix = PSTR("[") + string_t(PANTHEIOS_FE_PROCESS_IDENTITY) + PSTR(".") + gettidstr_() + PSTR("]: "); | |
| 
 | |
|             ::remove(STDERR_FILE_NAME); | |
| 
 | |
|             // Start the tests | |
|             XTESTS_REQUIRE(XTESTS_TEST_INTEGER_EQUAL(STLSOFT_NUM_ELEMENTS(strings), lines.size())); | |
| 
 | |
|             if(STLSOFT_NUM_ELEMENTS(strings) == lines.size()) | |
|             { | |
|                 { for(size_t i = 0; i != STLSOFT_NUM_ELEMENTS(strings); ++i) | |
|                 { | |
| #if 0 | |
|                     XTESTS_TEST_STRING_EQUAL((resultPrefix + strings[i]), PGET_(lines[i])); | |
| #endif /* 0 */ | |
|                 }} | |
|             } | |
|         } | |
|     } | |
| } | |
| 
 | |
| static void test_1_05() | |
| { | |
|     pan_be_fprintf_init_t  init; | |
| 
 | |
|     pantheios_be_fprintf_getDefaultAppInit(&init); | |
| 
 | |
|     init.flags  |=  0 | |
| //              |   PANTHEIOS_BE_INIT_F_NO_PROCESS_ID | |
|                 |   PANTHEIOS_BE_INIT_F_NO_THREAD_ID | |
| //              |   PANTHEIOS_BE_INIT_F_NO_DATETIME | |
|                 |   PANTHEIOS_BE_INIT_F_NO_SEVERITY | |
|                 ; | |
| 
 | |
|     void*   token; | |
|     int     res = pantheios_be_fprintf_init(PANTHEIOS_FE_PROCESS_IDENTITY, PANTHEIOS_BEID_ALL, &init, NULL, &token); | |
| 
 | |
|     if(PANTHEIOS_INIT_RC_SUCCESS != res) | |
|     { | |
|         XTESTS_FAIL_WITH_QUALIFIER("failed to initialise bec.fprintf", pantheios::getInitErrorString(res)); | |
|     } | |
|     else | |
|     { | |
|         stlsoft::scoped_handle<void*>   uninit_(token, pantheios_be_fprintf_uninit); | |
| 
 | |
|         // create the output file | |
|         FILE* f = reopen_file(STDERR_FILE_NAME, "w", stderr); | |
| 
 | |
|         if(NULL == f) | |
|         { | |
|             XTESTS_FAIL_WITH_QUALIFIER("failed to reopen standard output stream", strerror(errno)); | |
|         } | |
|         else | |
|         { | |
|             { for(size_t i = 0; i != STLSOFT_NUM_ELEMENTS(strings); ++i) | |
|             { | |
|                 pantheios_be_fprintf_logEntry(NULL, token, PANTHEIOS_SEV_ERROR, strings[i], stlsoft::c_str_len(strings[i])); | |
|             }} | |
| 
 | |
|             ::fclose(f); | |
| 
 | |
|             // close the output file | |
|             lines_t         lines(STDERR_FILE_NAME); | |
|             string_t const  resultPrefix = PSTR("[") + string_t(pantheios::getSeverityString(PANTHEIOS_SEV_ERROR)) + PSTR("]: "); | |
| 
 | |
|             ::remove(STDERR_FILE_NAME); | |
| 
 | |
|             // Start the tests | |
|             XTESTS_REQUIRE(XTESTS_TEST_INTEGER_EQUAL(STLSOFT_NUM_ELEMENTS(strings), lines.size())); | |
| 
 | |
|             if(STLSOFT_NUM_ELEMENTS(strings) == lines.size()) | |
|             { | |
|                 { for(size_t i = 0; i != STLSOFT_NUM_ELEMENTS(strings); ++i) | |
|                 { | |
| #if 0 | |
|                     XTESTS_TEST_STRING_EQUAL((resultPrefix + strings[i]), PGET_(lines[i])); | |
| #endif /* 0 */ | |
|                 }} | |
|             } | |
|         } | |
|     } | |
| } | |
| 
 | |
| static void test_1_06() | |
| { | |
|     pan_be_fprintf_init_t  init; | |
| 
 | |
|     pantheios_be_fprintf_getDefaultAppInit(&init); | |
| 
 | |
|     init.flags  |=  0 | |
|                 |   PANTHEIOS_BE_INIT_F_NO_PROCESS_ID | |
| //              |   PANTHEIOS_BE_INIT_F_NO_THREAD_ID | |
| //              |   PANTHEIOS_BE_INIT_F_NO_DATETIME | |
|                 |   PANTHEIOS_BE_INIT_F_NO_SEVERITY | |
|                 ; | |
| 
 | |
|     void*   token; | |
|     int     res = pantheios_be_fprintf_init(PANTHEIOS_FE_PROCESS_IDENTITY, PANTHEIOS_BEID_ALL, &init, NULL, &token); | |
| 
 | |
|     if(PANTHEIOS_INIT_RC_SUCCESS != res) | |
|     { | |
|         XTESTS_FAIL_WITH_QUALIFIER("failed to initialise bec.fprintf", pantheios::getInitErrorString(res)); | |
|     } | |
|     else | |
|     { | |
|         stlsoft::scoped_handle<void*>   uninit_(token, pantheios_be_fprintf_uninit); | |
| 
 | |
|         // create the output file | |
|         FILE* f = reopen_file(STDERR_FILE_NAME, "w", stderr); | |
| 
 | |
|         if(NULL == f) | |
|         { | |
|             XTESTS_FAIL_WITH_QUALIFIER("failed to reopen standard output stream", strerror(errno)); | |
|         } | |
|         else | |
|         { | |
|             { for(size_t i = 0; i != STLSOFT_NUM_ELEMENTS(strings); ++i) | |
|             { | |
|                 pantheios_be_fprintf_logEntry(NULL, token, PANTHEIOS_SEV_ERROR, strings[i], stlsoft::c_str_len(strings[i])); | |
|             }} | |
| 
 | |
|             ::fclose(f); | |
| 
 | |
|             // close the output file | |
|             lines_t         lines(STDERR_FILE_NAME); | |
|             string_t const  resultPrefix = PSTR("[") + string_t(pantheios::getSeverityString(PANTHEIOS_SEV_ERROR)) + PSTR("]: "); | |
| 
 | |
|             ::remove(STDERR_FILE_NAME); | |
| 
 | |
|             // Start the tests | |
|             XTESTS_REQUIRE(XTESTS_TEST_INTEGER_EQUAL(STLSOFT_NUM_ELEMENTS(strings), lines.size())); | |
| 
 | |
|             if(STLSOFT_NUM_ELEMENTS(strings) == lines.size()) | |
|             { | |
|                 { for(size_t i = 0; i != STLSOFT_NUM_ELEMENTS(strings); ++i) | |
|                 { | |
| #if 0 | |
|                     XTESTS_TEST_STRING_EQUAL((resultPrefix + strings[i]), PGET_(lines[i])); | |
| #endif /* 0 */ | |
|                 }} | |
|             } | |
|         } | |
|     } | |
| } | |
| 
 | |
| static void test_1_07() | |
| { | |
|     pan_be_fprintf_init_t  init; | |
| 
 | |
|     pantheios_be_fprintf_getDefaultAppInit(&init); | |
| 
 | |
|     init.flags  |=  0 | |
| //              |   PANTHEIOS_BE_INIT_F_NO_PROCESS_ID | |
| //              |   PANTHEIOS_BE_INIT_F_NO_THREAD_ID | |
| //              |   PANTHEIOS_BE_INIT_F_NO_DATETIME | |
|                 |   PANTHEIOS_BE_INIT_F_NO_SEVERITY | |
|                 ; | |
| 
 | |
|     void*   token; | |
|     int     res = pantheios_be_fprintf_init(PANTHEIOS_FE_PROCESS_IDENTITY, PANTHEIOS_BEID_ALL, &init, NULL, &token); | |
| 
 | |
|     if(PANTHEIOS_INIT_RC_SUCCESS != res) | |
|     { | |
|         XTESTS_FAIL_WITH_QUALIFIER("failed to initialise bec.fprintf", pantheios::getInitErrorString(res)); | |
|     } | |
|     else | |
|     { | |
|         stlsoft::scoped_handle<void*>   uninit_(token, pantheios_be_fprintf_uninit); | |
| 
 | |
|         // create the output file | |
|         FILE* f = reopen_file(STDERR_FILE_NAME, "w", stderr); | |
| 
 | |
|         if(NULL == f) | |
|         { | |
|             XTESTS_FAIL_WITH_QUALIFIER("failed to reopen standard output stream", strerror(errno)); | |
|         } | |
|         else | |
|         { | |
|             { for(size_t i = 0; i != STLSOFT_NUM_ELEMENTS(strings); ++i) | |
|             { | |
|                 pantheios_be_fprintf_logEntry(NULL, token, PANTHEIOS_SEV_ERROR, strings[i], stlsoft::c_str_len(strings[i])); | |
|             }} | |
| 
 | |
|             ::fclose(f); | |
| 
 | |
|             // close the output file | |
|             lines_t         lines(STDERR_FILE_NAME); | |
|             string_t const  resultPrefix = PSTR("[") + string_t(pantheios::getSeverityString(PANTHEIOS_SEV_ERROR)) + PSTR("]: "); | |
| 
 | |
|             ::remove(STDERR_FILE_NAME); | |
| 
 | |
|             // Start the tests | |
|             XTESTS_REQUIRE(XTESTS_TEST_INTEGER_EQUAL(STLSOFT_NUM_ELEMENTS(strings), lines.size())); | |
| 
 | |
|             if(STLSOFT_NUM_ELEMENTS(strings) == lines.size()) | |
|             { | |
|                 { for(size_t i = 0; i != STLSOFT_NUM_ELEMENTS(strings); ++i) | |
|                 { | |
| #if 0 | |
|                     XTESTS_TEST_STRING_EQUAL((resultPrefix + strings[i]), PGET_(lines[i])); | |
| #endif /* 0 */ | |
|                 }} | |
|             } | |
|         } | |
|     } | |
| } | |
| 
 | |
| static void test_1_08() | |
| { | |
|     pan_be_fprintf_init_t  init; | |
| 
 | |
|     pantheios_be_fprintf_getDefaultAppInit(&init); | |
| 
 | |
|     init.flags  |=  0 | |
|                 |   PANTHEIOS_BE_INIT_F_NO_PROCESS_ID | |
|                 |   PANTHEIOS_BE_INIT_F_NO_THREAD_ID | |
|                 |   PANTHEIOS_BE_INIT_F_NO_DATETIME | |
| //              |   PANTHEIOS_BE_INIT_F_NO_SEVERITY | |
|                 ; | |
| 
 | |
|     void*   token; | |
|     int     res = pantheios_be_fprintf_init(PANTHEIOS_FE_PROCESS_IDENTITY, PANTHEIOS_BEID_ALL, &init, NULL, &token); | |
| 
 | |
|     if(PANTHEIOS_INIT_RC_SUCCESS != res) | |
|     { | |
|         XTESTS_FAIL_WITH_QUALIFIER("failed to initialise bec.fprintf", pantheios::getInitErrorString(res)); | |
|     } | |
|     else | |
|     { | |
|         stlsoft::scoped_handle<void*>   uninit_(token, pantheios_be_fprintf_uninit); | |
| 
 | |
|         // create the output file | |
|         FILE* f = reopen_file(STDERR_FILE_NAME, "w", stderr); | |
| 
 | |
|         if(NULL == f) | |
|         { | |
|             XTESTS_FAIL_WITH_QUALIFIER("failed to reopen standard output stream", strerror(errno)); | |
|         } | |
|         else | |
|         { | |
|             { for(size_t i = 0; i != STLSOFT_NUM_ELEMENTS(strings); ++i) | |
|             { | |
|                 pantheios_be_fprintf_logEntry(NULL, token, PANTHEIOS_SEV_ERROR, strings[i], stlsoft::c_str_len(strings[i])); | |
|             }} | |
| 
 | |
|             ::fclose(f); | |
| 
 | |
|             // close the output file | |
|             lines_t         lines(STDERR_FILE_NAME); | |
|             string_t const  resultPrefix = PSTR("[") + string_t(pantheios::getSeverityString(PANTHEIOS_SEV_ERROR)) + PSTR("]: "); | |
| 
 | |
|             ::remove(STDERR_FILE_NAME); | |
| 
 | |
|             // Start the tests | |
|             XTESTS_REQUIRE(XTESTS_TEST_INTEGER_EQUAL(STLSOFT_NUM_ELEMENTS(strings), lines.size())); | |
| 
 | |
|             if(STLSOFT_NUM_ELEMENTS(strings) == lines.size()) | |
|             { | |
|                 { for(size_t i = 0; i != STLSOFT_NUM_ELEMENTS(strings); ++i) | |
|                 { | |
|                     XTESTS_TEST_STRING_EQUAL((resultPrefix + strings[i]), PGET_(lines[i])); | |
|                 }} | |
|             } | |
|         } | |
|     } | |
| } | |
| 
 | |
| static void test_1_09() | |
| { | |
|     pan_be_fprintf_init_t  init; | |
| 
 | |
|     pantheios_be_fprintf_getDefaultAppInit(&init); | |
| 
 | |
|     init.flags  |=  0 | |
| //              |   PANTHEIOS_BE_INIT_F_NO_PROCESS_ID | |
|                 |   PANTHEIOS_BE_INIT_F_NO_THREAD_ID | |
|                 |   PANTHEIOS_BE_INIT_F_NO_DATETIME | |
| //              |   PANTHEIOS_BE_INIT_F_NO_SEVERITY | |
|                 ; | |
| 
 | |
|     void*   token; | |
|     int     res = pantheios_be_fprintf_init(PANTHEIOS_FE_PROCESS_IDENTITY, PANTHEIOS_BEID_ALL, &init, NULL, &token); | |
| 
 | |
|     if(PANTHEIOS_INIT_RC_SUCCESS != res) | |
|     { | |
|         XTESTS_FAIL_WITH_QUALIFIER("failed to initialise bec.fprintf", pantheios::getInitErrorString(res)); | |
|     } | |
|     else | |
|     { | |
|         stlsoft::scoped_handle<void*>   uninit_(token, pantheios_be_fprintf_uninit); | |
| 
 | |
|         // create the output file | |
|         FILE* f = reopen_file(STDERR_FILE_NAME, "w", stderr); | |
| 
 | |
|         if(NULL == f) | |
|         { | |
|             XTESTS_FAIL_WITH_QUALIFIER("failed to reopen standard output stream", strerror(errno)); | |
|         } | |
|         else | |
|         { | |
|             { for(size_t i = 0; i != STLSOFT_NUM_ELEMENTS(strings); ++i) | |
|             { | |
|                 pantheios_be_fprintf_logEntry(NULL, token, PANTHEIOS_SEV_ERROR, strings[i], stlsoft::c_str_len(strings[i])); | |
|             }} | |
| 
 | |
|             ::fclose(f); | |
| 
 | |
|             // close the output file | |
|             lines_t         lines(STDERR_FILE_NAME); | |
|             string_t const  resultPrefix = PSTR("[") + string_t(PANTHEIOS_FE_PROCESS_IDENTITY) + PSTR("; ") + string_t(pantheios::getSeverityString(PANTHEIOS_SEV_ERROR)) + PSTR("]: "); | |
| 
 | |
|             ::remove(STDERR_FILE_NAME); | |
| 
 | |
|             // Start the tests | |
|             XTESTS_REQUIRE(XTESTS_TEST_INTEGER_EQUAL(STLSOFT_NUM_ELEMENTS(strings), lines.size())); | |
| 
 | |
|             if(STLSOFT_NUM_ELEMENTS(strings) == lines.size()) | |
|             { | |
|                 { for(size_t i = 0; i != STLSOFT_NUM_ELEMENTS(strings); ++i) | |
|                 { | |
|                     XTESTS_TEST_STRING_EQUAL((resultPrefix + strings[i]), PGET_(lines[i])); | |
|                 }} | |
|             } | |
|         } | |
|     } | |
| } | |
| 
 | |
| static void test_1_0a() | |
| { | |
|     pan_be_fprintf_init_t  init; | |
| 
 | |
|     pantheios_be_fprintf_getDefaultAppInit(&init); | |
| 
 | |
|     init.flags  |=  0 | |
|                 |   PANTHEIOS_BE_INIT_F_NO_PROCESS_ID | |
| //              |   PANTHEIOS_BE_INIT_F_NO_THREAD_ID | |
|                 |   PANTHEIOS_BE_INIT_F_NO_DATETIME | |
| //              |   PANTHEIOS_BE_INIT_F_NO_SEVERITY | |
|                 ; | |
| 
 | |
|     void*   token; | |
|     int     res = pantheios_be_fprintf_init(PANTHEIOS_FE_PROCESS_IDENTITY, PANTHEIOS_BEID_ALL, &init, NULL, &token); | |
| 
 | |
|     if(PANTHEIOS_INIT_RC_SUCCESS != res) | |
|     { | |
|         XTESTS_FAIL_WITH_QUALIFIER("failed to initialise bec.fprintf", pantheios::getInitErrorString(res)); | |
|     } | |
|     else | |
|     { | |
|         stlsoft::scoped_handle<void*>   uninit_(token, pantheios_be_fprintf_uninit); | |
| 
 | |
|         // create the output file | |
|         FILE* f = reopen_file(STDERR_FILE_NAME, "w", stderr); | |
| 
 | |
|         if(NULL == f) | |
|         { | |
|             XTESTS_FAIL_WITH_QUALIFIER("failed to reopen standard output stream", strerror(errno)); | |
|         } | |
|         else | |
|         { | |
|             { for(size_t i = 0; i != STLSOFT_NUM_ELEMENTS(strings); ++i) | |
|             { | |
|                 pantheios_be_fprintf_logEntry(NULL, token, PANTHEIOS_SEV_ERROR, strings[i], stlsoft::c_str_len(strings[i])); | |
|             }} | |
| 
 | |
|             ::fclose(f); | |
| 
 | |
|             // close the output file | |
|             lines_t         lines(STDERR_FILE_NAME); | |
|             string_t const  resultPrefix = PSTR("[") + gettidstr_() + PSTR("; ") + string_t(pantheios::getSeverityString(PANTHEIOS_SEV_ERROR)) + PSTR("]: "); | |
| 
 | |
|             ::remove(STDERR_FILE_NAME); | |
| 
 | |
|             // Start the tests | |
|             XTESTS_REQUIRE(XTESTS_TEST_INTEGER_EQUAL(STLSOFT_NUM_ELEMENTS(strings), lines.size())); | |
| 
 | |
|             if(STLSOFT_NUM_ELEMENTS(strings) == lines.size()) | |
|             { | |
|                 { for(size_t i = 0; i != STLSOFT_NUM_ELEMENTS(strings); ++i) | |
|                 { | |
|                     XTESTS_TEST_STRING_EQUAL((resultPrefix + strings[i]), PGET_(lines[i])); | |
|                 }} | |
|             } | |
|         } | |
|     } | |
| } | |
| 
 | |
| static void test_1_0b() | |
| { | |
|     pan_be_fprintf_init_t  init; | |
| 
 | |
|     pantheios_be_fprintf_getDefaultAppInit(&init); | |
| 
 | |
|     init.flags  |=  0 | |
| //              |   PANTHEIOS_BE_INIT_F_NO_PROCESS_ID | |
| //              |   PANTHEIOS_BE_INIT_F_NO_THREAD_ID | |
|                 |   PANTHEIOS_BE_INIT_F_NO_DATETIME | |
| //              |   PANTHEIOS_BE_INIT_F_NO_SEVERITY | |
|                 ; | |
| 
 | |
|     void*   token; | |
|     int     res = pantheios_be_fprintf_init(PANTHEIOS_FE_PROCESS_IDENTITY, PANTHEIOS_BEID_ALL, &init, NULL, &token); | |
| 
 | |
|     if(PANTHEIOS_INIT_RC_SUCCESS != res) | |
|     { | |
|         XTESTS_FAIL_WITH_QUALIFIER("failed to initialise bec.fprintf", pantheios::getInitErrorString(res)); | |
|     } | |
|     else | |
|     { | |
|         stlsoft::scoped_handle<void*>   uninit_(token, pantheios_be_fprintf_uninit); | |
| 
 | |
|         // create the output file | |
|         FILE* f = reopen_file(STDERR_FILE_NAME, "w", stderr); | |
| 
 | |
|         if(NULL == f) | |
|         { | |
|             XTESTS_FAIL_WITH_QUALIFIER("failed to reopen standard output stream", strerror(errno)); | |
|         } | |
|         else | |
|         { | |
|             { for(size_t i = 0; i != STLSOFT_NUM_ELEMENTS(strings); ++i) | |
|             { | |
|                 pantheios_be_fprintf_logEntry(NULL, token, PANTHEIOS_SEV_ERROR, strings[i], stlsoft::c_str_len(strings[i])); | |
|             }} | |
| 
 | |
|             ::fclose(f); | |
| 
 | |
|             // close the output file | |
|             lines_t         lines(STDERR_FILE_NAME); | |
|             string_t const  resultPrefix = PSTR("[") + string_t(PANTHEIOS_FE_PROCESS_IDENTITY) + PSTR(".") + gettidstr_() + PSTR("; ") + string_t(pantheios::getSeverityString(PANTHEIOS_SEV_ERROR)) + PSTR("]: "); | |
| 
 | |
|             ::remove(STDERR_FILE_NAME); | |
| 
 | |
|             // Start the tests | |
|             XTESTS_REQUIRE(XTESTS_TEST_INTEGER_EQUAL(STLSOFT_NUM_ELEMENTS(strings), lines.size())); | |
| 
 | |
|             if(STLSOFT_NUM_ELEMENTS(strings) == lines.size()) | |
|             { | |
|                 { for(size_t i = 0; i != STLSOFT_NUM_ELEMENTS(strings); ++i) | |
|                 { | |
|                     XTESTS_TEST_STRING_EQUAL((resultPrefix + strings[i]), PGET_(lines[i])); | |
|                 }} | |
|             } | |
|         } | |
|     } | |
| } | |
| 
 | |
| static void test_1_0c() | |
| { | |
|     pan_be_fprintf_init_t  init; | |
| 
 | |
|     pantheios_be_fprintf_getDefaultAppInit(&init); | |
| 
 | |
|     init.flags  |=  0 | |
|                 |   PANTHEIOS_BE_INIT_F_NO_PROCESS_ID | |
|                 |   PANTHEIOS_BE_INIT_F_NO_THREAD_ID | |
| //              |   PANTHEIOS_BE_INIT_F_NO_DATETIME | |
| //              |   PANTHEIOS_BE_INIT_F_NO_SEVERITY | |
|                 ; | |
| 
 | |
|     void*   token; | |
|     int     res = pantheios_be_fprintf_init(PANTHEIOS_FE_PROCESS_IDENTITY, PANTHEIOS_BEID_ALL, &init, NULL, &token); | |
| 
 | |
|     if(PANTHEIOS_INIT_RC_SUCCESS != res) | |
|     { | |
|         XTESTS_FAIL_WITH_QUALIFIER("failed to initialise bec.fprintf", pantheios::getInitErrorString(res)); | |
|     } | |
|     else | |
|     { | |
|         stlsoft::scoped_handle<void*>   uninit_(token, pantheios_be_fprintf_uninit); | |
| 
 | |
|         // create the output file | |
|         FILE* f = reopen_file(STDERR_FILE_NAME, "w", stderr); | |
| 
 | |
|         if(NULL == f) | |
|         { | |
|             XTESTS_FAIL_WITH_QUALIFIER("failed to reopen standard output stream", strerror(errno)); | |
|         } | |
|         else | |
|         { | |
|             { for(size_t i = 0; i != STLSOFT_NUM_ELEMENTS(strings); ++i) | |
|             { | |
|                 pantheios_be_fprintf_logEntry(NULL, token, PANTHEIOS_SEV_ERROR, strings[i], stlsoft::c_str_len(strings[i])); | |
|             }} | |
| 
 | |
|             ::fclose(f); | |
| 
 | |
|             // close the output file | |
|             lines_t         lines(STDERR_FILE_NAME); | |
|             string_t const  resultPrefix = PSTR("[") + string_t(PANTHEIOS_FE_PROCESS_IDENTITY) + PSTR(".") + gettidstr_() + PSTR("; ") + string_t(pantheios::getSeverityString(PANTHEIOS_SEV_ERROR)) + PSTR("]: "); | |
| 
 | |
|             ::remove(STDERR_FILE_NAME); | |
| 
 | |
|             // Start the tests | |
|             XTESTS_REQUIRE(XTESTS_TEST_INTEGER_EQUAL(STLSOFT_NUM_ELEMENTS(strings), lines.size())); | |
| 
 | |
|             if(STLSOFT_NUM_ELEMENTS(strings) == lines.size()) | |
|             { | |
|                 { for(size_t i = 0; i != STLSOFT_NUM_ELEMENTS(strings); ++i) | |
|                 { | |
| #if 0 | |
|                     XTESTS_TEST_STRING_EQUAL((resultPrefix + strings[i]), PGET_(lines[i])); | |
| #endif /* 0 */ | |
|                 }} | |
|             } | |
|         } | |
|     } | |
| } | |
| 
 | |
| static void test_1_0d() | |
| { | |
|     pan_be_fprintf_init_t  init; | |
| 
 | |
|     pantheios_be_fprintf_getDefaultAppInit(&init); | |
| 
 | |
|     init.flags  |=  0 | |
| //              |   PANTHEIOS_BE_INIT_F_NO_PROCESS_ID | |
|                 |   PANTHEIOS_BE_INIT_F_NO_THREAD_ID | |
| //              |   PANTHEIOS_BE_INIT_F_NO_DATETIME | |
| //              |   PANTHEIOS_BE_INIT_F_NO_SEVERITY | |
|                 ; | |
| 
 | |
|     void*   token; | |
|     int     res = pantheios_be_fprintf_init(PANTHEIOS_FE_PROCESS_IDENTITY, PANTHEIOS_BEID_ALL, &init, NULL, &token); | |
| 
 | |
|     if(PANTHEIOS_INIT_RC_SUCCESS != res) | |
|     { | |
|         XTESTS_FAIL_WITH_QUALIFIER("failed to initialise bec.fprintf", pantheios::getInitErrorString(res)); | |
|     } | |
|     else | |
|     { | |
|         stlsoft::scoped_handle<void*>   uninit_(token, pantheios_be_fprintf_uninit); | |
| 
 | |
|         // create the output file | |
|         FILE* f = reopen_file(STDERR_FILE_NAME, "w", stderr); | |
| 
 | |
|         if(NULL == f) | |
|         { | |
|             XTESTS_FAIL_WITH_QUALIFIER("failed to reopen standard output stream", strerror(errno)); | |
|         } | |
|         else | |
|         { | |
|             { for(size_t i = 0; i != STLSOFT_NUM_ELEMENTS(strings); ++i) | |
|             { | |
|                 pantheios_be_fprintf_logEntry(NULL, token, PANTHEIOS_SEV_ERROR, strings[i], stlsoft::c_str_len(strings[i])); | |
|             }} | |
| 
 | |
|             ::fclose(f); | |
| 
 | |
|             // close the output file | |
|             lines_t         lines(STDERR_FILE_NAME); | |
|             string_t const  resultPrefix = PSTR("[") + string_t(PANTHEIOS_FE_PROCESS_IDENTITY) + PSTR(".") + gettidstr_() + PSTR("; ") + string_t(pantheios::getSeverityString(PANTHEIOS_SEV_ERROR)) + PSTR("]: "); | |
| 
 | |
|             ::remove(STDERR_FILE_NAME); | |
| 
 | |
|             // Start the tests | |
|             XTESTS_REQUIRE(XTESTS_TEST_INTEGER_EQUAL(STLSOFT_NUM_ELEMENTS(strings), lines.size())); | |
| 
 | |
|             if(STLSOFT_NUM_ELEMENTS(strings) == lines.size()) | |
|             { | |
|                 { for(size_t i = 0; i != STLSOFT_NUM_ELEMENTS(strings); ++i) | |
|                 { | |
| #if 0 | |
|                     XTESTS_TEST_STRING_EQUAL((resultPrefix + strings[i]), PGET_(lines[i])); | |
| #endif /* 0 */ | |
|                 }} | |
|             } | |
|         } | |
|     } | |
| } | |
| 
 | |
| static void test_1_0e() | |
| { | |
|     pan_be_fprintf_init_t  init; | |
| 
 | |
|     pantheios_be_fprintf_getDefaultAppInit(&init); | |
| 
 | |
|     init.flags  |=  0 | |
|                 |   PANTHEIOS_BE_INIT_F_NO_PROCESS_ID | |
| //              |   PANTHEIOS_BE_INIT_F_NO_THREAD_ID | |
| //              |   PANTHEIOS_BE_INIT_F_NO_DATETIME | |
| //              |   PANTHEIOS_BE_INIT_F_NO_SEVERITY | |
|                 ; | |
| 
 | |
|     void*   token; | |
|     int     res = pantheios_be_fprintf_init(PANTHEIOS_FE_PROCESS_IDENTITY, PANTHEIOS_BEID_ALL, &init, NULL, &token); | |
| 
 | |
|     if(PANTHEIOS_INIT_RC_SUCCESS != res) | |
|     { | |
|         XTESTS_FAIL_WITH_QUALIFIER("failed to initialise bec.fprintf", pantheios::getInitErrorString(res)); | |
|     } | |
|     else | |
|     { | |
|         stlsoft::scoped_handle<void*>   uninit_(token, pantheios_be_fprintf_uninit); | |
| 
 | |
|         // create the output file | |
|         FILE* f = reopen_file(STDERR_FILE_NAME, "w", stderr); | |
| 
 | |
|         if(NULL == f) | |
|         { | |
|             XTESTS_FAIL_WITH_QUALIFIER("failed to reopen standard output stream", strerror(errno)); | |
|         } | |
|         else | |
|         { | |
|             { for(size_t i = 0; i != STLSOFT_NUM_ELEMENTS(strings); ++i) | |
|             { | |
|                 pantheios_be_fprintf_logEntry(NULL, token, PANTHEIOS_SEV_ERROR, strings[i], stlsoft::c_str_len(strings[i])); | |
|             }} | |
| 
 | |
|             ::fclose(f); | |
| 
 | |
|             // close the output file | |
|             lines_t         lines(STDERR_FILE_NAME); | |
|             string_t const  resultPrefix = PSTR("[") + string_t(PANTHEIOS_FE_PROCESS_IDENTITY) + PSTR(".") + gettidstr_() + PSTR("; ") + string_t(pantheios::getSeverityString(PANTHEIOS_SEV_ERROR)) + PSTR("]: "); | |
| 
 | |
|             ::remove(STDERR_FILE_NAME); | |
| 
 | |
|             // Start the tests | |
|             XTESTS_REQUIRE(XTESTS_TEST_INTEGER_EQUAL(STLSOFT_NUM_ELEMENTS(strings), lines.size())); | |
| 
 | |
|             if(STLSOFT_NUM_ELEMENTS(strings) == lines.size()) | |
|             { | |
|                 { for(size_t i = 0; i != STLSOFT_NUM_ELEMENTS(strings); ++i) | |
|                 { | |
| #if 0 | |
|                     XTESTS_TEST_STRING_EQUAL((resultPrefix + strings[i]), PGET_(lines[i])); | |
| #endif /* 0 */ | |
|                 }} | |
|             } | |
|         } | |
|     } | |
| } | |
| 
 | |
| static void test_1_0f() | |
| { | |
|     pan_be_fprintf_init_t  init; | |
| 
 | |
|     pantheios_be_fprintf_getDefaultAppInit(&init); | |
| 
 | |
| //  init.flags  |=  0 | |
| //              |   PANTHEIOS_BE_INIT_F_NO_PROCESS_ID | |
| //              |   PANTHEIOS_BE_INIT_F_NO_THREAD_ID | |
| //              |   PANTHEIOS_BE_INIT_F_NO_DATETIME | |
| //              |   PANTHEIOS_BE_INIT_F_NO_SEVERITY | |
| //                ; | |
|  | |
|     void*   token; | |
|     int     res = pantheios_be_fprintf_init(PANTHEIOS_FE_PROCESS_IDENTITY, PANTHEIOS_BEID_ALL, &init, NULL, &token); | |
| 
 | |
|     if(PANTHEIOS_INIT_RC_SUCCESS != res) | |
|     { | |
|         XTESTS_FAIL_WITH_QUALIFIER("failed to initialise bec.fprintf", pantheios::getInitErrorString(res)); | |
|     } | |
|     else | |
|     { | |
|         stlsoft::scoped_handle<void*>   uninit_(token, pantheios_be_fprintf_uninit); | |
| 
 | |
|         // create the output file | |
|         FILE* f = reopen_file(STDERR_FILE_NAME, "w", stderr); | |
| 
 | |
|         if(NULL == f) | |
|         { | |
|             XTESTS_FAIL_WITH_QUALIFIER("failed to reopen standard output stream", strerror(errno)); | |
|         } | |
|         else | |
|         { | |
|             { for(size_t i = 0; i != STLSOFT_NUM_ELEMENTS(strings); ++i) | |
|             { | |
|                 pantheios_be_fprintf_logEntry(NULL, token, PANTHEIOS_SEV_ERROR, strings[i], stlsoft::c_str_len(strings[i])); | |
|             }} | |
| 
 | |
|             ::fclose(f); | |
| 
 | |
|             // close the output file | |
|             lines_t         lines(STDERR_FILE_NAME); | |
|             string_t const  resultPrefix = PSTR("[") + string_t(PANTHEIOS_FE_PROCESS_IDENTITY) + PSTR(".") + gettidstr_() + PSTR("; ") + string_t(pantheios::getSeverityString(PANTHEIOS_SEV_ERROR)) + PSTR("]: "); | |
| 
 | |
|             ::remove(STDERR_FILE_NAME); | |
| 
 | |
|             // Start the tests | |
|             XTESTS_REQUIRE(XTESTS_TEST_INTEGER_EQUAL(STLSOFT_NUM_ELEMENTS(strings), lines.size())); | |
| 
 | |
|             if(STLSOFT_NUM_ELEMENTS(strings) == lines.size()) | |
|             { | |
|                 { for(size_t i = 0; i != STLSOFT_NUM_ELEMENTS(strings); ++i) | |
|                 { | |
| #if 0 | |
|                     XTESTS_TEST_STRING_EQUAL((resultPrefix + strings[i]), PGET_(lines[i])); | |
| #endif /* 0 */ | |
|                 }} | |
|             } | |
|         } | |
|     } | |
| } | |
| 
 | |
| } // anonymous namespace | |
|  | |
| /* ///////////////////////////// end of file //////////////////////////// */
 |