mirror of
https://github.com/MariaDB/server.git
synced 2025-09-11 05:52:26 +03:00
Port the unit test framework to windows
Backport from 6.0.14 to 5.6.0 Original code from Guilhem Bichot
This commit is contained in:
@@ -19,7 +19,7 @@
|
||||
|
||||
#include "tap.h"
|
||||
|
||||
#include "my_config.h"
|
||||
#include "my_global.h"
|
||||
|
||||
#include <stdlib.h>
|
||||
#include <stdarg.h>
|
||||
@@ -27,6 +27,16 @@
|
||||
#include <string.h>
|
||||
#include <signal.h>
|
||||
|
||||
/*
|
||||
Visual Studio 2003 does not know vsnprintf but knows _vsnprintf.
|
||||
We don't put this #define in config-win.h because we prefer
|
||||
my_vsnprintf everywhere instead, except when linking with libmysys
|
||||
is not desirable - the case here.
|
||||
*/
|
||||
#if defined(_MSC_VER) && ( _MSC_VER == 1310 )
|
||||
#define vsnprintf _vsnprintf
|
||||
#endif
|
||||
|
||||
/**
|
||||
@defgroup MyTAP_Internal MyTAP Internals
|
||||
|
||||
@@ -150,8 +160,10 @@ static signal_entry install_signal[]= {
|
||||
{ SIGILL, handle_core_signal },
|
||||
{ SIGABRT, handle_core_signal },
|
||||
{ SIGFPE, handle_core_signal },
|
||||
{ SIGSEGV, handle_core_signal },
|
||||
{ SIGBUS, handle_core_signal }
|
||||
{ SIGSEGV, handle_core_signal }
|
||||
#ifdef SIGBUS
|
||||
, { SIGBUS, handle_core_signal }
|
||||
#endif
|
||||
#ifdef SIGXCPU
|
||||
, { SIGXCPU, handle_core_signal }
|
||||
#endif
|
||||
@@ -166,13 +178,22 @@ static signal_entry install_signal[]= {
|
||||
#endif
|
||||
};
|
||||
|
||||
int skip_big_tests= 1;
|
||||
|
||||
void
|
||||
plan(int const count)
|
||||
{
|
||||
char *config= getenv("MYTAP_CONFIG");
|
||||
size_t i;
|
||||
|
||||
if (config)
|
||||
skip_big_tests= strcmp(config, "big");
|
||||
|
||||
setvbuf(tapout, 0, _IONBF, 0); /* provide output at once */
|
||||
/*
|
||||
Install signal handler
|
||||
*/
|
||||
size_t i;
|
||||
|
||||
for (i= 0; i < sizeof(install_signal)/sizeof(*install_signal); ++i)
|
||||
signal(install_signal[i].signo, install_signal[i].handler);
|
||||
|
||||
|
Reference in New Issue
Block a user