diff options
Diffstat (limited to 'tests/basic/cdc.t')
| -rwxr-xr-x | tests/basic/cdc.t | 71 |
1 files changed, 42 insertions, 29 deletions
diff --git a/tests/basic/cdc.t b/tests/basic/cdc.t index 4cd915aa9ca..8653a77207a 100755 --- a/tests/basic/cdc.t +++ b/tests/basic/cdc.t @@ -5,6 +5,11 @@ cleanup; +function file_mime_type () { + mime_type=$(file --mime $1 2>/dev/null | sed '/^[^:]*: /s///') + echo $mime_type +} + TEST glusterd TEST pidof glusterd @@ -21,46 +26,53 @@ EXPECT 'off' volinfo_field $V0 'performance.io-cache' TEST $CLI volume set $V0 performance.quick-read off EXPECT 'off' volinfo_field $V0 'performance.quick-read' -TEST $CLI volume set $V0 strict-write-ordering on +TEST $CLI volume set $V0 performance.strict-write-ordering on EXPECT 'on' volinfo_field $V0 'performance.strict-write-ordering' -## Turn on cdc xlator by setting features.compress to on -TEST $CLI volume set $V0 compress on -EXPECT 'on' volinfo_field $V0 'features.compress' -EXPECT 'server' volinfo_field $V0 'compress.mode' +## Turn on cdc xlator by setting network.compression to on +TEST $CLI volume set $V0 network.compression on +EXPECT 'on' volinfo_field $V0 'network.compression' -## Make sure that user cannot change compress.mode +## Make sure that user cannot change network.compression.mode ## This would break the cdc xlator if allowed! -TEST $CLI volume set $V0 compress.mode client -EXPECT 'server' volinfo_field $V0 'compress.mode' +TEST ! $CLI volume set $V0 network.compression.mode client -## Turn on compress.debug option +## Turn on network.compression.debug option ## This will dump compressed data onto disk as gzip file ## This is used to check if compression actually happened -TEST $CLI volume set $V0 compress.debug on -EXPECT 'on' volinfo_field $V0 'compress.debug' +TEST $CLI volume set $V0 network.compression.debug on +EXPECT 'on' volinfo_field $V0 'network.compression.debug' ## Start the volume TEST $CLI volume start $V0; EXPECT 'Started' volinfo_field $V0 'Status'; +sleep 2 ## Mount FUSE with caching disabled -TEST glusterfs --entry-timeout=0 --attribute-timeout=0 -s $H0 --volfile-id $V0 $M0; +TEST $GFS -s $H0 --volfile-id $V0 $M0; #################### ## Testing writev ## #################### ## Create a 1K file locally and find the md5sum -TEST dd if=/dev/zero of=/tmp/cdc-orig count=1 bs=1K 2>/dev/null +TEST dd if=/dev/zero of=/tmp/cdc-orig count=1 bs=1k 2>/dev/null checksum[original-file]=`md5sum /tmp/cdc-orig | cut -d' ' -f1` ## Copy the file to mountpoint and find its md5sum on brick -TEST dd if=/tmp/cdc-orig of=$M0/cdc-server count=1 bs=1K 2>/dev/null +TEST dd if=/tmp/cdc-orig of=$M0/cdc-server count=1 bs=1k 2>/dev/null checksum[brick-file]=`md5sum $B0/${V0}1/cdc-server | cut -d' ' -f1` ## Uncompress the gzip dump file and find its md5sum -EXPECT '/tmp/cdcdump.gz: application/x-gzip; charset=binary' file -i /tmp/cdcdump.gz +# mime outputs for gzip are different for file version > 5.14 +TEST touch /tmp/gzipfile +TEST gzip /tmp/gzipfile +GZIP_MIME_TYPE=$(file_mime_type /tmp/gzipfile.gz) + +TEST rm -f /tmp/gzipfile.gz + +EXPECT "$GZIP_MIME_TYPE" echo $(file_mime_type /tmp/cdcdump.gz) + TEST gunzip -f /tmp/cdcdump.gz checksum[dump-file-writev]=`md5sum /tmp/cdcdump | cut -d' ' -f1` @@ -76,11 +88,13 @@ TEST rm -f /tmp/cdcdump.gz ################### ## Copy file from mount point to client and find checksum -TEST dd if=$M0/cdc-server of=/tmp/cdc-client count=1 bs=1K 2>/dev/null +TEST dd if=$M0/cdc-server of=/tmp/cdc-client count=1 bs=1k 2>/dev/null checksum[client-file]=`md5sum /tmp/cdc-client | cut -d' ' -f1` ## Uncompress the gzip dump file and find its md5sum -EXPECT '/tmp/cdcdump.gz: application/x-gzip; charset=binary' file -i /tmp/cdcdump.gz +# mime outputs for gzip are different for file version > 5.14 +EXPECT "$GZIP_MIME_TYPE" echo $(file_mime_type /tmp/cdcdump.gz) + TEST gunzip -f /tmp/cdcdump.gz checksum[dump-file-readv]=`md5sum /tmp/cdcdump | cut -d' ' -f1` @@ -90,24 +104,24 @@ TEST test ${checksum[client-file]} = ${checksum[dump-file-readv]} ## Cleanup files and unmount TEST rm -f /tmp/cdc* $M0/cdc* -TEST umount $M0 +EXPECT_WITHIN $UMOUNT_TIMEOUT "Y" force_umount $M0 ## Stop the volume TEST $CLI volume stop $V0; EXPECT 'Stopped' volinfo_field $V0 'Status'; -## Turn on compress.min-size and set it to 100 bytes +## Turn on network.compression.min-size and set it to 100 bytes ## Compression should not take place if file size ## is less than 100 bytes -TEST $CLI volume set $V0 compress.min-size 100 -EXPECT '100' volinfo_field $V0 'compress.min-size' +TEST $CLI volume set $V0 network.compression.min-size 100 +EXPECT '100' volinfo_field $V0 'network.compression.min-size' ## Start the volume TEST $CLI volume start $V0; EXPECT 'Started' volinfo_field $V0 'Status'; ## Mount FUSE with caching disabled -TEST glusterfs --entry-timeout=0 --attribute-timeout=0 -s $H0 --volfile-id $V0 $M0; +TEST $GFS -s $H0 --volfile-id $V0 $M0; ## Create a file of size 99 bytes on mountpoint ## This is should not be compressed @@ -116,18 +130,17 @@ TEST ! test -e /tmp/cdcdump.gz ## Cleanup files and unmount TEST rm -f /tmp/cdc* $M0/cdc* -TEST umount $M0 - -## Reset the compress options -TEST $CLI volume reset $V0 compress.debug -TEST $CLI volume reset $V0 compress.min-size -TEST $CLI volume reset $V0 compress.mode -TEST $CLI volume reset $V0 features.compress +EXPECT_WITHIN $UMOUNT_TIMEOUT "Y" force_umount $M0 ## Stop the volume TEST $CLI volume stop $V0; EXPECT 'Stopped' volinfo_field $V0 'Status'; +## Reset the network.compression options +TEST $CLI volume reset $V0 network.compression.debug +TEST $CLI volume reset $V0 network.compression.min-size +TEST $CLI volume reset $V0 network.compression + ## Delete the volume TEST $CLI volume delete $V0; TEST ! $CLI volume info $V0; |
