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>
This commit is contained in:
parent
5005192611
commit
effebebb42
8
Makefile
8
Makefile
|
@ -240,6 +240,14 @@ send-test: $(objects) $(libs) send-test.o
|
||||||
@echo " [LD] $@"
|
@echo " [LD] $@"
|
||||||
$(Q)$(CC) $(CFLAGS) -o send-test $(objects) send-test.o $(LDFLAGS) $(LIBS) -lpthread
|
$(Q)$(CC) $(CFLAGS) -o send-test $(objects) send-test.o $(LDFLAGS) $(LIBS) -lpthread
|
||||||
|
|
||||||
|
library-test: $(libs_shared) library-test.o
|
||||||
|
@echo " [LD] $@"
|
||||||
|
$(Q)$(CC) $(CFLAGS) -o library-test library-test.o $(LDFLAGS) -lbtrfs
|
||||||
|
|
||||||
|
library-test.static: $(libs_static) library-test.o
|
||||||
|
@echo " [LD] $@"
|
||||||
|
$(Q)$(CC) $(CFLAGS) -o library-test-static library-test.o $(LDFLAGS) $(libs_static)
|
||||||
|
|
||||||
manpages:
|
manpages:
|
||||||
$(Q)$(MAKE) $(MAKEOPTS) -C Documentation
|
$(Q)$(MAKE) $(MAKEOPTS) -C Documentation
|
||||||
|
|
||||||
|
|
|
@ -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;
|
||||||
|
}
|
Loading…
Reference in New Issue