Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
Cosmetics.
[simgrid.git] / examples / msg / trace / test_trace_integration.c
1 /* Copyright (c) 2009, 2010. The SimGrid Team.
2  * All rights reserved.                                                     */
3
4 /* This program is free software; you can redistribute it and/or modify it
5  * under the terms of the license (GNU LGPL) which comes with this package. */
6
7 #include <stdio.h>
8 #include <stdlib.h>
9 #include "msg/msg.h"
10 #include "xbt/log.h"
11 #include "xbt/asserts.h"
12
13 XBT_LOG_NEW_DEFAULT_CATEGORY(test_trace_integration,
14                              "Messages specific for this msg example");
15
16 int test_trace(int argc, char *argv[]);
17
18 /** test the trace integration cpu model */
19 int test_trace(int argc, char *argv[])
20 {
21         m_task_t task;
22         double task_comp_size = 2800;
23         double task_prio = 1.0;
24
25         if (argc != 3) {
26                 printf("Wrong number of arguments!\nUsage:\n\t1) task computational size in FLOPS\n\t2 task priority\n");
27             exit(1);
28         }
29
30         task_comp_size = atof(argv[1]);
31         task_prio = atof(argv[2]);
32
33         INFO0("Testing the trace integration cpu model: CpuTI");
34         INFO1("Task size: %lf", task_comp_size);
35         INFO1("Task prio: %lf", task_prio);
36
37         /* Create and execute a single task. */
38         task = MSG_task_create("proc 0", task_comp_size, 0, NULL);
39         MSG_task_set_priority(task, task_prio);
40         MSG_task_execute(task);
41
42         INFO0("Test finished");
43
44
45         return 0;
46 }
47
48 /** Main function */
49 int main(int argc, char *argv[])
50 {
51   MSG_error_t res = MSG_OK;
52
53   /* Verify if the platform xml file was passed by command line. */
54   MSG_global_init(&argc, argv);
55   if (argc < 2) {
56     printf("Usage: %s test_trace_integration_model.xml\n", argv[0]);
57     exit(1);
58   }
59
60   /* Register SimGrid process function. */
61   MSG_function_register("test_trace", test_trace);
62   /* Use the same file for platform and deployment. */
63   MSG_create_environment(argv[1]);
64   MSG_launch_application(argv[1]);
65   /* Run the example. */
66   res = MSG_main();
67
68   MSG_clean();
69
70   if (res == MSG_OK)
71     return 0;
72   else
73     return 1;
74 }