diff options
author | David Hows <howsdav@gmail.com> | 2015-05-12 11:00:15 +1000 |
---|---|---|
committer | David Hows <howsdav@gmail.com> | 2015-05-12 11:00:15 +1000 |
commit | 65fecfa37478de0f8f878dd3c3d1369208b41f3e (patch) | |
tree | 51dcdb6089b21aee5904ed6852d349c253d3a528 /test/utility | |
parent | 83a3590886489e1092f533a8c7a025302bb05bf0 (diff) | |
download | mongo-65fecfa37478de0f8f878dd3c3d1369208b41f3e.tar.gz |
Make cleanup check before deleting
Diffstat (limited to 'test/utility')
-rw-r--r-- | test/utility/test_util.i | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/test/utility/test_util.i b/test/utility/test_util.i index c6970bec790..8b114adb991 100644 --- a/test/utility/test_util.i +++ b/test/utility/test_util.i @@ -28,6 +28,8 @@ #include <string.h> #include <stdlib.h> #include <stdio.h> +#include <sys/types.h> +#include <sys/stat.h> #include <wiredtiger.h> #ifdef _WIN32 @@ -101,6 +103,7 @@ testutil_clean_work_dir(char *dir) size_t inputSize; int ret; char *buffer; + struct stat info; /* Additional bytes for the Windows rd command. */ inputSize = strlen(dir) + sizeof(RM_COMMAND); @@ -108,8 +111,11 @@ testutil_clean_work_dir(char *dir) testutil_die(ENOMEM, "Failed to allocate memory"); snprintf(buffer, inputSize, "%s%s", RM_COMMAND, dir); - if ((ret = system(buffer)) != 0) - testutil_die(ret, "System call to remove directory failed"); + + if( stat( dir, &info ) == 0 ) + if ((ret = system(buffer)) != 0) + testutil_die(ret, + "System call to remove directory failed"); free(buffer); } |