X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/7093fb34d72a218454bc09aff6f970d68442e0ce..1be63131cd544fd1e142525439c89b7140509bd3:/testsuite/simdag/sd_test.c diff --git a/testsuite/simdag/sd_test.c b/testsuite/simdag/sd_test.c index 944565891c..f4719f119e 100644 --- a/testsuite/simdag/sd_test.c +++ b/testsuite/simdag/sd_test.c @@ -5,13 +5,8 @@ int main(int argc, char **argv) { - /* No deployment file - if (argc < 3) { - printf ("Usage: %s platform_file deployment_file\n", argv[0]); - printf ("example: %s msg_platform.xml msg_deployment.xml\n", argv[0]); - exit(1); - } - */ + /* initialisation of SD */ + SD_init(&argc, argv); if (argc < 2) { printf ("Usage: %s platform_file\n", argv[0]); @@ -19,9 +14,6 @@ int main(int argc, char **argv) { exit(1); } - /* initialisation of SD */ - SD_init(&argc, argv); - /* creation of the environment */ char * platform_file = argv[1]; SD_create_environment(platform_file); @@ -30,52 +22,53 @@ int main(int argc, char **argv) { SD_task_t taskA = SD_task_create("Task A", NULL, 10.0); SD_task_t taskB = SD_task_create("Task B", NULL, 40.0); SD_task_t taskC = SD_task_create("Task C", NULL, 30.0); + SD_task_t taskD = SD_task_create("Task D", NULL, 60.0); - SD_task_dependency_add(NULL, NULL, taskA, taskB); - SD_task_dependency_add(NULL, NULL, taskA, taskC); + SD_task_dependency_add(NULL, NULL, taskB, taskA); + SD_task_dependency_add(NULL, NULL, taskC, taskA); + SD_task_dependency_add(NULL, NULL, taskD, taskB); + SD_task_dependency_add(NULL, NULL, taskD, taskC); + /* SD_task_dependency_add(NULL, NULL, taskA, taskD); /\* deadlock */ - xbt_ex_t ex; +/* xbt_ex_t ex; */ - TRY { - SD_task_dependency_add(NULL, NULL, taskA, taskA); /* shouldn't work and must raise an exception */ - xbt_assert0(0, "Hey, I can add a dependency between Task A and Task A!"); - } - CATCH (ex) { - } +/* TRY { */ +/* SD_task_dependency_add(NULL, NULL, taskA, taskA); /\* shouldn't work and must raise an exception *\/ */ +/* xbt_assert0(0, "Hey, I can add a dependency between Task A and Task A!"); */ +/* } */ +/* CATCH (ex) { */ +/* } */ - TRY { - SD_task_dependency_add(NULL, NULL, taskA, taskB); /* shouldn't work and must raise an exception */ - xbt_assert0(0, "Oh oh, I can add an already existing dependency!"); - } - CATCH (ex) { - } +/* TRY { */ +/* SD_task_dependency_add(NULL, NULL, taskA, taskB); /\* shouldn't work and must raise an exception *\/ */ +/* xbt_assert0(0, "Oh oh, I can add an already existing dependency!"); */ +/* } */ +/* CATCH (ex) { */ +/* } */ + +/* SD_task_dependency_remove(taskA, taskB); */ + +/* TRY { */ +/* SD_task_dependency_remove(taskC, taskA); /\* shouldn't work and must raise an exception *\/ */ +/* xbt_assert0(0, "Dude, I can remove an unknown dependency!"); */ +/* } */ +/* CATCH (ex) { */ +/* } */ + +/* TRY { */ +/* SD_task_dependency_remove(taskC, taskC); /\* shouldn't work and must raise an exception *\/ */ +/* xbt_assert0(0, "Wow, I can remove a dependency between Task C and itself!"); */ +/* } */ +/* CATCH (ex) { */ +/* } */ - SD_task_dependency_remove(taskA, taskB); - TRY { - SD_task_dependency_remove(taskC, taskA); /* shouldn't work and must raise an exception */ - xbt_assert0(0, "Dude, I can remove an unknown dependency!"); - } - CATCH (ex) { - } - - TRY { - SD_task_dependency_remove(taskC, taskC); /* shouldn't work and must raise an exception */ - xbt_assert0(0, "Wow, I can remove a dependency between Task C and itself!"); - } - CATCH (ex) { - } /* if everything is ok, no exception is forwarded or rethrown by main() */ /* watch points */ - /* SD_task_watch(taskA, SD_SCHEDULED); - SD_task_watch(taskA, SD_DONE); - SD_task_unwatch(taskA, SD_SCHEDULED); - SD_task_watch(taskA, SD_DONE); - SD_task_watch(taskA, SD_SCHEDULED);*/ + /* SD_task_watch(taskB, SD_DONE);*/ - SD_task_watch(taskA, SD_SCHEDULED); /* let's launch the simulation! */ @@ -89,10 +82,14 @@ int main(int argc, char **argv) { }; double rate = 1; - /* printf("Scheduling task A (state = %d)...\n", SD_task_get_state(taskA));*/ SD_task_schedule(taskA, workstation_number, workstation_list, computation_amount, communication_amount, rate); - /* printf("Done. Task A state: %d\n", SD_task_get_state(taskA));*/ + SD_task_schedule(taskB, workstation_number, workstation_list, + computation_amount, communication_amount, rate); + SD_task_schedule(taskC, workstation_number, workstation_list, + computation_amount, communication_amount, rate); + SD_task_schedule(taskD, workstation_number, workstation_list, + computation_amount, communication_amount, rate); printf("Launching simulation...\n"); SD_simulate(100); @@ -100,6 +97,7 @@ int main(int argc, char **argv) { SD_task_destroy(taskA); SD_task_destroy(taskB); SD_task_destroy(taskC); + SD_task_destroy(taskD); SD_exit(); return 0; }