xbt_test_suite_t xbt_test_suite_new(const char *name, const char *fmt, ...) {
xbt_test_suite_t suite = xbt_new0(struct s_xbt_test_suite,1);
va_list ap;
+ int vres;
if (!_xbt_test_suites)
_xbt_test_suites = xbt_dynar_new(sizeof(xbt_test_suite_t),xbt_test_suite_free);
va_start(ap, fmt);
- vasprintf(&suite->title,fmt, ap);
+ vres = vasprintf(&suite->title,fmt, ap);
suite->units = xbt_dynar_new(sizeof(xbt_test_unit_t), &xbt_test_unit_free);
va_end(ap);
suite->name = name;
char *bufname;
va_list ap;
+ int vres;
if (_xbt_test_suites)
xbt_dynar_foreach(_xbt_test_suites, it_suite, suite)
return suite;
va_start(ap, fmt);
- vasprintf(&bufname,fmt, ap);
+ vres = vasprintf(&bufname,fmt, ap);
va_end(ap);
suite = xbt_test_suite_new(name,bufname,NULL);
free(bufname);
void xbt_test_suite_push(xbt_test_suite_t suite, const char *name, ts_test_cb_t func, const char *fmt, ...) {
xbt_test_unit_t unit;
va_list ap;
+ int vres;
xbt_assert(suite);
xbt_assert(func);
unit = xbt_new0(struct s_xbt_test_unit,1);
va_start(ap, fmt);
- vasprintf(&unit->title, fmt, ap);
+ vres = vasprintf(&unit->title, fmt, ap);
va_end(ap);
unit->name = (char*)name;
unit->func = func;
unsigned int it_unit,it_test,it_log;
int first=1; /* for result pretty printing */
+ int vres;
if (suite == NULL)
return 0;
unit->test_expect = 0;
/* display unit title */
- asprintf(&cp," Unit: %s ......................................"
+ vres=asprintf(&cp," Unit: %s ......................................"
"......................................", unit->title);
cp[70] = '\0';
fprintf(stderr, "%s", cp);
xbt_test_unit_t unit=_xbt_test_current_unit;
xbt_test_test_t test;
va_list ap;
+ int vres;
xbt_assert(unit);
xbt_assert(fmt);
test = xbt_new0(struct s_xbt_test_test,1);
va_start(ap, fmt);
- vasprintf(&test->title, fmt, ap);
+ vres=vasprintf(&test->title, fmt, ap);
va_end(ap);
test->failed = 0;
test->expected_failure = 0;
xbt_test_test_t test;
xbt_test_log_t log;
va_list ap;
+ int vres;
xbt_assert(unit);
xbt_assert(fmt);
log = xbt_new(struct s_xbt_test_log,1);
va_start(ap, fmt);
- vasprintf(&log->text,fmt, ap);
+ vres=vasprintf(&log->text,fmt, ap);
va_end(ap);
log->file = file;
log->line = line;
xbt_test_test_t test;
xbt_test_log_t log;
va_list ap;
+ int vres;
xbt_assert(unit);
xbt_assert(fmt);
log = xbt_new(struct s_xbt_test_log,1);
va_start(ap, fmt);
- vasprintf(&log->text, fmt, ap);
+ vres=vasprintf(&log->text, fmt, ap);
va_end(ap);
log->file = file;
log->line = line;
#define FLEX_SCANNER
#define YY_FLEX_MAJOR_VERSION 2
#define YY_FLEX_MINOR_VERSION 5
-#define YY_FLEX_SUBMINOR_VERSION 34
+#define YY_FLEX_SUBMINOR_VERSION 35
#if YY_FLEX_SUBMINOR_VERSION > 0
#define FLEX_BETA
#endif
typedef unsigned char flex_uint8_t;
typedef unsigned short int flex_uint16_t;
typedef unsigned int flex_uint32_t;
-#endif /* ! C99 */
/* Limits of integral types. */
#ifndef INT8_MIN
#define UINT32_MAX (4294967295U)
#endif
+#endif /* ! C99 */
+
#endif /* ! FLEXINT_H */
#ifdef __cplusplus
#define unput(c) yyunput( c, (yytext_ptr) )
-/* The following is because we cannot portably get our hands on size_t
- * (without autoconf's help, which isn't available because we want
- * flex-generated scanners to compile on their own).
- * Given that the standard has decreed that size_t exists since 1989,
- * I guess we can afford to depend on it. Manoj.
- */
-
#ifndef YY_TYPEDEF_YY_SIZE_T
#define YY_TYPEDEF_YY_SIZE_T
typedef size_t yy_size_t;
/* Begin user sect3 */
-#ifdef WIN32
-#define xbt_graph_parse_wrap() 1
-#else
#define xbt_graph_parse_wrap(n) 1
-#endif
#define YY_SKIP_YYWRAP
typedef unsigned char YY_CHAR;
static int yy_init_globals (void );
+/* Accessor methods to globals.
+ These are made visible to non-reentrant scanners for convenience. */
+
+int xbt_graph_parse_lex_destroy (void );
+
+int xbt_graph_parse_get_debug (void );
+
+void xbt_graph_parse_set_debug (int debug_flag );
+
+YY_EXTRA_TYPE xbt_graph_parse_get_extra (void );
+
+void xbt_graph_parse_set_extra (YY_EXTRA_TYPE user_defined );
+
+FILE *xbt_graph_parse_get_in (void );
+
+void xbt_graph_parse_set_in (FILE * in_str );
+
+FILE *xbt_graph_parse_get_out (void );
+
+void xbt_graph_parse_set_out (FILE * out_str );
+
+int xbt_graph_parse_get_leng (void );
+
+char *xbt_graph_parse_get_text (void );
+
+int xbt_graph_parse_get_lineno (void );
+
+void xbt_graph_parse_set_lineno (int line_number );
+
/* Macros after this point can all be overridden by user definitions in
* section 1.
*/
/* This used to be an fputs(), but since the string might contain NUL's,
* we now use fwrite().
*/
-#define ECHO fwrite( xbt_graph_parse_text, xbt_graph_parse_leng, 1, xbt_graph_parse_out )
+#define ECHO do { if (fwrite( xbt_graph_parse_text, xbt_graph_parse_leng, 1, xbt_graph_parse_out )) {} } while (0)
#endif
/* Gets input and stuffs it into "buf". number of characters read, or YY_NULL,
if ( YY_CURRENT_BUFFER_LVALUE->yy_is_interactive ) \
{ \
int c = '*'; \
- int n; \
+ size_t n; \
for ( n = 0; n < max_size && \
(c = getc( xbt_graph_parse_in )) != EOF && c != '\n'; ++n ) \
buf[n] = (char) c; \
}
#ifndef __cplusplus
-#ifndef WIN32
extern int isatty (int );
-#endif
#endif /* __cplusplus */
/* Initializes or reinitializes a buffer.
"9.........1.........2.........3.........4.........5.........6.........7.........8.........9........." \
"0.........1.........2.........3.........4.........5.........6.........7.........8.........9........."
-static void mytest(const char *name, const char *input, const char *patterns, const char *expected) {
+static void mytest(const char *input, const char *patterns, const char *expected) {
xbt_dynar_t dyn_patterns; /* splited string */
xbt_dict_t p; /* patterns */
unsigned int cpt; char *str; /*foreach*/
xbt_strbuff_t sb; /* what we test */
- xbt_test_add0(name);
p=xbt_dict_new();
dyn_patterns=xbt_str_split(patterns," ");
xbt_dynar_foreach(dyn_patterns,cpt,str) {
XBT_TEST_SUITE("xbt_strbuff","String Buffers");
XBT_TEST_UNIT("xbt_strbuff_substitute",test_strbuff_substitute, "test the function xbt_strbuff_substitute") {
- mytest("Empty", "", "", "");
-
- mytest("Value shorter, no braces, only variable", "$tutu", "tutu=t", "t");
- mytest("Value shorter, braces, only variable", "${tutu}", "tutu=t", "t");
- mytest("Value shorter, no braces, data after", "$tutu toto", "tutu=t", "t toto");
- mytest("Value shorter, braces, data after", "${tutu} toto", "tutu=t", "t toto");
- mytest("Value shorter, no braces, data before", "toto $tutu", "tutu=t", "toto t");
- mytest("Value shorter, braces, data before", "toto ${tutu}", "tutu=t", "toto t");
- mytest("Value shorter, no braces, data before and after", "toto $tutu tata", "tutu=t", "toto t tata");
- mytest("Value shorter, braces, data before and after", "toto ${tutu} tata", "tutu=t", "toto t tata");
-
- mytest("Value as long, no braces, only variable", "$tutu", "tutu=12345", "12345");
- mytest("Value as long, braces, only variable", "${tutu}", "tutu=1234567", "1234567");
- mytest("Value as long, no braces, data after", "$tutu toto", "tutu=12345", "12345 toto");
- mytest("Value as long, braces, data after", "${tutu} toto", "tutu=1234567", "1234567 toto");
- mytest("Value as long, no braces, data before", "toto $tutu", "tutu=12345", "toto 12345");
- mytest("Value as long, braces, data before", "toto ${tutu}", "tutu=1234567", "toto 1234567");
- mytest("Value as long, no braces, data before and after", "toto $tutu tata", "tutu=12345", "toto 12345 tata");
- mytest("Value as long, braces, data before and after", "toto ${tutu} tata", "tutu=1234567", "toto 1234567 tata");
-
- mytest("Value longer, no braces, only variable", "$t", "t=tututu", "tututu");
- mytest("Value longer, braces, only variable", "${t}", "t=tututu", "tututu");
- mytest("Value longer, no braces, data after", "$t toto", "t=tututu", "tututu toto");
- mytest("Value longer, braces, data after", "${t} toto", "t=tututu", "tututu toto");
- mytest("Value longer, no braces, data before", "toto $t", "t=tututu", "toto tututu");
- mytest("Value longer, braces, data before", "toto ${t}", "t=tututu", "toto tututu");
- mytest("Value longer, no braces, data before and after", "toto $t tata", "t=tututu", "toto tututu tata");
- mytest("Value longer, braces, data before and after", "toto ${t} tata", "t=tututu", "toto tututu tata");
-
- mytest("Value much longer, no braces, only variable", "$t", "t=" force_resize, force_resize);
- mytest("Value much longer, braces, only variable", "${t}", "t=" force_resize, force_resize);
- mytest("Value much longer, no braces, data after", "$t toto", "t=" force_resize, force_resize " toto");
- mytest("Value much longer, braces, data after", "${t} toto", "t=" force_resize, force_resize " toto");
- mytest("Value much longer, no braces, data before", "toto $t", "t=" force_resize, "toto " force_resize);
- mytest("Value much longer, braces, data before", "toto ${t}", "t=" force_resize, "toto " force_resize);
- mytest("Value much longer, no braces, data before and after", "toto $t tata", "t=" force_resize, "toto " force_resize " tata");
- mytest("Value much longer, braces, data before and after", "toto ${t} tata", "t=" force_resize, "toto " force_resize " tata");
-
- mytest("Escaped $", "\\$tutu", "tutu=t", "\\$tutu");
- mytest("Space in var name (with braces)", "${tu ti}", "tu_ti=t", "t");
-
- mytest("Two variables", "$toto $tutu","toto=1 tutu=2", "1 2");
+ xbt_test_add0("Empty");mytest("", "", "");
+
+ xbt_test_add0("Value shorter, no braces, only variable");mytest("$tutu", "tutu=t", "t");
+ xbt_test_add0("Value shorter, braces, only variable");mytest("${tutu}", "tutu=t", "t");
+ xbt_test_add0("Value shorter, no braces, data after");mytest("$tutu toto", "tutu=t", "t toto");
+ xbt_test_add0("Value shorter, braces, data after");mytest("${tutu} toto", "tutu=t", "t toto");
+ xbt_test_add0("Value shorter, no braces, data before");mytest("toto $tutu", "tutu=t", "toto t");
+ xbt_test_add0("Value shorter, braces, data before");mytest("toto ${tutu}", "tutu=t", "toto t");
+ xbt_test_add0("Value shorter, no braces, data before and after");mytest("toto $tutu tata", "tutu=t", "toto t tata");
+ xbt_test_add0("Value shorter, braces, data before and after");mytest("toto ${tutu} tata", "tutu=t", "toto t tata");
+
+ xbt_test_add0("Value as long, no braces, only variable");mytest("$tutu", "tutu=12345", "12345");
+ xbt_test_add0("Value as long, braces, only variable");mytest("${tutu}", "tutu=1234567", "1234567");
+ xbt_test_add0("Value as long, no braces, data after");mytest("$tutu toto", "tutu=12345", "12345 toto");
+ xbt_test_add0("Value as long, braces, data after");mytest("${tutu} toto", "tutu=1234567", "1234567 toto");
+ xbt_test_add0("Value as long, no braces, data before");mytest("toto $tutu", "tutu=12345", "toto 12345");
+ xbt_test_add0("Value as long, braces, data before");mytest("toto ${tutu}", "tutu=1234567", "toto 1234567");
+ xbt_test_add0("Value as long, no braces, data before and after");mytest("toto $tutu tata", "tutu=12345", "toto 12345 tata");
+ xbt_test_add0("Value as long, braces, data before and after");mytest("toto ${tutu} tata", "tutu=1234567", "toto 1234567 tata");
+
+ xbt_test_add0("Value longer, no braces, only variable");mytest("$t", "t=tututu", "tututu");
+ xbt_test_add0("Value longer, braces, only variable");mytest("${t}", "t=tututu", "tututu");
+ xbt_test_add0("Value longer, no braces, data after");mytest("$t toto", "t=tututu", "tututu toto");
+ xbt_test_add0("Value longer, braces, data after");mytest("${t} toto", "t=tututu", "tututu toto");
+ xbt_test_add0("Value longer, no braces, data before");mytest("toto $t", "t=tututu", "toto tututu");
+ xbt_test_add0("Value longer, braces, data before");mytest("toto ${t}", "t=tututu", "toto tututu");
+ xbt_test_add0("Value longer, no braces, data before and after");mytest("toto $t tata", "t=tututu", "toto tututu tata");
+ xbt_test_add0("Value longer, braces, data before and after");mytest("toto ${t} tata", "t=tututu", "toto tututu tata");
+
+ xbt_test_add0("Value much longer, no braces, only variable");mytest("$t", "t=" force_resize, force_resize);
+ xbt_test_add0("Value much longer, no braces, data after");mytest("$t toto", "t=" force_resize, force_resize " toto");
+ xbt_test_add0("Value much longer, braces, data after");mytest("${t} toto", "t=" force_resize, force_resize " toto");
+ xbt_test_add0("Value much longer, no braces, data before");mytest("toto $t", "t=" force_resize, "toto " force_resize);
+ xbt_test_add0("Value much longer, braces, data before");mytest("toto ${t}", "t=" force_resize, "toto " force_resize);
+ xbt_test_add0("Value much longer, no braces, data before and after");mytest("toto $t tata", "t=" force_resize, "toto " force_resize " tata");
+ xbt_test_add0("Value much longer, braces, data before and after");mytest("toto ${t} tata", "t=" force_resize, "toto " force_resize " tata");
+
+ xbt_test_add0("Escaped $");mytest("\\$tutu", "tutu=t", "\\$tutu");
+ xbt_test_add0("Space in var name (with braces)");mytest("${tu ti}", "tu_ti=t", "t");
+
+ xbt_test_add0("Two variables");mytest("$toto $tutu","toto=1 tutu=2", "1 2");
// Commented: I'm too lazy to do a memmove in var name to remove the backslash after use.
// Users should use braces.
- // mytest("Escaped space in var name", "$tu\\ ti", "tu_ti=t", "t");
+ // xbt_test_add0("Escaped space in var name", "$tu\\ ti", "tu_ti=t", "t");
- mytest("Default value", "${t:-toto}", "", "toto");
- mytest("Useless default value (variable already defined)", "${t:-toto}", "t=TRUC", "TRUC");
+ xbt_test_add0("Default value");mytest("${t:-toto}", "", "toto");
+ xbt_test_add0("Useless default value (variable already defined)");mytest("${t:-toto}", "t=TRUC", "TRUC");
}