* WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
*/
+#ifndef _GNU_SOURCE
#define _GNU_SOURCE
+#endif
+
+#include <config.h>
#include <stdlib.h>
#include <stdio.h>
#include <string.h>
#include <stdarg.h>
-#include <sys/time.h>
#include <glib.h>
+#ifdef HAVE_SYS_TIME_H
+#include <sys/time.h>
+#endif
+#ifdef G_OS_WIN32
+#include <winsock2.h>
+#endif
#include "test.h"
+extern gint global_passed, global_tests;
+
+#ifndef HAVE_VASPRINTF
+ /* systen does not provide a vasprintf function, use the one
+ provided within eglib itself */
+extern int vasprintf(char **ret, const char *format, va_list ap);
+#endif
+
static gchar *last_result = NULL;
gboolean
start_time_group = get_timestamp();
for(i = 0; tests[i].name != NULL; i++) {
- gchar *result;
+ gchar *result = "";
gboolean iter_pass, run;
iter_pass = FALSE;
}
}
+ global_passed += passed;
+ global_tests += total;
+
if(!quiet) {
gdouble pass_percentage = ((gdouble)passed / (gdouble)total) * 100.0;
if(time) {
va_list args;
gint n;
+#if !defined(HAVE_VASPRINTF) && !defined(_EGLIB_MAJOR)
+ /* We are linked against the real glib, no vasprintf */
+ g_assert_not_reached ();
+ return NULL;
+#else
va_start(args, format);
n = vasprintf(&ret, format, args);
va_end(args);
last_result = ret;
return ret;
+#endif
}
gdouble
get_timestamp()
{
- struct timeval tp;
- gettimeofday(&tp, NULL);
- return (gdouble)tp.tv_sec + (1.e-6) * tp.tv_usec;
+ /* FIXME: We should use g_get_current_time here */
+ GTimeVal res;
+ g_get_current_time (&res);
+ return res.tv_sec + (1.e-6) * res.tv_usec;
}
/*
gchar *strtok_save, **vector;
gchar *token, *token_c;
gint size = 1;
- gint token_length;
+ size_t token_length;
g_return_val_if_fail(string != NULL, NULL);
g_return_val_if_fail(delimiter != NULL, NULL);
}
+