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);
 

-- 


Reply via email to