| #!/bin/bash |
| # Copyright (C) 2012-2015 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., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA |
| |
| SKIP_WITH_LVMETAD=1 |
| SKIP_WITH_CLVMD=1 |
| |
| . lib/inittest |
| |
| aux prepare_dmeventd |
| |
| # |
| # TODO: |
| # lvm2app is not yet capable to respect many lvm.conf options |
| # since a lot of them is set in /tools/liblvmline |
| # Until fixed - testing always runs with enabled monitoring |
| # thus it needs dmeventd |
| # |
| |
| # Example of using 'gdb' with python: |
| # gdb -ex r --args python FULL_PATH/lvm2/test/api/python_lvm_unit.py -v TestLvm.test_lv_active_inactive |
| |
| #Locate the python binding library to use. |
| if [[ -n $abs_top_builddir ]]; then |
| python_lib=($(find $abs_top_builddir -name lvm.so)) |
| if [[ ${#python_lib[*]} -ne 1 ]]; then |
| if [[ ${#python_lib[*]} -gt 1 ]]; then |
| # Unable to test python bindings if multiple libraries found: |
| echo "Found left over lvm.so: ${python_lib[*]}" |
| false |
| else |
| # Unable to test python bindings if library not available |
| skip "lvm2-python-libs not built" |
| fi |
| fi |
| |
| export PYTHONPATH=$(dirname $python_lib):$PYTHONPATH |
| elif rpm -q lvm2-python-libs &>/dev/null; then |
| true |
| else |
| skip "lvm2-python-libs neither built nor installed" |
| fi |
| |
| #If you change this change the unit test case too. |
| aux prepare_pvs 6 |
| |
| #Setup which devices the unit test can use. |
| export PY_UNIT_PVS=$(cat DEVICES) |
| |
| #python_lvm_unit.py -v -f |
| |
| # Run individual tests for shorter error trace |
| for i in \ |
| lv_persistence \ |
| config_find_bool \ |
| config_override \ |
| config_reload \ |
| dupe_lv_create \ |
| get_set_extend_size \ |
| lv_active_inactive \ |
| lv_property \ |
| lv_rename \ |
| lv_resize \ |
| lv_seg \ |
| lv_size \ |
| lv_snapshot \ |
| lv_suspend \ |
| lv_tags \ |
| percent_to_float \ |
| pv_create \ |
| pv_empty_listing \ |
| pv_getters \ |
| pv_life_cycle \ |
| pv_lookup_from_vg \ |
| pv_property \ |
| pv_resize \ |
| pv_segs \ |
| scan \ |
| version \ |
| vg_from_pv_lookups \ |
| vg_getters \ |
| vg_get_name \ |
| vg_get_set_prop \ |
| vg_get_uuid \ |
| vg_lv_name_validate \ |
| vg_names \ |
| vg_reduce \ |
| vg_remove_restore \ |
| vg_tags \ |
| vg_uuids |
| do |
| python_lvm_unit.py -v TestLvm.test_$i |
| rm -f debug.log_DEBUG* |
| done |
| |
| # CHECKME: not for testing? |
| #python_lvm_unit.py -v TestLvm.test_listing |
| #python_lvm_unit.py -v TestLvm.test_pv_methods |