diff --git a/src/test/libpmempool_rm_remote/TEST4 b/src/test/libpmempool_rm_remote/TEST4 new file mode 100755 index 0000000000000000000000000000000000000000..392348065561bd3f5eba85d904916f15e72b23e9 --- /dev/null +++ b/src/test/libpmempool_rm_remote/TEST4 @@ -0,0 +1,79 @@ +#!/usr/bin/env bash +# +# Copyright 2019, Intel Corporation +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions +# are met: +# +# * Redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# +# * Redistributions in binary form must reproduce the above copyright +# notice, this list of conditions and the following disclaimer in +# the documentation and/or other materials provided with the +# distribution. +# +# * Neither the name of the copyright holder nor the names of its +# contributors may be used to endorse or promote products derived +# from this software without specific prior written permission. +# +# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +# A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +# OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +# LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +# +# +# libpmempool_rm_remote/TEST4 -- test for pmempool_rm with remote replica +# +# Remove pool when it is opened +# + +# standard unit test setup +. ../unittest/unittest.sh + +require_test_type medium + +require_nodes 2 + +require_node_libfabric 0 $RPMEM_PROVIDER +require_node_libfabric 1 $RPMEM_PROVIDER + +setup + +init_rpmem_on_node 1 0 + +create_poolset $DIR/pool.set 8M:${NODE_DIR[1]}pool.1:x \ + m ${NODE_ADDR[0]}:remote.set +create_poolset $DIR/remote.set 8M:${NODE_DIR[0]}/remote.1:x + +copy_files_to_node 0 ${NODE_DIR[0]} $DIR/remote.set +copy_files_to_node 1 ${NODE_DIR[1]} $DIR/pool.set + +rm_files_from_node 0 ${NODE_DIR[0]}remote.1 +rm_files_from_node 1 ${NODE_DIR[1]}pool.1 +expect_normal_exit run_on_node 1 ../pmempool create obj ${NODE_DIR[1]}pool.set + +check_files_on_node 1 pool.set pool.1 +check_files_on_node 0 remote.set remote.1 + +# without force pmempool_rm should fail +expect_normal_exit run_on_node 1 ./libpmempool_rm$EXESUFFIX -o \ + ${NODE_DIR[1]}pool.set +check_files_on_node 1 pool.set pool.1 +check_files_on_node 0 remote.set remote.1 + +# with force pmempool_rm should also fail +expect_normal_exit run_on_node 1 ./libpmempool_rm$EXESUFFIX -of \ + ${NODE_DIR[1]}pool.set +check_files_on_node 1 pool.set pool.1 +check_files_on_node 0 remote.set remote.1 + +pass