]> err.no Git - util-linux/commitdiff
libmount: add unit test for mnt_copy_fs()
authorKarel Zak <kzak@redhat.com>
Mon, 26 Jul 2010 14:27:45 +0000 (16:27 +0200)
committerKarel Zak <kzak@redhat.com>
Mon, 3 Jan 2011 11:28:40 +0000 (12:28 +0100)
Signed-off-by: Karel Zak <kzak@redhat.com>
shlibs/mount/src/tab.c

index c61571d1c94937346932af049db3336f571b6667..c0a95426447d984910d5665c4307cd4d6a7824f6 100644 (file)
@@ -680,6 +680,34 @@ err:
        return NULL;
 }
 
+int test_copy_fs(struct mtest *ts, int argc, char *argv[])
+{
+       mnt_tab *tb;
+       mnt_fs *fs;
+
+       tb = create_tab(argv[1]);
+       if (!tb)
+               return -1;
+
+       fs = mnt_tab_find_target(tb, "/", MNT_ITER_FORWARD);
+       if (!fs)
+               goto err;
+
+       printf("ORIGINAL:\n");
+       mnt_fs_print_debug(fs, stdout);
+
+       fs = mnt_copy_fs(fs);
+       if (!fs)
+               goto err;
+
+       printf("COPY:\n");
+       mnt_fs_print_debug(fs, stdout);
+       mnt_free_fs(fs);
+err:
+       mnt_free_tab(tb);
+       return 0;
+}
+
 int test_parse(struct mtest *ts, int argc, char *argv[])
 {
        mnt_tab *tb;
@@ -768,6 +796,7 @@ int main(int argc, char *argv[])
        { "--parse",    test_parse,        "<file>  parse and print tab" },
        { "--find-forward",  test_find_fw, "<file> <source|target> <string>" },
        { "--find-backward", test_find_bw, "<file> <source|target> <string>" },
+       { "--copy-fs",       test_copy_fs, "<file>  copy root FS from the file" },
        { NULL }
        };