X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/370ea46481063ab8f3a90e3b198d635601b9fea2..2dc4cabe32926d0c2a8be832f87cbca916d638f8:/testsuite/surf/surf_usage2.c diff --git a/testsuite/surf/surf_usage2.c b/testsuite/surf/surf_usage2.c index 876d6dd752..4c9e416c30 100644 --- a/testsuite/surf/surf_usage2.c +++ b/testsuite/surf/surf_usage2.c @@ -1,8 +1,7 @@ -/* $Id$ */ - /* A few basic tests for the surf library */ -/* Copyright (c) 2004 Arnaud Legrand. All rights reserved. */ +/* Copyright (c) 2004, 2005, 2006, 2007, 2008, 2009, 2010. The SimGrid Team. + * All rights reserved. */ /* This program is free software; you can redistribute it and/or modify it * under the terms of the license (GNU LGPL) which comes with this package. */ @@ -12,9 +11,11 @@ #include #include "surf/surf.h" +#include "surf/surfxml_parse.h" // for reset callback #include "xbt/log.h" -XBT_LOG_NEW_DEFAULT_CATEGORY(surf_test, "Messages specific for surf example"); +XBT_LOG_NEW_DEFAULT_CATEGORY(surf_test, + "Messages specific for surf example"); const char *string_action(e_surf_action_state_t state); const char *string_action(e_surf_action_state_t state) @@ -49,16 +50,21 @@ void test(char *platform) int running; int workstation_id = - find_model_description(surf_workstation_model_description, "CLM03"); - - surf_workstation_model_description[workstation_id].model_init_preparse(platform); + find_model_description(surf_workstation_model_description, "CLM03"); + surf_parse_reset_callbacks(); + surf_workstation_model_description[workstation_id]. + model_init_preparse(platform); parse_platform_file(platform); - if (surf_workstation_model_description[workstation_id].model_init_postparse) - surf_workstation_model_description[workstation_id].model_init_postparse(); + if (surf_workstation_model_description[workstation_id]. + model_init_postparse) + surf_workstation_model_description[workstation_id]. + model_init_postparse(); /*********************** WORKSTATION ***********************************/ - workstationA = surf_model_resource_by_name(surf_workstation_model,"Cpu A"); - workstationB = surf_model_resource_by_name(surf_workstation_model,"Cpu B"); + workstationA = + surf_model_resource_by_name(surf_workstation_model, "Cpu A"); + workstationB = + surf_model_resource_by_name(surf_workstation_model, "Cpu B"); /* Let's check that those two processors exist */ DEBUG2("%s : %p", surf_resource_name(workstationA), workstationA); @@ -66,18 +72,20 @@ void test(char *platform) /* Let's do something on it */ actionA = - surf_workstation_model->extension.workstation.execute(workstationA, 1000.0); + surf_workstation_model->extension.workstation.execute(workstationA, + 1000.0); actionB = - surf_workstation_model->extension.workstation.execute(workstationB, 1000.0); + surf_workstation_model->extension.workstation.execute(workstationB, + 1000.0); actionC = - surf_workstation_model->extension.workstation.sleep(workstationB, 7.32); + surf_workstation_model->extension.workstation.sleep(workstationB, + 7.32); commAB = - surf_workstation_model->extension.workstation.communicate(workstationA, - workstationB, 150.0, - -1.0); + surf_workstation_model->extension.workstation. + communicate(workstationA, workstationB, 150.0, -1.0); - surf_solve(); /* Takes traces into account. Returns 0.0 */ + surf_solve(-1.0); /* Takes traces into account. Returns 0.0 */ do { surf_action_t action = NULL; unsigned int iter; @@ -89,13 +97,11 @@ void test(char *platform) xbt_dynar_foreach(model_list, iter, model) { DEBUG1("\t %s actions", model->name); - while ((action = - xbt_swag_extract(model->states.failed_action_set))) { + while ((action = xbt_swag_extract(model->states.failed_action_set))) { DEBUG1("\t * Failed : %p", action); model->action_unref(action); } - while ((action = - xbt_swag_extract(model->states.done_action_set))) { + while ((action = xbt_swag_extract(model->states.done_action_set))) { DEBUG1("\t * Done : %p", action); model->action_unref(action); } @@ -104,7 +110,7 @@ void test(char *platform) running = 1; } } - } while (running && surf_solve() >= 0.0); + } while (running && surf_solve(-1.0) >= 0.0); DEBUG0("Simulation Terminated");