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.
132 lines
3.6 KiB
132 lines
3.6 KiB
/* /////////////////////////////////////////////////////////////////////////
|
|
* File: test/scratch/test.scratch.be.N.fail/test.scratch.be.N.fail.cpp
|
|
*
|
|
* Purpose: Implementation file for the be.N.fail.test project.
|
|
*
|
|
* Created: 9th January 2007
|
|
* Updated: 23rd March 2010
|
|
*
|
|
* Status: Wizard-generated
|
|
*
|
|
* License: (Licensed under the Synesis Software Open License)
|
|
*
|
|
* Copyright (c) 2007-2010, Synesis Software Pty Ltd.
|
|
* All rights reserved.
|
|
*
|
|
* www: http://www.synesis.com.au/software
|
|
*
|
|
* ////////////////////////////////////////////////////////////////////// */
|
|
|
|
|
|
#define PANTHEIOS_NO_INCLUDE_OS_AND_3PTYLIB_STRING_ACCESS
|
|
|
|
/* This inclusion required for suppressing warnings during NoX (No eXception-support) configurations. */
|
|
#include <pantheios/util/test/compiler_warnings_suppression.first_include.h>
|
|
|
|
/* Pantheios Header Files */
|
|
#include <pantheios/pantheios.hpp>
|
|
#include <pantheios/inserters/exception.hpp>
|
|
|
|
#include <pantheios/frontends/fe.N.h>
|
|
#include <pantheios/backends/be.N.h>
|
|
#include <pantheios/backends/bec.fail.h>
|
|
#include <pantheios/backends/bec.file.h>
|
|
#include <pantheios/backends/bec.fprintf.h>
|
|
|
|
/* Standard C++ Header Files */
|
|
#ifdef STLSOFT_CF_EXCEPTION_SUPPORT
|
|
# include <exception>
|
|
#endif /* STLSOFT_CF_EXCEPTION_SUPPORT */
|
|
|
|
/* Standard C Header Files */
|
|
#include <stdlib.h>
|
|
|
|
#if defined(_MSC_VER) && \
|
|
defined(_DEBUG)
|
|
# include <crtdbg.h>
|
|
#endif /* _MSC_VER) && _DEBUG */
|
|
|
|
#include <pantheios/util/test/compiler_warnings_suppression.last_include.h>
|
|
|
|
/* ////////////////////////////////////////////////////////////////////// */
|
|
|
|
#define PSTR(x) PANTHEIOS_LITERAL_STRING(x)
|
|
|
|
/* /////////////////////////////////////////////////////////////////////////
|
|
* Globals
|
|
*/
|
|
|
|
extern "C"
|
|
{
|
|
|
|
const PAN_CHAR_T PANTHEIOS_FE_PROCESS_IDENTITY[] = PANTHEIOS_LITERAL_STRING("be.N.fail.test");
|
|
pan_fe_N_t PAN_FE_N_SEVERITY_CEILINGS[] =
|
|
{
|
|
{ 0, PANTHEIOS_SEV_DEBUG }
|
|
};
|
|
pan_be_N_t PAN_BE_N_BACKEND_LIST[] =
|
|
{
|
|
PANTHEIOS_BE_N_STDFORM_ENTRY(1, pantheios_be_fail, PANTHEIOS_BE_N_F_IGNORE_INIT_FAILURE),
|
|
PANTHEIOS_BE_N_STDFORM_ENTRY(2, pantheios_be_file, 0),
|
|
PANTHEIOS_BE_N_STDFORM_ENTRY(3, pantheios_be_fail, PANTHEIOS_BE_N_F_IGNORE_INIT_FAILURE),
|
|
PANTHEIOS_BE_N_STDFORM_ENTRY(4, pantheios_be_fprintf, 0),
|
|
PANTHEIOS_BE_N_TERMINATOR_ENTRY
|
|
};
|
|
|
|
} // extern "C"
|
|
|
|
/* ////////////////////////////////////////////////////////////////////// */
|
|
|
|
static int main_(int /* argc */, char ** /*argv*/)
|
|
{
|
|
pantheios::log_NOTICE(PSTR("a notice"));
|
|
|
|
return EXIT_SUCCESS;
|
|
}
|
|
|
|
int main(int argc, char *argv[])
|
|
{
|
|
int res;
|
|
|
|
#if defined(_MSC_VER) && \
|
|
defined(_DEBUG)
|
|
_CrtMemState memState;
|
|
#endif /* _MSC_VER && _MSC_VER */
|
|
|
|
#if defined(_MSC_VER) && \
|
|
defined(_DEBUG)
|
|
_CrtMemCheckpoint(&memState);
|
|
#endif /* _MSC_VER && _MSC_VER */
|
|
|
|
#ifdef STLSOFT_CF_EXCEPTION_SUPPORT
|
|
try
|
|
{
|
|
#endif /* STLSOFT_CF_EXCEPTION_SUPPORT */
|
|
|
|
res = main_(argc, argv);
|
|
|
|
#ifdef STLSOFT_CF_EXCEPTION_SUPPORT
|
|
}
|
|
catch(std::exception &x)
|
|
{
|
|
pantheios::log_ALERT(PSTR("Unexpected general error: "), pantheios::exception(x), PSTR(". Application terminating"));
|
|
|
|
res = EXIT_FAILURE;
|
|
}
|
|
catch(...)
|
|
{
|
|
pantheios::logputs(pantheios::emergency, PSTR("Unhandled unknown error"));
|
|
|
|
res = EXIT_FAILURE;
|
|
}
|
|
#endif /* STLSOFT_CF_EXCEPTION_SUPPORT */
|
|
|
|
#if defined(_MSC_VER) && \
|
|
defined(_DEBUG)
|
|
_CrtMemDumpAllObjectsSince(&memState);
|
|
#endif /* _MSC_VER) && _DEBUG */
|
|
|
|
return res;
|
|
}
|
|
|
|
/* ////////////////////////////////////////////////////////////////////// */
|