X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/ba25a27159fa0691d1f977863538727584bb5a7a..3afe678dc3123e0c0d517501f6a4f5fcf1f5ea24:/tools/tesh/tesh.c diff --git a/tools/tesh/tesh.c b/tools/tesh/tesh.c index 7c1acc90d1..e8aac13fa9 100644 --- a/tools/tesh/tesh.c +++ b/tools/tesh/tesh.c @@ -1,6 +1,6 @@ /* TESH (Test Shell) -- mini shell specialized in running test units */ -/* Copyright (c) 2007, 2008, 2009, 2010. The SimGrid Team. +/* Copyright (c) 2007-2014. The SimGrid Team. * All rights reserved. */ /* This program is free software; you can redistribute it and/or modify it @@ -11,8 +11,6 @@ #pragma hdrstop #endif -#include "simgrid_config.h" //For getline, keep that include first - #include "tesh.h" #include "xbt.h" @@ -22,7 +20,7 @@ XBT_LOG_NEW_DEFAULT_CATEGORY(tesh, "TEst SHell utility"); int timeout_value = 5; /* child timeout value */ int sort_len = 19; /* length of the prefix to sort */ char *option; -int coverage = 0; /* whether the code coverage is enable */ +int coverage = 0; /* whether the code coverage is enabled */ rctx_t rctx; const char *testsuite_name; @@ -106,7 +104,7 @@ static void handle_suite(const char *filename, FILE * IN) buff = xbt_strbuff_new(); rctx = rctx_new(); - while (getline(&line, &len, IN) != -1) { + while (xbt_getline(&line, &len, IN) != -1) { line_num++; /* Count the line length while checking wheather it's blank */ @@ -143,7 +141,6 @@ static void handle_suite(const char *filename, FILE * IN) } else { to_be_continued = 1; line[linelen - 2] = '\0'; - linelen -= 2; if (!buff->used) buffbegin = line_num; } @@ -183,12 +180,12 @@ static void parse_environ() int i; char *eq = NULL; char *key = NULL; - env = xbt_dict_new(); + env = xbt_dict_new_homogeneous(xbt_free_f); for (i = 0; environ[i]; i++) { p = environ[i]; eq = strchr(p, '='); key = bprintf("%.*s", (int) (eq - p), p); - xbt_dict_set(env, key, xbt_strdup(eq + 1), xbt_free_f); + xbt_dict_set(env, key, xbt_strdup(eq + 1), NULL); free(key); } } @@ -199,6 +196,8 @@ int main(int argc, char *argv[]) int i; char *suitename = NULL; struct sigaction newact; + + XBT_LOG_CONNECT(tesh); xbt_init(&argc, argv); rctx_init(); parse_environ(); @@ -234,7 +233,7 @@ int main(int argc, char *argv[]) char *eq = strchr(argv[i+1], '='); xbt_assert(eq,"The argument of --setenv must contain a '=' (got %s instead)",argv[i+1]); char *key = bprintf("%.*s", (int) (eq - argv[i+1]), argv[i+1]); - xbt_dict_set(env, key, xbt_strdup(eq + 1), xbt_free_f); + xbt_dict_set(env, key, xbt_strdup(eq + 1), NULL); XBT_INFO("setting environment variable '%s' to '%s'", key, eq+1); free(key); memmove(argv + i, argv + i + 2, (argc - i - 1) * sizeof(char *)); @@ -246,7 +245,7 @@ int main(int argc, char *argv[]) exit(1); } if (!option){ //if option is NULL - option = bprintf("--cfg=%s",argv[i+1]); + option = bprintf("--cfg=%s",argv[i+1]); } else { char *newoption = bprintf("%s --cfg=%s", option, argv[i+1]); free(option); @@ -258,11 +257,11 @@ int main(int argc, char *argv[]) i -= 2; } else if (!strcmp(argv[i], "--enable-coverage" )){ - coverage = 1; - XBT_INFO("Enable coverage"); - memmove(argv + i, argv + i + 1, (argc - i - 1) * sizeof(char *)); - argc -= 1; - i -= 1; + coverage = 1; + XBT_INFO("Enable coverage"); + memmove(argv + i, argv + i + 1, (argc - i - 1) * sizeof(char *)); + argc -= 1; + i -= 1; } }