[SSSD] [PATCH] Remove empty directories after tests run.

Lukas Slebodnik lslebodn at redhat.com
Wed May 22 07:06:14 UTC 2013


On (21/05/13 18:59), Lukas Slebodnik wrote:
>ehlo,
>
>This patch removes empty directories after tests run.
>Files common_dom.c and common_tev.c were moved to libsss_test_common.la.
>Empty directory tests_path was removed in function test_dom_suite_cleanup.
>Function test_dom_suite_cleanup was reused in tests.
>
>Patch attached.
>
>LS

I found another issues in test, therefore I am attaching new patches.
First patch makes libsss_test_common.la more reusable
Second patch removes empty directories.

LS
-------------- next part --------------
>From af6b36cd25d0c744ecd88de2378094a0a7ba0a4d Mon Sep 17 00:00:00 2001
From: Lukas Slebodnik <lslebodn at redhat.com>
Date: Wed, 22 May 2013 08:50:29 +0200
Subject: [PATCH 1/2] Making order in tests.

--removed duplicated test-io
--reusing library libsss_test_common in other tests
--cmocka test sss_nss_idmap-tests was moved to cmocka dir
--moved leak_check.c to libsss_test_common
--moved common_tev.c,common_dom.c to libsss_test_common
  (leak_check.c,common_tev.c,common_dom.c) are test framework independent
---
 Makefile.am                                  | 34 ++++++++++++----------------
 src/tests/{ => cmocka}/sss_nss_idmap-tests.c |  0
 src/tests/leak_check.c                       |  1 -
 3 files changed, 14 insertions(+), 21 deletions(-)
 rename src/tests/{ => cmocka}/sss_nss_idmap-tests.c (100%)

diff --git a/Makefile.am b/Makefile.am
index 94ad8c04afbb8ca5b340faf669b93bca00623aba..48ded90a52860d75f3798bbd8ab3688cde8d7a88 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -150,7 +150,6 @@ if HAVE_CMOCKA
         test-find-uid \
         test-io \
         sss_nss_idmap-tests \
-        test-io	      \
         dyndns-tests
 endif
 
@@ -868,12 +867,14 @@ noinst_LTLIBRARIES += \
     libsss_test_common.la
 
 libsss_test_common_la_SOURCES = \
+    src/tests/common_tev.c \
+    src/tests/common_dom.c \
+    src/tests/leak_check.c \
     src/tests/common.c
 
 if HAVE_CHECK
 libsss_test_common_la_SOURCES += \
-    src/tests/common_check.c	 \
-    src/tests/leak_check.c
+    src/tests/common_check.c
 
 sysdb_tests_DEPENDENCIES = \
     $(ldblib_LTLIBRARIES)
@@ -1148,14 +1149,6 @@ sss_idmap_tests_LDADD = \
     libsss_test_common.la \
     libsss_idmap.la
 
-sss_nss_idmap_tests_SOURCES = \
-    src/tests/sss_nss_idmap-tests.c
-sss_nss_idmap_tests_CFLAGS = \
-    $(AM_CFLAGS)
-sss_nss_idmap_tests_LDADD = \
-    $(CMOCKA_LIBS) \
-    libsss_nss_idmap.la
-
 pac_responder_tests_SOURCES = \
     src/tests/pac_responder-tests.c \
     src/responder/pac/pacsrv_utils.c
@@ -1221,14 +1214,8 @@ krb5_child_test_LDADD = \
     libsss_test_common.la
 
 if HAVE_CMOCKA
-TEST_MOCK_OBJ = 		\
-     src/tests/common.c		\
-     src/tests/leak_check.c
 
 TEST_MOCK_RESP_OBJ = \
-     $(TEST_MOCK_OBJ) \
-     src/tests/common_tev.c \
-     src/tests/common_dom.c \
      src/tests/cmocka/common_mock_resp.c \
      src/responder/common/responder_packet.c \
      src/responder/common/responder_cmd.c \
@@ -1254,6 +1241,7 @@ nss_srv_tests_LDFLAGS = \
     -Wl,-wrap,sss_cmd_done
 nss_srv_tests_LDADD = \
     $(CMOCKA_LIBS) \
+    libsss_test_common.la \
     libsss_idmap.la \
     libsss_util.la
 
@@ -1284,13 +1272,18 @@ test_io_CFLAGS = \
 test_io_LDADD = \
     $(CMOCKA_LIBS)
 
+sss_nss_idmap_tests_SOURCES = \
+    src/tests/cmocka/sss_nss_idmap-tests.c
+sss_nss_idmap_tests_CFLAGS = \
+    $(AM_CFLAGS)
+sss_nss_idmap_tests_LDADD = \
+    $(CMOCKA_LIBS) \
+    libsss_nss_idmap.la
+
 dyndns_tests_DEPENDENCIES = \
      $(ldblib_LTLIBRARIES)
 dyndns_tests_SOURCES = \
-     $(TEST_MOCK_OBJ) \
      $(SSSD_RESOLV_OBJ) \
-     src/tests/common_tev.c \
-     src/tests/common_dom.c \
      src/tests/cmocka/test_dyndns.c \
      src/providers/data_provider_opts.c
 dyndns_tests_CFLAGS = \
@@ -1303,6 +1296,7 @@ dyndns_tests_LDFLAGS = \
 dyndns_tests_LDADD = \
     $(CARES_LIBS) \
     $(CMOCKA_LIBS) \
+    libsss_test_common.la \
     libsss_util.la
 endif
 
