]> git.ipfire.org Git - thirdparty/lxc.git/commitdiff
tests: add unit tests for lxc_deslashify() 1209/head
authorChristian Brauner <christian.brauner@canonical.com>
Sun, 25 Sep 2016 21:57:43 +0000 (23:57 +0200)
committerChristian Brauner <christian.brauner@canonical.com>
Mon, 26 Sep 2016 17:41:37 +0000 (19:41 +0200)
Signed-off-by: Christian Brauner <christian.brauner@canonical.com>
src/tests/lxc-test-utils.c

index 4c1c37325d1626f467eb9d59e6502be964846bdd..5b213c84fb97460b3e587fe53a62261a0c92e5ec 100644 (file)
@@ -21,6 +21,7 @@
  * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
  */
 
+#define _GNU_SOURCE
 #include <stdio.h>
 #include <stdlib.h>
 #include <string.h>
 #include "lxctest.h"
 #include "utils.h"
 
+void test_lxc_deslashify(void)
+{
+       char *s = strdup("/A///B//C/D/E/");
+       if (!s)
+               exit(EXIT_FAILURE);
+       lxc_test_assert_abort(lxc_deslashify(&s));
+       lxc_test_assert_abort(strcmp(s, "/A/B/C/D/E") == 0);
+       free(s);
+
+       s = strdup("/A");
+       if (!s)
+               exit(EXIT_FAILURE);
+       lxc_test_assert_abort(lxc_deslashify(&s));
+       lxc_test_assert_abort(strcmp(s, "/A") == 0);
+       free(s);
+
+       s = strdup("");
+       if (!s)
+               exit(EXIT_FAILURE);
+       lxc_test_assert_abort(lxc_deslashify(&s));
+       lxc_test_assert_abort(strcmp(s, "") == 0);
+       free(s);
+
+       s = strdup("//");
+       if (!s)
+               exit(EXIT_FAILURE);
+       lxc_test_assert_abort(lxc_deslashify(&s));
+       lxc_test_assert_abort(strcmp(s, "/") == 0);
+       free(s);
+}
+
 void test_lxc_string_replace(void)
 {
        char *s;
@@ -84,6 +116,7 @@ int main(int argc, char *argv[])
 {
        test_lxc_string_replace();
        test_lxc_string_in_array();
+       test_lxc_deslashify();
 
        exit(EXIT_SUCCESS);
 }