diff options
author | Lucas De Marchi <lucas.demarchi@profusion.mobi> | 2013-01-14 21:04:22 +0000 |
---|---|---|
committer | Lucas De Marchi <lucas.demarchi@profusion.mobi> | 2013-01-14 21:04:22 +0000 |
commit | 2d7e10363d7d209a605329ba692a3e788b37dc68 (patch) | |
tree | bb3dacbf2857d97de7aba15b9ab9d7494798b6b4 /src/tests/efreet | |
parent | 3d856e9600bccf2610ad9b6f23a5ebb62a1aaf15 (diff) | |
download | efl-2d7e10363d7d209a605329ba692a3e788b37dc68.tar.gz |
efl/efreet: remove clearenv usage
This improves the tests on freebsd, which doesn't have clearenv() (
though this commit was untested on such environement). clearenv was
rejected from POSIX so we better aim to stop its usage. However since
tests use setenv() this may lead to leaks, but it's better a leak than a
failing test.
On Linux all tests that were passing continue to pass.
SVN revision: 82779
Diffstat (limited to 'src/tests/efreet')
-rw-r--r-- | src/tests/efreet/main.c | 40 |
1 files changed, 4 insertions, 36 deletions
diff --git a/src/tests/efreet/main.c b/src/tests/efreet/main.c index 083374402a..8ba4f0a991 100644 --- a/src/tests/efreet/main.c +++ b/src/tests/efreet/main.c @@ -72,11 +72,10 @@ static Efreet_Test tests[] = { #endif {"Utils", ef_cb_utils}, {"Mime", ef_mime_cb_get}, - {NULL, NULL} + { } }; extern char **environ; -static Eina_List *environment = NULL; const char *ef_test_path_get(const char *component) { @@ -104,39 +103,12 @@ const char *ef_test_path_get(const char *component) return buf; } -void -environment_store(void) -{ - char *env; - char **e; -#ifdef HAVE_CLEARENV - EINA_LIST_FREE(environment, env) - free(env); - for (e = environ; *e; e++) - environment = eina_list_append(environment, strdup(*e)); -#endif -} - -void -environment_restore(void) -{ - Eina_List *l; - char *e; - if (!environment) return; -#ifdef HAVE_CLEARENV - clearenv(); - EINA_LIST_FOREACH(environment, l, e) - putenv(e); -#endif -} - int main(int argc, char ** argv) { int i, passed = 0, num_tests = 0; Eina_List *run = NULL; double total; - char *env; eina_init(); ecore_init(); @@ -160,7 +132,6 @@ main(int argc, char ** argv) } efreet_cache_update = 0; - environment_store(); for (i = 0; tests[i].name; i++) { int ret; @@ -182,21 +153,18 @@ main(int argc, char ** argv) printf("%s:\t\t", tests[i].name); fflush(stdout); start = ecore_time_get(); + + environ = NULL; ret = tests[i].cb(); + printf("%s in %.3f seconds\n", (ret ? "PASSED" : "FAILED"), ecore_time_get() - start); passed += ret; efreet_shutdown(); - environment_restore(); } printf("\n-----------------\n"); -#ifdef HAVE_CLEARENV - clearenv(); - EINA_LIST_FREE(environment, env) - free(env); -#endif printf("Passed %d of %d tests.\n", passed, num_tests); while (run) |