X-Git-Url: https://git.m6w6.name/?a=blobdiff_plain;f=libtest%2Ftest.cc;h=5c43e40b35d9f0211d076c19d24c6864fe7dfa59;hb=58c279d58e2a44562f729e93e301dfedf42f530b;hp=7b13ab79abd3c8593da239188253b14848c0be6b;hpb=ee71b673a9ce3261cd81723262a8516949388be9;p=m6w6%2Flibmemcached diff --git a/libtest/test.cc b/libtest/test.cc index 7b13ab79..5c43e40b 100644 --- a/libtest/test.cc +++ b/libtest/test.cc @@ -149,21 +149,41 @@ int main(int argc, char *argv[]) { srandom((unsigned int)time(NULL)); - if (getenv("srcdir")) + if (getenv("LIBTEST_QUIET")) { - char buffer[1024]; - snprintf(buffer, sizeof(buffer), "%s/%s", getenv("srcdir"), "tests"); - chdir(buffer); + close(STDOUT_FILENO); + } + + char buffer[1024]; + if (getenv("LIBTEST_TMP")) + { + snprintf(buffer, sizeof(buffer), "%s", getenv("LIBTEST_TMP")); } else { - chdir("tests"); + snprintf(buffer, sizeof(buffer), "%s", LIBTEST_TEMP); + } + + if (chdir(buffer) == -1) + { + char getcwd_buffer[1024]; + char *dir= getcwd(getcwd_buffer, sizeof(getcwd_buffer)); + + Error << "Unable to chdir() from " << dir << " to " << buffer << " errno:" << strerror(errno); + return EXIT_FAILURE; + } + + if (libtest::libtool() == NULL) + { + Error << "Failed to locate libtool"; + return EXIT_FAILURE; } world= new Framework(); if (not world) { + Error << "Failed to create Framework()"; return EXIT_FAILURE; } @@ -193,7 +213,7 @@ int main(int argc, char *argv[]) case TEST_FATAL: case TEST_FAILURE: case TEST_MEMORY_ALLOCATION_FAILURE: - Error << argv[0] << "create() failed"; + Error << argv[0] << " failed in Framework::create()"; delete world; return EXIT_FAILURE; }