[lvm-devel] master - test: lvm2api thin data_percent

Zdenek Kabelac zkabelac at fedoraproject.org
Fri Oct 5 08:38:17 UTC 2012


Gitweb:        http://git.fedorahosted.org/git/?p=lvm2.git;a=commitdiff;h=7f4f7f70ce94e9692b84a3568aedfceb13466ece
Commit:        7f4f7f70ce94e9692b84a3568aedfceb13466ece
Parent:        39f3c9de0babbe54cecb4cee5b163bf72eab61f4
Author:        Zdenek Kabelac <zkabelac at redhat.com>
AuthorDate:    Fri Oct 5 10:33:41 2012 +0200
Committer:     Zdenek Kabelac <zkabelac at redhat.com>
CommitterDate: Fri Oct 5 10:37:41 2012 +0200

test: lvm2api thin data_percent

---
 test/api/Makefile.in     |   18 +++++++++++--
 test/api/thin_percent.c  |   60 ++++++++++++++++++++++++++++++++++++++++++++++
 test/api/thin_percent.sh |   37 ++++++++++++++++++++++++++++
 3 files changed, 112 insertions(+), 3 deletions(-)

diff --git a/test/api/Makefile.in b/test/api/Makefile.in
index 58d0a23..7ad6743 100644
--- a/test/api/Makefile.in
+++ b/test/api/Makefile.in
@@ -1,5 +1,5 @@
 #
-# Copyright (C) 2009-2011 Red Hat, Inc. All rights reserved.
+# Copyright (C) 2009-2012 Red Hat, Inc. All rights reserved.
 #
 # This file is part of LVM2.
 #
@@ -20,8 +20,20 @@ ifeq ("@APPLIB@", "yes")
 TARGETS += test
 SOURCES = test.c
 
-TARGETS += vgtest.t percent.t pe_start.t lvtest.t
-SOURCES2 = vgtest.c percent.c pe_start.c lvtest.c
+TARGETS += \
+	lvtest.t \
+	percent.t \
+	pe_start.t \
+	thin_percent.t \
+	vgtest.t
+
+SOURCES2 = \
+	lvtest.c \
+	percent.c \
+	pe_start.c \
+	thin_percent.c \
+	vgtest.c
+
 endif
 
 include $(top_builddir)/make.tmpl
diff --git a/test/api/thin_percent.c b/test/api/thin_percent.c
new file mode 100644
index 0000000..952346f
--- /dev/null
+++ b/test/api/thin_percent.c
@@ -0,0 +1,60 @@
+/*
+ * Copyright (C) 2012 Red Hat, Inc. All rights reserved.
+ *
+ * This file is part of LVM2.
+ *
+ * This copyrighted material is made available to anyone wishing to use,
+ * modify, copy, or redistribute it subject to the terms and conditions
+ * of the GNU Lesser General Public License v.2.1.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with this program; if not, write to the Free Software Foundation,
+ * Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+ */
+
+#undef NDEBUG
+
+#include "lvm2app.h"
+#include "assert.h"
+
+int main(int argc, char *argv[])
+{
+	lvm_t handle;
+	vg_t vg;
+	lv_t lv;
+	struct lvm_property_value v;
+
+	handle = lvm_init(NULL);
+	assert(handle);
+
+	vg = lvm_vg_open(handle, argv[1], "r", 0);
+	assert(vg);
+
+	lv = lvm_lv_from_name(vg, "pool");
+	assert(lv);
+
+	v = lvm_lv_get_property(lv, "data_percent");
+	assert(v.is_valid);
+	assert(v.value.integer == 25 * PERCENT_1);
+
+
+	lv = lvm_lv_from_name(vg, "thin");
+	assert(lv);
+
+	v = lvm_lv_get_property(lv, "data_percent");
+	assert(v.is_valid);
+	assert(v.value.integer == 50 * PERCENT_1);
+
+
+	lv = lvm_lv_from_name(vg, "snap");
+	assert(lv);
+
+	v = lvm_lv_get_property(lv, "data_percent");
+	assert(v.is_valid);
+	assert(v.value.integer == 75 * PERCENT_1);
+
+	lvm_vg_close(vg);
+	lvm_quit(handle);
+
+	return 0;
+}
diff --git a/test/api/thin_percent.sh b/test/api/thin_percent.sh
new file mode 100644
index 0000000..bba33ba
--- /dev/null
+++ b/test/api/thin_percent.sh
@@ -0,0 +1,37 @@
+#!/bin/sh
+# Copyright (C) 2012 Red Hat, Inc. All rights reserved.
+#
+# This file is part of LVM2.
+#
+# This copyrighted material is made available to anyone wishing to use,
+# modify, copy, or redistribute it subject to the terms and conditions
+# of the GNU General Public License v.2.
+#
+# 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  02111-1307 USA
+
+. lib/test
+
+aux target_at_least dm-thin-pool 1 0 0 || skip
+
+# disable thin_check if not present in system
+which thin_check || aux lvmconf 'global/thin_check_executable = ""'
+
+aux prepare_devs 2
+
+vgcreate -s 64k $vg $(cat DEVICES)
+
+lvcreate -L5M -T $vg/pool
+
+lvcreate -V1M -T $vg/pool -n thin
+dd if=/dev/urandom of="$DM_DEV_DIR/$vg/thin" count=2 bs=256K
+
+lvcreate -s $vg/thin -n snap
+dd if=/dev/urandom of="$DM_DEV_DIR/$vg/snap" count=3 bs=256K
+
+lvs $vg
+
+aux apitest thin_percent $vg
+
+vgremove -ff $vg




More information about the lvm-devel mailing list