1
0
mirror of https://github.com/gluster/glusterfs.git synced 2026-02-07 03:48:44 +01:00
Files
glusterfs/tests/basic/volume.t
Xavi Hernandez fb3a4f91bc volume-t: make the test more strict
If for some reason there exist a directory named /root/test, the test
was failing. Just use another random path very unlikely to exist.

This patch also replaces the undefined "D0" variable to "B0" to avoid
creating directories in the root of the filesystem.

Updates: #4020
Signed-off-by: Xavi Hernandez <xhernandez@gmail.com>
2023-03-23 15:28:08 +01:00

61 lines
1.6 KiB
Bash

#!/bin/bash
. $(dirname $0)/../include.rc
. $(dirname $0)/../volume.rc
cleanup;
TEST glusterd
TEST pidof glusterd
TEST $CLI volume info;
TEST $CLI volume create $V0 replica 3 $H0:$B0/${V0}{1,2,3,4,5,6};
EXPECT "$V0" volinfo_field $V0 'Volume Name';
EXPECT 'Created' volinfo_field $V0 'Status';
EXPECT '6' brick_count $V0
TEST $CLI volume start $V0;
EXPECT 'Started' volinfo_field $V0 'Status';
TEST $CLI volume add-brick $V0 $H0:$B0/${V0}{9,10,11};
EXPECT '9' brick_count $V0
TEST $CLI volume remove-brick $V0 $H0:$B0/${V0}{1,2,3} force;
EXPECT '6' brick_count $V0
TEST $CLI volume top $V0 read-perf bs 4096 count 1000
TEST $CLI volume top $V0 write-perf bs 1048576 count 2
TEST touch $M0/foo
# statedump path should be a directory, setting it to a file path should fail
TEST ! $CLI v set $V0 server.statedump-path $M0/foo;
EXPECT '/var/run/gluster' $CLI v get $V0 server.statedump-path
#set the statedump path to an existing ditectory which should succeed
TEST mkdir $B0/level;
TEST $CLI v set $V0 server.statedump-path $B0/level
EXPECT "$B0/level" volinfo_field $V0 'server.statedump-path'
ret=$(ls $B0/level | wc -l);
TEST [ $ret == 0 ]
TEST $CLI v statedump $V0;
ret=$(ls $B0/level | wc -l);
TEST ! [ $ret == 0 ]
#set the statedump path to a non - existing directory which should fail
TEST ! $CLI v set $V0 server.statedump-path "${B0}/$(uuidgen)"
EXPECT "$B0/level" volinfo_field $V0 'server.statedump-path'
TEST rm -rf $B0/level
TEST $CLI volume stop $V0
EXPECT 'Stopped' volinfo_field $V0 'Status'
TEST $CLI volume delete $V0
TEST ! $CLI volume info $V0
cleanup;