Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
Work around a solaris libtool issue
[simgrid.git] / testsuite / surf / trace_usage.c
1 /*      $Id$     */
2
3 /* A few tests for the trace library                                       */
4
5 /* Copyright (c) 2004 Arnaud Legrand. All rights reserved.                  */
6
7 /* This program is free software; you can redistribute it and/or modify it
8  * under the terms of the license (GNU LGPL) which comes with this package. */
9
10 #include <stdlib.h>
11 #include <stdio.h>
12 #include <string.h>
13 #include "surf/trace_mgr.h"
14 #include "surf/surf.h"
15
16 void test(void);
17 void test(void)
18 {
19   tmgr_history_t history = tmgr_history_new();
20   tmgr_trace_t trace_A = tmgr_trace_new("trace_A.txt");
21   tmgr_trace_t trace_B = tmgr_trace_new("trace_B.txt");
22   double next_event_date = -1.0;
23   double value = -1.0;
24   char *resource = NULL;
25   char *host_A = strdup("Host A");
26   char *host_B = strdup("Host B");
27
28   tmgr_history_add_trace(history, trace_A, 1.0, 2, host_A);
29   tmgr_history_add_trace(history, trace_B, 0.0, 0, host_B);
30
31   while ((next_event_date = tmgr_history_next_date(history)) != -1.0) {
32     printf("%lg" " : \n", next_event_date);
33     while (tmgr_history_get_next_event_leq(history, next_event_date,
34                                            &value, (void **) &resource)) {
35       printf("\t %s : " "%lg" "\n", resource, value);
36     }
37     if (next_event_date > 1000)
38       break;
39   }
40
41   tmgr_trace_free(trace_A);
42   tmgr_trace_free(trace_B);
43   tmgr_history_free(history);
44   free(host_B);
45   free(host_A);
46 }
47
48
49 int main(int argc, char **argv)
50 {
51   surf_init(&argc,argv);
52   test();
53   return 0;
54 }