diff --git a/src/tests/sss_nss_idmap-tests.c b/src/tests/cmocka/sss_nss_idmap-tests.c
similarity index 100%
rename from src/tests/sss_nss_idmap-tests.c
rename to src/tests/cmocka/sss_nss_idmap-tests.c
diff --git a/src/tests/leak_check.c b/src/tests/leak_check.c
index 89dac357bea6929cdc4eed9c4fbab214e249730c..06941195db57bd2e710c5f18678efc458fc6c840 100644
--- a/src/tests/leak_check.c
+++ b/src/tests/leak_check.c
@@ -23,7 +23,6 @@
 */
 
 #include <stdio.h>
-#include <check.h>
 #include "tests/common.h"
 #include "util/util.h"
 #include "util/dlinklist.h"
-- 
1.8.1.4

-------------- next part --------------
>From 325e337ba86a27e7c5780fe01be1772608699a19 Mon Sep 17 00:00:00 2001
From: Lukas Slebodnik <lslebodn at redhat.com>
Date: Wed, 22 May 2013 09:02:24 +0200
Subject: [PATCH 2/2] Remove empty directories after tests run.

Empty directory tests_path is removed in function test_dom_suite_cleanup.
Function test_dom_suite_cleanup is reused in other tests.
---
 src/tests/common_dom.c          |  8 ++++++++
 src/tests/simple_access-tests.c | 14 ++------------
 src/tests/sysdb-tests.c         | 17 ++---------------
 3 files changed, 12 insertions(+), 27 deletions(-)

diff --git a/src/tests/common_dom.c b/src/tests/common_dom.c
index 00e7f5ae2bfc972b8a61982c54bc5df70cbbcb20..661271d3b416d222525e9ecb1af72ba532170ed6 100644
--- a/src/tests/common_dom.c
+++ b/src/tests/common_dom.c
@@ -156,6 +156,14 @@ void test_dom_suite_cleanup(const char *tests_path,
                errno, strerror(errno)));
     }
 
+    errno = 0;
+    ret = rmdir(tests_path);
+    if (ret != 0) {
+        DEBUG(SSSDBG_CRIT_FAILURE,
+              ("Could not delete the test dir (%d) (%s)\n",
+               errno, strerror(errno)));
+    }
+
     talloc_free(conf_db);
     talloc_free(sys_db);
 }
diff --git a/src/tests/simple_access-tests.c b/src/tests/simple_access-tests.c
index 4c78400267f1ac3de9678708ace72632b89afbe9..48ebea6f79ae8d5b414cfaab14cb4b4f04338490 100644
--- a/src/tests/simple_access-tests.c
+++ b/src/tests/simple_access-tests.c
@@ -540,7 +540,6 @@ int main(int argc, const char *argv[])
     int opt;
     poptContext pc;
     int number_failed;
-    int ret;
 
     struct poptOption long_options[] = {
         POPT_AUTOHELP
@@ -573,17 +572,8 @@ int main(int argc, const char *argv[])
     number_failed = srunner_ntests_failed(sr);
     srunner_free(sr);
 
-    ret = unlink(TESTS_PATH"/"TEST_CONF_FILE);
-    if (ret != EOK) {
-        fprintf(stderr, "Could not delete the test config ldb file (%d) (%s)\n",
-                errno, strerror(errno));
-        return EXIT_FAILURE;
-    }
-    ret = unlink(TESTS_PATH"/"LOCAL_SYSDB_FILE);
-    if (ret != EOK) {
-        fprintf(stderr, "Could not delete the test config ldb file (%d) (%s)\n",
-                errno, strerror(errno));
-        return EXIT_FAILURE;
+    if (number_failed == 0) {
+        test_dom_suite_cleanup(TESTS_PATH, TEST_CONF_FILE, LOCAL_SYSDB_FILE);
     }
 
     return (number_failed==0 ? EXIT_SUCCESS : EXIT_FAILURE);
diff --git a/src/tests/sysdb-tests.c b/src/tests/sysdb-tests.c
index b30f2ed4c8e73663396e9628e5523b5fe652759a..db2d903dd2288a0356d0d30914de60ac5094a7a0 100644
--- a/src/tests/sysdb-tests.c
+++ b/src/tests/sysdb-tests.c
@@ -5293,20 +5293,7 @@ int main(int argc, const char *argv[]) {
     failure_count = srunner_ntests_failed(sr);
     srunner_free(sr);
     if (failure_count == 0 && !no_cleanup) {
-        ret = unlink(TESTS_PATH"/"TEST_CONF_FILE);
-        if (ret != EOK) {
-            fprintf(stderr, "Could not delete the test config ldb file (%d) (%s)\n",
-                    errno, strerror(errno));
-            return EXIT_FAILURE;
-        }
-        ret = unlink(TESTS_PATH"/"LOCAL_SYSDB_FILE);
-        if (ret != EOK) {
-            fprintf(stderr, "Could not delete the test config ldb file (%d) (%s)\n",
-                    errno, strerror(errno));
-            return EXIT_FAILURE;
-        }
-
-        return EXIT_SUCCESS;
+        test_dom_suite_cleanup(TESTS_PATH, TEST_CONF_FILE, LOCAL_SYSDB_FILE);
     }
-    return  EXIT_FAILURE;
+    return (failure_count==0 ? EXIT_SUCCESS : EXIT_FAILURE);
 }
-- 
1.8.1.4



More information about the sssd-devel mailing list