@@ -62,6 +62,7 @@ extern int winetest_interactive;
6262extern const char * winetest_platform ;
6363
6464extern void winetest_set_location ( const char * file , int line );
65+ extern void winetest_subtest (const char * name );
6566extern void winetest_start_todo ( int is_todo );
6667extern int winetest_loop_todo (void );
6768extern void winetest_end_todo (void );
@@ -141,11 +142,13 @@ extern void __winetest_cdecl winetest_print(const char* msg, ...);
141142
142143#endif /* __GNUC__ */
143144
145+ #define subtest_ (file , line ) (winetest_set_location(file, line), 0) ? (void)0 : winetest_subtest
144146#define ok_ (file , line ) (winetest_set_location(file, line), 0) ? (void)0 : winetest_ok
145147#define skip_ (file , line ) (winetest_set_location(file, line), 0) ? (void)0 : winetest_skip
146148#define win_skip_ (file , line ) (winetest_set_location(file, line), 0) ? (void)0 : winetest_win_skip
147149#define trace_ (file , line ) (winetest_set_location(file, line), 0) ? (void)0 : winetest_trace
148150
151+ #define subtest subtest_(__FILE__, __LINE__)
149152#define ok ok_(__FILE__, __LINE__)
150153#define skip skip_(__FILE__, __LINE__)
151154#define win_skip win_skip_(__FILE__, __LINE__)
@@ -345,6 +348,13 @@ void winetest_set_location( const char* file, int line )
345348 data -> current_line = line ;
346349}
347350
351+ void winetest_subtest (const char * name )
352+ {
353+ tls_data * data = get_tls_data ();
354+ printf (__winetest_file_line_prefix ": Subtest %s\n" ,
355+ data -> current_file , data -> current_line , name );
356+ }
357+
348358int broken ( int condition )
349359{
350360 return ((strcmp (winetest_platform , "windows" ) == 0 )
0 commit comments