summaryrefslogtreecommitdiff
path: root/library-test.c
diff options
context:
space:
mode:
authorDavid Sterba <dsterba@suse.cz>2014-10-30 18:59:47 +0100
committerDavid Sterba <dsterba@suse.cz>2014-11-07 17:52:57 +0100
commiteffebebb42bb4263d8633b4252ce2ac573f1a7f8 (patch)
treead48f5716d1ad93a0daa74e146b314f80e787867 /library-test.c
parent5005192611967685b081614047d637130fba5c82 (diff)
btrfs-progs: build, add basic build test for library
Basic test based on snapper code that uses the send stream API. Signed-off-by: David Sterba <dsterba@suse.cz>
Diffstat (limited to 'library-test.c')
-rw-r--r--library-test.c69
1 files changed, 69 insertions, 0 deletions
diff --git a/library-test.c b/library-test.c
new file mode 100644
index 00000000..142188a7
--- /dev/null
+++ b/library-test.c
@@ -0,0 +1,69 @@
+/*
+ * Copyright (C) 2014 SUSE. All rights reserved.
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public
+ * License v2 as published by the Free Software Foundation.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public
+ * License along with this program; if not, write to the
+ * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+ * Boston, MA 021110-1307, USA.
+ */
+
+#include "kerncompat.h"
+#include "version.h"
+#include "send-stream.h"
+
+/*
+ * Reduced code snippet from snapper.git/snapper/Btrfs.cc
+ */
+struct btrfs_send_ops send_ops = {
+ .subvol = NULL,
+ .snapshot = NULL,
+ .mkfile = NULL,
+ .mkdir = NULL,
+ .mknod = NULL,
+ .mkfifo = NULL,
+ .mksock = NULL,
+ .symlink = NULL,
+ .rename = NULL,
+ .link = NULL,
+ .unlink = NULL,
+ .rmdir = NULL,
+ .write = NULL,
+ .clone = NULL,
+ .set_xattr = NULL,
+ .remove_xattr = NULL,
+ .truncate = NULL,
+ .chmod = NULL,
+ .chown = NULL,
+ .utimes = NULL,
+ .update_extent = NULL,
+};
+
+/*
+ * Link test only, not intended to be executed.
+ */
+static int test_send_stream_api() {
+ int ret;
+ int fd = -1;
+
+#if BTRFS_LIB_VERSION < 101
+ ret = btrfs_read_and_process_send_stream(fd, &send_ops, NULL, 0);
+#else
+ ret = btrfs_read_and_process_send_stream(fd, &send_ops, NULL, 0, 1);
+#endif
+ return ret;
+}
+
+int main() {
+ test_send_stream_api();
+
+ return 0;
+}