tests: Add a win_skip() function to allow for missing Windows functionality that must be present in Wine.
This commit is contained in:
parent
ad2c9211bc
commit
e767a2c04d
|
@ -69,28 +69,34 @@ extern void winetest_wait_child_process( HANDLE process );
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
extern int broken( int condition );
|
extern int broken( int condition );
|
||||||
|
extern int winetest_vok( int condition, const char *msg, va_list ap );
|
||||||
|
extern void winetest_vskip( const char *msg, va_list ap );
|
||||||
|
|
||||||
#ifdef __GNUC__
|
#ifdef __GNUC__
|
||||||
|
|
||||||
extern int winetest_ok( int condition, const char *msg, ... ) __attribute__((format (printf,2,3) ));
|
extern int winetest_ok( int condition, const char *msg, ... ) __attribute__((format (printf,2,3) ));
|
||||||
extern void winetest_skip( const char *msg, ... ) __attribute__((format (printf,1,2)));
|
extern void winetest_skip( const char *msg, ... ) __attribute__((format (printf,1,2)));
|
||||||
|
extern void winetest_win_skip( const char *msg, ... ) __attribute__((format (printf,1,2)));
|
||||||
extern void winetest_trace( const char *msg, ... ) __attribute__((format (printf,1,2)));
|
extern void winetest_trace( const char *msg, ... ) __attribute__((format (printf,1,2)));
|
||||||
|
|
||||||
#else /* __GNUC__ */
|
#else /* __GNUC__ */
|
||||||
|
|
||||||
extern int winetest_ok( int condition, const char *msg, ... );
|
extern int winetest_ok( int condition, const char *msg, ... );
|
||||||
extern void winetest_skip( const char *msg, ... );
|
extern void winetest_skip( const char *msg, ... );
|
||||||
|
extern void winetest_win_skip( const char *msg, ... );
|
||||||
extern void winetest_trace( const char *msg, ... );
|
extern void winetest_trace( const char *msg, ... );
|
||||||
|
|
||||||
#endif /* __GNUC__ */
|
#endif /* __GNUC__ */
|
||||||
|
|
||||||
#define ok_(file, line) (winetest_set_location(file, line), 0) ? 0 : winetest_ok
|
#define ok_(file, line) (winetest_set_location(file, line), 0) ? 0 : winetest_ok
|
||||||
#define skip_(file, line) (winetest_set_location(file, line), 0) ? (void)0 : winetest_skip
|
#define skip_(file, line) (winetest_set_location(file, line), 0) ? (void)0 : winetest_skip
|
||||||
#define trace_(file, line) (winetest_set_location(file, line), 0) ? (void)0 : winetest_trace
|
#define win_skip_(file, line) (winetest_set_location(file, line), 0) ? (void)0 : winetest_win_skip
|
||||||
|
#define trace_(file, line) (winetest_set_location(file, line), 0) ? (void)0 : winetest_trace
|
||||||
|
|
||||||
#define ok ok_(__FILE__, __LINE__)
|
#define ok ok_(__FILE__, __LINE__)
|
||||||
#define skip skip_(__FILE__, __LINE__)
|
#define skip skip_(__FILE__, __LINE__)
|
||||||
#define trace trace_(__FILE__, __LINE__)
|
#define win_skip win_skip_(__FILE__, __LINE__)
|
||||||
|
#define trace trace_(__FILE__, __LINE__)
|
||||||
|
|
||||||
#define todo(platform) for (winetest_start_todo(platform); \
|
#define todo(platform) for (winetest_start_todo(platform); \
|
||||||
winetest_loop_todo(); \
|
winetest_loop_todo(); \
|
||||||
|
@ -241,9 +247,8 @@ int broken( int condition )
|
||||||
* Return:
|
* Return:
|
||||||
* 0 if condition does not have the expected value, 1 otherwise
|
* 0 if condition does not have the expected value, 1 otherwise
|
||||||
*/
|
*/
|
||||||
int winetest_ok( int condition, const char *msg, ... )
|
int winetest_vok( int condition, const char *msg, va_list args )
|
||||||
{
|
{
|
||||||
va_list valist;
|
|
||||||
tls_data* data=get_tls_data();
|
tls_data* data=get_tls_data();
|
||||||
|
|
||||||
if (data->todo_level)
|
if (data->todo_level)
|
||||||
|
@ -254,10 +259,8 @@ int winetest_ok( int condition, const char *msg, ... )
|
||||||
data->current_file, data->current_line );
|
data->current_file, data->current_line );
|
||||||
if (msg[0])
|
if (msg[0])
|
||||||
{
|
{
|
||||||
va_start(valist, msg);
|
|
||||||
fprintf(stdout,": ");
|
fprintf(stdout,": ");
|
||||||
vfprintf(stdout, msg, valist);
|
vfprintf(stdout, msg, args);
|
||||||
va_end(valist);
|
|
||||||
}
|
}
|
||||||
InterlockedIncrement(&todo_failures);
|
InterlockedIncrement(&todo_failures);
|
||||||
return 0;
|
return 0;
|
||||||
|
@ -272,10 +275,8 @@ int winetest_ok( int condition, const char *msg, ... )
|
||||||
data->current_file, data->current_line );
|
data->current_file, data->current_line );
|
||||||
if (msg[0])
|
if (msg[0])
|
||||||
{
|
{
|
||||||
va_start(valist, msg);
|
|
||||||
fprintf( stdout,": ");
|
fprintf( stdout,": ");
|
||||||
vfprintf(stdout, msg, valist);
|
vfprintf(stdout, msg, args);
|
||||||
va_end(valist);
|
|
||||||
}
|
}
|
||||||
InterlockedIncrement(&failures);
|
InterlockedIncrement(&failures);
|
||||||
return 0;
|
return 0;
|
||||||
|
@ -291,6 +292,17 @@ int winetest_ok( int condition, const char *msg, ... )
|
||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
int winetest_ok( int condition, const char *msg, ... )
|
||||||
|
{
|
||||||
|
va_list valist;
|
||||||
|
int rc;
|
||||||
|
|
||||||
|
va_start(valist, msg);
|
||||||
|
rc=winetest_vok(condition, msg, valist);
|
||||||
|
va_end(valist);
|
||||||
|
return rc;
|
||||||
|
}
|
||||||
|
|
||||||
void winetest_trace( const char *msg, ... )
|
void winetest_trace( const char *msg, ... )
|
||||||
{
|
{
|
||||||
va_list valist;
|
va_list valist;
|
||||||
|
@ -305,18 +317,34 @@ void winetest_trace( const char *msg, ... )
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void winetest_skip( const char *msg, ... )
|
void winetest_vskip( const char *msg, va_list args )
|
||||||
{
|
{
|
||||||
va_list valist;
|
|
||||||
tls_data* data=get_tls_data();
|
tls_data* data=get_tls_data();
|
||||||
|
|
||||||
fprintf( stdout, "%s:%d: Tests skipped: ", data->current_file, data->current_line );
|
fprintf( stdout, "%s:%d: Tests skipped: ", data->current_file, data->current_line );
|
||||||
va_start(valist, msg);
|
vfprintf(stdout, msg, args);
|
||||||
vfprintf(stdout, msg, valist);
|
|
||||||
va_end(valist);
|
|
||||||
skipped++;
|
skipped++;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void winetest_skip( const char *msg, ... )
|
||||||
|
{
|
||||||
|
va_list valist;
|
||||||
|
va_start(valist, msg);
|
||||||
|
winetest_vskip(msg, valist);
|
||||||
|
va_end(valist);
|
||||||
|
}
|
||||||
|
|
||||||
|
void winetest_win_skip( const char *msg, ... )
|
||||||
|
{
|
||||||
|
va_list valist;
|
||||||
|
va_start(valist, msg);
|
||||||
|
if (strcmp(winetest_platform, "windows") == 0)
|
||||||
|
winetest_vskip(msg, valist);
|
||||||
|
else
|
||||||
|
winetest_vok(0, msg, valist);
|
||||||
|
va_end(valist);
|
||||||
|
}
|
||||||
|
|
||||||
void winetest_start_todo( const char* platform )
|
void winetest_start_todo( const char* platform )
|
||||||
{
|
{
|
||||||
tls_data* data=get_tls_data();
|
tls_data* data=get_tls_data();
|
||||||
|
|
Loading…
Reference in New Issue