tasn pushed a commit to branch master. http://git.enlightenment.org/tools/exactness.git/commit/?id=bb051fce2b6bb50825aac77069f6165ebb177823
commit bb051fce2b6bb50825aac77069f6165ebb177823 Author: kabeer khan <kabeer.k...@samsung.com> Date: Tue Jun 9 13:52:53 2015 +0100 Prevent deletion of shots having same prefix as test name Summary: Signed-off-by: kabeer khan <kabeer.k...@samsung.com> Reviewers: tasn Differential Revision: https://phab.enlightenment.org/D2629 --- src/bin/Makefile.am | 1 + src/bin/run_test.c | 13 ++++++++++--- src/lib/Makefile.am | 1 + src/lib/exactness_private.h | 7 +++++++ src/lib/tsuite_evas_hook.c | 5 +++-- 5 files changed, 22 insertions(+), 5 deletions(-) diff --git a/src/bin/Makefile.am b/src/bin/Makefile.am index 6ca8e10..079a7f1 100644 --- a/src/bin/Makefile.am +++ b/src/bin/Makefile.am @@ -14,5 +14,6 @@ exactness_LDADD = \ exactness_CFLAGS = \ @EFL_CFLAGS@ \ + -I$(top_srcdir)/src/lib \ -DPACKAGE_LIBDIR=\"$(libdir)\" \ -DPACKAGE_DATADIR=\"$(datadir)\" diff --git a/src/bin/run_test.c b/src/bin/run_test.c index 3b4ee47..7d6dc35 100644 --- a/src/bin/run_test.c +++ b/src/bin/run_test.c @@ -7,6 +7,7 @@ #include "run_test.h" #include "list_file.h" #include "exactness_config.h" +#include "exactness_private.h" #define LIBEXACTNESS_PATH PACKAGE_LIBDIR "/exactness/libexactness.so" @@ -117,12 +118,18 @@ _is_equal(const char *filename1, const char *filename2) return !memcmp(res1, res2, _DIGEST_SIZE); } +static Eina_Bool +_check_prefix(const char *prefix, const char *name) +{ + unsigned int len = strlen(prefix); + return (!strncmp(name, prefix, len) && (strlen(name) > len) && (name[len] == SHOT_DELIMITER)); +} + static void _compare_list_cb(const char *name, const char *path EINA_UNUSED, void *data) { const char *prefix = data; - unsigned int len = strlen(prefix); - if (!strncmp(name, prefix, len) && (strlen(name) > len) && (name[len] == '+')) + if (_check_prefix(prefix, name)) { char filename1[EXACTNESS_PATH_MAX], filename2[EXACTNESS_PATH_MAX]; snprintf(filename1, EXACTNESS_PATH_MAX, "%s/%s/%s", exactness_config.dest_dir, CURRENT_SUBDIR, name); @@ -160,7 +167,7 @@ static void _prefix_rm_cb(const char *name, const char *path, void *data) { const char *prefix = data; - if (!strncmp(name, prefix, strlen(prefix))) + if (_check_prefix(prefix, name)) { char buf[EXACTNESS_PATH_MAX]; snprintf(buf, EXACTNESS_PATH_MAX, "%s/%s", path, name); diff --git a/src/lib/Makefile.am b/src/lib/Makefile.am index bc336c7..b983abf 100644 --- a/src/lib/Makefile.am +++ b/src/lib/Makefile.am @@ -9,6 +9,7 @@ AM_CPPFLAGS = \ EXTRA_DIST = \ tsuite_file_data.h + exactness_private.h pkgdir = $(libdir)/exactness pkg_LTLIBRARIES = libexactness.la diff --git a/src/lib/exactness_private.h b/src/lib/exactness_private.h new file mode 100644 index 0000000..0f52328 --- /dev/null +++ b/src/lib/exactness_private.h @@ -0,0 +1,7 @@ +#ifndef _EXACTNESS_PRIVATE_H +#define _EXACTNESS_PRIVATE_H + +/* private header */ + +#define SHOT_DELIMITER '+' +#endif diff --git a/src/lib/tsuite_evas_hook.c b/src/lib/tsuite_evas_hook.c index 025186c..d133584 100644 --- a/src/lib/tsuite_evas_hook.c +++ b/src/lib/tsuite_evas_hook.c @@ -10,6 +10,7 @@ #include <sys/types.h> #include <dlfcn.h> #include "tsuite_file_data.h" +#include "exactness_private.h" #define TSUITE_MAX_PATH 1024 #define SHOT_KEY_STR "F2" @@ -203,8 +204,8 @@ tsuite_shot_do(char *name, Evas *e) if (_hook_setting->dest_dir) sprintf(filename, "%s/", _hook_setting->dest_dir); - sprintf(filename + dir_name_len, "%s+%03d%s", _hook_setting->test_name, - ts.serial, IMAGE_FILENAME_EXT); + sprintf(filename + dir_name_len, "%s%c%03d%s", _hook_setting->test_name, + SHOT_DELIMITER, ts.serial, IMAGE_FILENAME_EXT); } _tsuite_verbosef("Shot taken (%s).\n", filename); --