From: suter Date: Fri, 22 Jun 2012 13:25:03 +0000 (+0200) Subject: Add a new basic test: what happens when simulation ends while some tasks X-Git-Tag: v3_8~488 X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/commitdiff_plain/14f6b4abd703b45e80e563263d8d409c0b766357?hp=-c Add a new basic test: what happens when simulation ends while some tasks are not handle at all? Get wome warnings, dude! --- 14f6b4abd703b45e80e563263d8d409c0b766357 diff --git a/teshsuite/SimGrid.tesh b/teshsuite/SimGrid.tesh index 0c1c933e76..b4a4642a9b 100644 --- a/teshsuite/SimGrid.tesh +++ b/teshsuite/SimGrid.tesh @@ -18,6 +18,7 @@ $ cd ${TESHSUITE_DIR:=.} ! include basic4.tesh ! include basic5.tesh ! include basic6.tesh +! include incomplete.tesh # Network Tests diff --git a/teshsuite/simdag/CMakeLists.txt b/teshsuite/simdag/CMakeLists.txt index 210543a5a2..b003ea4e0f 100644 --- a/teshsuite/simdag/CMakeLists.txt +++ b/teshsuite/simdag/CMakeLists.txt @@ -9,6 +9,7 @@ add_executable(basic3 basic3.c) add_executable(basic4 basic4.c) add_executable(basic5 basic5.c) add_executable(basic6 basic6.c) +add_executable(incomplete incomplete.c) ### Add definitions for compile if(NOT WIN32) @@ -19,6 +20,7 @@ target_link_libraries(basic3 simgrid m pthread ) target_link_libraries(basic4 simgrid m pthread ) target_link_libraries(basic5 simgrid m pthread ) target_link_libraries(basic6 simgrid m pthread ) +target_link_libraries(incomplete simgrid m pthread ) else(NOT WIN32) target_link_libraries(basic0 simgrid) target_link_libraries(basic1 simgrid) @@ -27,6 +29,7 @@ target_link_libraries(basic3 simgrid) target_link_libraries(basic4 simgrid) target_link_libraries(basic5 simgrid) target_link_libraries(basic6 simgrid) +target_link_libraries(incomplete simgrid) endif(NOT WIN32) set(tesh_files @@ -38,6 +41,7 @@ set(tesh_files ${CMAKE_CURRENT_SOURCE_DIR}/basic4.tesh ${CMAKE_CURRENT_SOURCE_DIR}/basic5.tesh ${CMAKE_CURRENT_SOURCE_DIR}/basic6.tesh + ${CMAKE_CURRENT_SOURCE_DIR}/incomplete.tesh ${CMAKE_CURRENT_SOURCE_DIR}/simdag.tesh PARENT_SCOPE ) @@ -55,6 +59,7 @@ set(teshsuite_src ${CMAKE_CURRENT_SOURCE_DIR}/basic4.c ${CMAKE_CURRENT_SOURCE_DIR}/basic5.c ${CMAKE_CURRENT_SOURCE_DIR}/basic6.c + ${CMAKE_CURRENT_SOURCE_DIR}/incomplete.c PARENT_SCOPE ) set(bin_files diff --git a/teshsuite/simdag/incomplete b/teshsuite/simdag/incomplete new file mode 100755 index 0000000000..28529c9040 Binary files /dev/null and b/teshsuite/simdag/incomplete differ diff --git a/teshsuite/simdag/incomplete.c b/teshsuite/simdag/incomplete.c new file mode 100644 index 0000000000..13929b6148 --- /dev/null +++ b/teshsuite/simdag/incomplete.c @@ -0,0 +1,70 @@ +/* Copyright (c) 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. */ + +#include +#include +#include "simdag/simdag.h" +#include "xbt/log.h" + +XBT_LOG_NEW_DEFAULT_SUBCATEGORY(basic2, sd, "SimDag test basic2"); + +int main(int argc, char **argv) +{ + + SD_task_t taskInit; + SD_task_t taskA, taskB, taskC, taskD; + xbt_dynar_t ret; + + const SD_workstation_t *workstation; + + double communication_amount1 = 1000000000; + double communication_amount2 = 100000000; + double no_cost = 0.0; + + /* initialization of SD */ + SD_init(&argc, argv); + + /* creation of the environment */ + SD_create_environment(argv[1]); + + /* creation of the tasks and their dependencies */ + taskInit = SD_task_create("Init", NULL, 1.0); + taskA = SD_task_create("Task A", NULL, 1.0); + taskB = SD_task_create("Task B", NULL, 1.0); + taskC = SD_task_create("Task C", NULL, 1.0); + taskD = SD_task_create("Task D", NULL, 1.0); + + + /* scheduling parameters */ + + workstation = SD_workstation_get_list(); + + SD_task_dependency_add(NULL, NULL, taskInit, taskA); + SD_task_dependency_add(NULL, NULL, taskInit, taskB); + SD_task_dependency_add(NULL, NULL, taskC, taskD); + + /* let's launch the simulation! */ + SD_task_schedule(taskInit, 1, SD_workstation_get_list(), &no_cost, + &no_cost, -1.0); + SD_task_schedule(taskA, 1, &workstation[0], &no_cost, + &communication_amount1, -1.0); + SD_task_schedule(taskD, 1, &workstation[0], &no_cost, + &communication_amount1, -1.0); + + + ret = SD_simulate(-1.); + xbt_dynar_free(&ret); + SD_task_destroy(taskA); + SD_task_destroy(taskB); + SD_task_destroy(taskC); + SD_task_destroy(taskD); + SD_task_destroy(taskInit); + + XBT_INFO("Simulation time: %f", SD_get_clock()); + + SD_exit(); + return 0; +} diff --git a/teshsuite/simdag/simdag.tesh b/teshsuite/simdag/simdag.tesh index 47f68946be..1d6fea1bbd 100644 --- a/teshsuite/simdag/simdag.tesh +++ b/teshsuite/simdag/simdag.tesh @@ -13,3 +13,4 @@ D This tesh file contains all the tesh files relative with SimDag ! include basic4.tesh ! include basic5.tesh ! include basic6.tesh +! include incomplete.tesh