diff --git a/src/test/blk_nblock/TEST0 b/src/test/blk_nblock/TEST0 index 26a555de500c2f073fd274c80abf9bd4e7db4638..f71a1ef832f6e7a790a25aa0c48c5216b0c8eef2 100755 --- a/src/test/blk_nblock/TEST0 +++ b/src/test/blk_nblock/TEST0 @@ -41,6 +41,7 @@ require_test_type medium require_fs_type any require_unlimited_vm +exclude_ppc64 # this test creates huge files configure_valgrind force-disable diff --git a/src/test/blk_nblock/TEST1 b/src/test/blk_nblock/TEST1 index 236d4d98f3821f4ad5d208406ee76c804cf507ee..363aebac92ffd03cf15ab4e96d4efdb18891f426 100755 --- a/src/test/blk_nblock/TEST1 +++ b/src/test/blk_nblock/TEST1 @@ -40,6 +40,7 @@ require_test_type medium require_fs_type any +exclude_ppc64 setup diff --git a/src/test/blk_nblock/TEST3 b/src/test/blk_nblock/TEST3 new file mode 100755 index 0000000000000000000000000000000000000000..de6ddd8c4cb9d614067ea1fe4b91690b74252180 --- /dev/null +++ b/src/test/blk_nblock/TEST3 @@ -0,0 +1,185 @@ +#!/usr/bin/env bash +# +# Copyright 2014-2019, Intel Corporation +# Copyright 2019, IBM 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. +# + +# +# src/test/blk_nblock/TEST3 -- unit test for pmemblk_nblock +# +# This test is equivalent of TEST0 for ppc64le platform. +# + +. ../unittest/unittest.sh + +require_test_type medium + +require_fs_type any +require_unlimited_vm +require_ppc64 + +# this test creates huge files +configure_valgrind force-disable +setup + +# +# Create a gajillion files, each file size created +# has six versions for the six block sizes being tested. +# Except for testfile1, since that should fail because +# it is too small. +# +# These are holey files, so they actually don't take up +# any significant space. +# +truncate -s 2M $DIR/testfile1 +truncate -s 2G $DIR/testfile2.512 +truncate -s 2G $DIR/testfile2.520 +truncate -s 2G $DIR/testfile2.528 +truncate -s 2G $DIR/testfile2.4096 +truncate -s 2G $DIR/testfile2.4160 +truncate -s 2G $DIR/testfile2.4224 +truncate -s 512G $DIR/testfile3.512 +truncate -s 512G $DIR/testfile3.520 +truncate -s 512G $DIR/testfile3.528 +truncate -s 512G $DIR/testfile3.4096 +truncate -s 512G $DIR/testfile3.4160 +truncate -s 512G $DIR/testfile3.4224 +truncate -s 549755822080 $DIR/testfile4.512 +truncate -s 549755822080 $DIR/testfile4.520 +truncate -s 549755822080 $DIR/testfile4.528 +truncate -s 549755822080 $DIR/testfile4.4096 +truncate -s 549755822080 $DIR/testfile4.4160 +truncate -s 549755822080 $DIR/testfile4.4224 +truncate -s 513G $DIR/testfile5.512 +truncate -s 513G $DIR/testfile5.520 +truncate -s 513G $DIR/testfile5.528 +truncate -s 513G $DIR/testfile5.4096 +truncate -s 513G $DIR/testfile5.4160 +truncate -s 513G $DIR/testfile5.4224 +truncate -s 514G $DIR/testfile6.512 +truncate -s 514G $DIR/testfile6.520 +truncate -s 514G $DIR/testfile6.528 +truncate -s 514G $DIR/testfile6.4096 +truncate -s 514G $DIR/testfile6.4160 +truncate -s 514G $DIR/testfile6.4224 +# MINIMUM POOL SIZE = 16MB + 8KB +MIN_POOL_SIZE=$((16*1024*1024 + 128*1024)) +truncate -s $MIN_POOL_SIZE $DIR/testfile7.512 +truncate -s $MIN_POOL_SIZE $DIR/testfile7.520 +truncate -s $MIN_POOL_SIZE $DIR/testfile7.528 +truncate -s $MIN_POOL_SIZE $DIR/testfile7.4096 +truncate -s $MIN_POOL_SIZE $DIR/testfile7.4160 +truncate -s $MIN_POOL_SIZE $DIR/testfile7.4224 + +# should fail: +# 512:$DIR/testfile1 (file is too small) +# 4096:$DIR/testfile2.512 (bsize doesn't match pool) +expect_normal_exit ./blk_nblock$EXESUFFIX\ + 512:$DIR/testfile1\ + 512:$DIR/testfile2.512\ + 4096:$DIR/testfile2.512\ + 520:$DIR/testfile2.520\ + 528:$DIR/testfile2.528\ + 4096:$DIR/testfile2.4096\ + 4160:$DIR/testfile2.4160\ + 4224:$DIR/testfile2.4224\ + 512:$DIR/testfile3.512\ + 520:$DIR/testfile3.520\ + 528:$DIR/testfile3.528\ + 4096:$DIR/testfile3.4096\ + 4160:$DIR/testfile3.4160\ + 4224:$DIR/testfile3.4224\ + 512:$DIR/testfile4.512\ + 520:$DIR/testfile4.520\ + 528:$DIR/testfile4.528\ + 4096:$DIR/testfile4.4096\ + 4160:$DIR/testfile4.4160\ + 4224:$DIR/testfile4.4224\ + 512:$DIR/testfile5.512\ + 520:$DIR/testfile5.520\ + 528:$DIR/testfile5.528\ + 4096:$DIR/testfile5.4096\ + 4160:$DIR/testfile5.4160\ + 4224:$DIR/testfile5.4224\ + 512:$DIR/testfile6.512\ + 520:$DIR/testfile6.520\ + 528:$DIR/testfile6.528\ + 4096:$DIR/testfile6.4096\ + 4160:$DIR/testfile6.4160\ + 4224:$DIR/testfile6.4224\ + 512:$DIR/testfile7.512\ + 520:$DIR/testfile7.520\ + 528:$DIR/testfile7.528\ + 4096:$DIR/testfile7.4096\ + 4160:$DIR/testfile7.4160\ + 4224:$DIR/testfile7.4224 + +check_pools $DIR/testfile2.512\ + $DIR/testfile2.512\ + $DIR/testfile2.520\ + $DIR/testfile2.528\ + $DIR/testfile2.4096\ + $DIR/testfile2.4160\ + $DIR/testfile2.4224\ + $DIR/testfile3.512\ + $DIR/testfile3.520\ + $DIR/testfile3.528\ + $DIR/testfile3.4096\ + $DIR/testfile3.4160\ + $DIR/testfile3.4224\ + $DIR/testfile4.512\ + $DIR/testfile4.520\ + $DIR/testfile4.528\ + $DIR/testfile4.4096\ + $DIR/testfile4.4160\ + $DIR/testfile4.4224\ + $DIR/testfile5.512\ + $DIR/testfile5.520\ + $DIR/testfile5.528\ + $DIR/testfile5.4096\ + $DIR/testfile5.4160\ + $DIR/testfile5.4224\ + $DIR/testfile6.512\ + $DIR/testfile6.520\ + $DIR/testfile6.528\ + $DIR/testfile6.4096\ + $DIR/testfile6.4160\ + $DIR/testfile6.4224\ + $DIR/testfile7.512\ + $DIR/testfile7.520\ + $DIR/testfile7.528\ + $DIR/testfile7.4096\ + $DIR/testfile7.4160\ + $DIR/testfile7.4224 + +check + +pass diff --git a/src/test/blk_nblock/TEST4 b/src/test/blk_nblock/TEST4 new file mode 100755 index 0000000000000000000000000000000000000000..f6a5df633a097d2a1317d9ed32f22f70bae30230 --- /dev/null +++ b/src/test/blk_nblock/TEST4 @@ -0,0 +1,118 @@ +#!/usr/bin/env bash +# +# Copyright 2014-2019, Intel Corporation +# Copyright 2019, IBM 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. +# + +# +# src/test/blk_nblock/TEST4 -- unit test for pmemblk_nblock +# +# This test is equivalent of TEST1 for ppc64le platform. +# + +. ../unittest/unittest.sh + +require_test_type medium + +require_fs_type any +require_ppc64 + +setup + +# +# Create many files with different block sizes - most of +# them corner cases. +# +# These are holey files, so they actually don't take up +# any significant space. +# +truncate -s 1G $DIR/testfile1.2096640 +truncate -s 1G $DIR/testfile1.2096641 +truncate -s 2G $DIR/testfile2.0 +truncate -s 2G $DIR/testfile2.1 +truncate -s 2G $DIR/testfile2.17 +truncate -s 2G $DIR/testfile2.511 +truncate -s 2G $DIR/testfile2.1048576 +truncate -s 2G $DIR/testfile2.2097152 +truncate -s 2G $DIR/testfile2.4194304 +truncate -s 2G $DIR/testfile2.8388608 +truncate -s 2G $DIR/testfile2.16777216 +truncate -s 2G $DIR/testfile2.33554432 +truncate -s 2G $DIR/testfile2.67108864 +truncate -s 2G $DIR/testfile2.134217728 +truncate -s 2G $DIR/testfile2.268435456 +truncate -s 2G $DIR/testfile2.536870912 +truncate -s 2G $DIR/testfile2.1073741824 +truncate -s 2G $DIR/testfile2.2147483648 +truncate -s 2G $DIR/testfile2.-1 + +expect_normal_exit ./blk_nblock$EXESUFFIX\ + 2096640:$DIR/testfile1.2096640\ + 2096641:$DIR/testfile1.2096641\ + 0:$DIR/testfile2.0\ + 1:$DIR/testfile2.1\ + 17:$DIR/testfile2.17\ + 511:$DIR/testfile2.511\ + 1048576:$DIR/testfile2.1048576\ + 2097152:$DIR/testfile2.2097152\ + 4194304:$DIR/testfile2.4194304\ + 8388608:$DIR/testfile2.8388608\ + 16777216:$DIR/testfile2.16777216\ + 33554432:$DIR/testfile2.33554432\ + 67108864:$DIR/testfile2.67108864\ + 134217728:$DIR/testfile2.134217728\ + 268435456:$DIR/testfile2.268435456\ + 536870912:$DIR/testfile2.536870912\ + 1073741824:$DIR/testfile2.1073741824\ + 2147483648:$DIR/testfile2.2147483648\ + -1:$DIR/testfile2.-1 + +check_pools $DIR/testfile1.2096640\ + $DIR/testfile1.2096641\ + $DIR/testfile2.1\ + $DIR/testfile2.17\ + $DIR/testfile2.511\ + $DIR/testfile2.1048576\ + $DIR/testfile2.2097152\ + $DIR/testfile2.4194304\ + $DIR/testfile2.8388608\ + $DIR/testfile2.16777216\ + $DIR/testfile2.33554432\ + $DIR/testfile2.67108864\ + $DIR/testfile2.134217728\ + $DIR/testfile2.268435456\ + $DIR/testfile2.536870912\ + $DIR/testfile2.1073741824\ + $DIR/testfile2.2147483648\ + +check + +pass diff --git a/src/test/blk_nblock/out2.log.match b/src/test/blk_nblock/out2.log.match index 5a6b6c054093674c6a795cd54068b71a613e1e7d..49a65f5c8c5d0b3eef3d85e4aab7d4ff1bea4f78 100644 --- a/src/test/blk_nblock/out2.log.match +++ b/src/test/blk_nblock/out2.log.match @@ -1,5 +1,7 @@ blk_nblock$(nW)TEST2: START: blk_nblock $(nW)blk_nblock$(nW) 512:$(nW)testset1 512:$(nW)testset2 -$(nW)testset1: block size 512 usable blocks: 129728 -$(nW)testset2: block size 512 usable blocks: 259776 +$(OPT)$(nW)testset1: block size 512 usable blocks: 129728 +$(OPX)$(nW)testset1: block size 512 usable blocks: 129490 +$(OPT)$(nW)testset2: block size 512 usable blocks: 259776 +$(OPX)$(nW)testset2: block size 512 usable blocks: 259419 blk_nblock$(nW)TEST2: DONE diff --git a/src/test/blk_nblock/out3.log.match b/src/test/blk_nblock/out3.log.match new file mode 100644 index 0000000000000000000000000000000000000000..391a0bca9523e994012e64f78dd5b2bbf8b25308 --- /dev/null +++ b/src/test/blk_nblock/out3.log.match @@ -0,0 +1,41 @@ +blk_nblock$(nW)TEST3: START: blk_nblock + $(nW)blk_nblock$(nW) 512:$(nW)testfile1 512:$(nW)testfile2.512 4096:$(nW)testfile2.512 520:$(nW)testfile2.520 528:$(nW)testfile2.528 4096:$(nW)testfile2.4096 4160:$(nW)testfile2.4160 4224:$(nW)testfile2.4224 512:$(nW)testfile3.512 520:$(nW)testfile3.520 528:$(nW)testfile3.528 4096:$(nW)testfile3.4096 4160:$(nW)testfile3.4160 4224:$(nW)testfile3.4224 512:$(nW)testfile4.512 520:$(nW)testfile4.520 528:$(nW)testfile4.528 4096:$(nW)testfile4.4096 4160:$(nW)testfile4.4160 4224:$(nW)testfile4.4224 512:$(nW)testfile5.512 520:$(nW)testfile5.520 528:$(nW)testfile5.528 4096:$(nW)testfile5.4096 4160:$(nW)testfile5.4160 4224:$(nW)testfile5.4224 512:$(nW)testfile6.512 520:$(nW)testfile6.520 528:$(nW)testfile6.528 4096:$(nW)testfile6.4096 4160:$(nW)testfile6.4160 4224:$(nW)testfile6.4224 512:$(nW)testfile7.512 520:$(nW)testfile7.520 528:$(nW)testfile7.528 4096:$(nW)testfile7.4096 4160:$(nW)testfile7.4160 4224:$(nW)testfile7.4224 +$(nW)testfile1: pmemblk_create: Invalid argument +$(nW)testfile2.512: block size 512 usable blocks: 4161224 +$(nW)testfile2.512: pmemblk_create: File exists +$(nW)testfile2.520: block size 520 usable blocks: 2781251 +$(nW)testfile2.528: block size 528 usable blocks: 2781251 +$(nW)testfile2.4096: block size 4096 usable blocks: 523481 +$(nW)testfile2.4160: block size 4160 usable blocks: 492701 +$(nW)testfile2.4224: block size 4224 usable blocks: 492701 +$(nW)testfile3.512: block size 512 usable blocks: 1065417678 +$(nW)testfile3.520: block size 520 usable blocks: 712118466 +$(nW)testfile3.528: block size 528 usable blocks: 712118466 +$(nW)testfile3.4096: block size 4096 usable blocks: 134086488 +$(nW)testfile3.4160: block size 4160 usable blocks: 126206276 +$(nW)testfile3.4224: block size 4224 usable blocks: 126206276 +$(nW)testfile4.512: block size 512 usable blocks: 1065417678 +$(nW)testfile4.520: block size 520 usable blocks: 712118466 +$(nW)testfile4.528: block size 528 usable blocks: 712118466 +$(nW)testfile4.4096: block size 4096 usable blocks: 134086488 +$(nW)testfile4.4160: block size 4160 usable blocks: 126206276 +$(nW)testfile4.4224: block size 4224 usable blocks: 126206276 +$(nW)testfile5.512: block size 512 usable blocks: 1067498261 +$(nW)testfile5.520: block size 520 usable blocks: 713509030 +$(nW)testfile5.528: block size 528 usable blocks: 713509030 +$(nW)testfile5.4096: block size 4096 usable blocks: 134348113 +$(nW)testfile5.4160: block size 4160 usable blocks: 126452510 +$(nW)testfile5.4224: block size 4224 usable blocks: 126452510 +$(nW)testfile6.512: block size 512 usable blocks: 1069579156 +$(nW)testfile6.520: block size 520 usable blocks: 714899887 +$(nW)testfile6.528: block size 528 usable blocks: 714899887 +$(nW)testfile6.4096: block size 4096 usable blocks: 134610001 +$(nW)testfile6.4160: block size 4160 usable blocks: 126699007 +$(nW)testfile6.4224: block size 4224 usable blocks: 126699007 +$(nW)testfile7.512: block size 512 usable blocks: 32202 +$(nW)testfile7.520: block size 520 usable blocks: 21439 +$(nW)testfile7.528: block size 528 usable blocks: 21439 +$(nW)testfile7.4096: block size 4096 usable blocks: 3829 +$(nW)testfile7.4160: block size 4160 usable blocks: 3588 +$(nW)testfile7.4224: block size 4224 usable blocks: 3588 +blk_nblock$(nW)TEST3: DONE diff --git a/src/test/blk_nblock/out4.log.match b/src/test/blk_nblock/out4.log.match new file mode 100644 index 0000000000000000000000000000000000000000..d677b5c7180ebccd5f4cbedd8be159bd35255bff --- /dev/null +++ b/src/test/blk_nblock/out4.log.match @@ -0,0 +1,22 @@ +blk_nblock$(nW)TEST4: START: blk_nblock + $(nW)blk_nblock$(nW) 2096640:$(nW)testfile1.2096640 2096641:$(nW)testfile1.2096641 0:$(nW)testfile2.0 1:$(nW)testfile2.1 17:$(nW)testfile2.17 511:$(nW)testfile2.511 1048576:$(nW)testfile2.1048576 2097152:$(nW)testfile2.2097152 4194304:$(nW)testfile2.4194304 8388608:$(nW)testfile2.8388608 16777216:$(nW)testfile2.16777216 33554432:$(nW)testfile2.33554432 67108864:$(nW)testfile2.67108864 134217728:$(nW)testfile2.134217728 268435456:$(nW)testfile2.268435456 536870912:$(nW)testfile2.536870912 1073741824:$(nW)testfile2.1073741824 2147483648:$(nW)testfile2.2147483648 -1:$(nW)testfile2.-1 +$(nW)testfile1.2096640: block size 2096640 usable blocks: 256 +$(nW)testfile1.2096641: pmemblk_create: Invalid argument +$(nW)testfile2.0: pmemblk_create: Invalid argument +$(nW)testfile2.1: block size 1 usable blocks: $(N) +$(nW)testfile2.17: block size 17 usable blocks: $(N) +$(nW)testfile2.511: block size 511 usable blocks: $(N) +$(nW)testfile2.1048576: block size 1048576 usable blocks: 1791 +$(nW)testfile2.2097152: block size 2097152 usable blocks: 767 +$(nW)testfile2.4194304: pmemblk_create: Invalid argument +$(nW)testfile2.8388608: pmemblk_create: Invalid argument +$(nW)testfile2.16777216: pmemblk_create: Invalid argument +$(nW)testfile2.33554432: pmemblk_create: Invalid argument +$(nW)testfile2.67108864: pmemblk_create: Invalid argument +$(nW)testfile2.134217728: pmemblk_create: Invalid argument +$(nW)testfile2.268435456: pmemblk_create: Invalid argument +$(nW)testfile2.536870912: pmemblk_create: Invalid argument +$(nW)testfile2.1073741824: pmemblk_create: Invalid argument +$(nW)testfile2.2147483648: pmemblk_create: Invalid argument +$(nW)testfile2.-1: pmemblk_create: Invalid argument +blk_nblock$(nW)TEST4: DONE diff --git a/src/test/blk_non_zero/TEST10 b/src/test/blk_non_zero/TEST10 index 104e84a02587610692a315acf6b0dc53b9c5636d..b22d3c9e79604d397fa92df8efb1f26c52b333d9 100755 --- a/src/test/blk_non_zero/TEST10 +++ b/src/test/blk_non_zero/TEST10 @@ -44,13 +44,13 @@ require_fs_type any setup # single arena and minimum pmemblk pool file case -create_nonzeroed_file 17M 8K $DIR/testfile1 +create_nonzeroed_file 17M $(blk_pool_desc_size) $DIR/testfile1 expect_normal_exit ./blk_non_zero$EXESUFFIX 512 $DIR/testfile1 c 0\ t:3 rm $DIR/testfile1 -create_nonzeroed_file 17M 8K $DIR/testfile1 +create_nonzeroed_file 17M $(blk_pool_desc_size) $DIR/testfile1 expect_normal_exit ./blk_non_zero$EXESUFFIX 512 $DIR/testfile1 c 0\ m:3 diff --git a/src/test/blk_pool/out38.log.match b/src/test/blk_pool/out38.log.match index 839aa26855227f5f1df0086c00451261ce594c1a..360d53bdec16f16a11a4af5458d1c0fc057a4bea 100644 --- a/src/test/blk_pool/out38.log.match +++ b/src/test/blk_pool/out38.log.match @@ -1,4 +1,4 @@ blk_pool$(nW)TEST38: START: blk_pool $(nW)blk_pool$(nW) c $(nW)testset 100 0 0640 -$(nW)testset: file size 172 usable blocks 80592 mode 0666 +$(nW)testset: file size $(N) usable blocks 80592 mode 0666 blk_pool$(nW)TEST38: DONE diff --git a/src/test/blk_pool/out40.log.match b/src/test/blk_pool/out40.log.match index 55c0a3bff2317e9186eecd4123cb05c3e0a35c60..60475c683ffbcb6118aa1d4106e72c7ed1fbc79f 100644 --- a/src/test/blk_pool/out40.log.match +++ b/src/test/blk_pool/out40.log.match @@ -1,4 +1,4 @@ blk_pool$(nW)TEST40: START: blk_pool $(nW)blk_pool$(nW) c $(nW)testset 100 0 0640 -$(nW)testset: file size 768 usable blocks 34996 mode 0666 +$(nW)testset: file size $(N) usable blocks 34996 mode 0666 blk_pool$(nW)TEST40: DONE diff --git a/src/test/bttdevice/out0.log.match b/src/test/bttdevice/out0.log.match index 79e165c313dc0031d2e7d40c4efdf250cbab6ae9..db9890213f8378a8d449fec46972baea15b35970 100644 --- a/src/test/bttdevice/out0.log.match +++ b/src/test/bttdevice/out0.log.match @@ -15,16 +15,21 @@ Flags : 0x0 Major : 1 Minor : 1 External LBA size : 1024 -External LBA count : 20112 +$(OPT)External LBA count : 20112 +$(OPX)External LBA count : 20052 Internal LBA size : 1024 -Internal LBA count : 20368 +$(OPT)Internal LBA count : 20368 +$(OPX)Internal LBA count : 20308 Free blocks : 256 Info block size : 4096 Next arena offset : 0x0 Arena data offset : 0x1000 -Area map offset : 0x13e6000 -Area flog offset : 0x13fa000 -Info block backup offset : 0x13fe000 +$(OPT)Area map offset : 0x13e6000 +$(OPX)Area map offset : 0x13d7000 +$(OPT)Area flog offset : 0x13fa000 +$(OPX)Area flog offset : 0x13eb000 +$(OPT)Info block backup offset : 0x13fe000 +$(OPX)Info block backup offset : 0x13ef000 Checksum : $(XX) [OK] Create btt device - automatic uuid generation @@ -44,14 +49,19 @@ Flags : 0x0 Major : 1 Minor : 1 External LBA size : 2048 -External LBA count : 20168 +$(OPT)External LBA count : 20168 +$(OPX)External LBA count : 20138 Internal LBA size : 2048 -Internal LBA count : 20424 +$(OPT)Internal LBA count : 20424 +$(OPX)Internal LBA count : 20394 Free blocks : 256 Info block size : 4096 Next arena offset : 0x0 Arena data offset : 0x1000 -Area map offset : 0x27e6000 -Area flog offset : 0x27fa000 -Info block backup offset : 0x27fe000 +$(OPT)Area map offset : 0x27e6000 +$(OPX)Area map offset : 0x27d7000 +$(OPT)Area flog offset : 0x27fa000 +$(OPX)Area flog offset : 0x27eb000 +$(OPT)Info block backup offset : 0x27fe000 +$(OPX)Info block backup offset : 0x27ef000 Checksum : $(XX) [OK] diff --git a/src/test/bttdevice/out1.log.match b/src/test/bttdevice/out1.log.match index cec97a3f3fdfa4d59ea6b652c35910d318925edf..db930a8f1ead3239a5c2e458811e68052751688a 100644 --- a/src/test/bttdevice/out1.log.match +++ b/src/test/bttdevice/out1.log.match @@ -17,14 +17,19 @@ Flags : 0x0 Major : 0 Minor : 1 External LBA size : 10 -External LBA count : 40322 +$(OPT)External LBA count : 40322 +$(OPX)External LBA count : 40203 Internal LBA size : 512 -Internal LBA count : 40578 +$(OPT)Internal LBA count : 40578 +$(OPX)Internal LBA count : 40459 Free blocks : 256 Info block size : 4096 Next arena offset : 0x0 Arena data offset : 0x1000 -Area map offset : 0x13d2000 -Area flog offset : 0x13fa000 -Info block backup offset : 0x13fe000 +$(OPT)Area map offset : 0x13d2000 +$(OPX)Area map offset : 0x13c3000 +$(OPT)Area flog offset : 0x13fa000 +$(OPX)Area flog offset : 0x13eb000 +$(OPT)Info block backup offset : 0x13fe000 +$(OPX)Info block backup offset : 0x13ef000 Checksum : $(XX) [wrong! should be: $(XX)] diff --git a/src/test/pmempool_sync/TEST0 b/src/test/pmempool_sync/TEST0 index 1dd87ff57b73b9f1b59cf1e6e1caad9c73602463..aaf1d9eae1efc01ab958e0f397bd2fec9205570f 100755 --- a/src/test/pmempool_sync/TEST0 +++ b/src/test/pmempool_sync/TEST0 @@ -53,7 +53,7 @@ POOLSET=$DIR/pool0.set M=$(( 1024 * 1024 )) M20=$(( 20 * $M )) M40=$(( 40 * $M )) -POOL_HEADER_OFFSET=4096 +POOL_HEADER_OFFSET=$(getconf PAGE_SIZE) ADDR_MASK=0xFFFFF000 # Create poolset file diff --git a/src/test/pmempool_sync/out10.log.match b/src/test/pmempool_sync/out10.log.match index dbacc906bcf0df7a56da6f2fc24dacf1e9f55c0e..0bc890bc4bb8c629dc0b42069b9a3162df305b9e 100644 --- a/src/test/pmempool_sync/out10.log.match +++ b/src/test/pmempool_sync/out10.log.match @@ -33,7 +33,8 @@ Pool set UUID : $(nW) PMEM OBJ Header: Layout : OBJ_LAYOUT$(nW) -Lanes offset : 0x2000 +$(OPT)Lanes offset : 0x2000 +$(OPX)Lanes offset : 0x20000 Number of lanes : 1024 Heap offset : $(nW) Heap size : $(nW) diff --git a/src/test/pmempool_sync/out2.log.match b/src/test/pmempool_sync/out2.log.match index 01a4584ebe2715821831c7dcb234227bb8e78694..1a92c3460751ba1a425c6473ff5cece2dcbccfc6 100644 --- a/src/test/pmempool_sync/out2.log.match +++ b/src/test/pmempool_sync/out2.log.match @@ -34,7 +34,8 @@ Pool set UUID : $(nW) PMEM OBJ Header: Layout : OBJ_LAYOUT$(nW) -Lanes offset : 0x2000 +$(OPT)Lanes offset : 0x2000 +$(OPX)Lanes offset : 0x20000 Number of lanes : 1024 Heap offset : $(nW) Heap size : $(nW) diff --git a/src/test/pmempool_sync/out4.log.match b/src/test/pmempool_sync/out4.log.match index 0266fa4fd2c4f85cb929a4947b5000dc30f7c532..e6d3c587f6f8e353744089ef3e237f77974f1428 100644 --- a/src/test/pmempool_sync/out4.log.match +++ b/src/test/pmempool_sync/out4.log.match @@ -32,7 +32,8 @@ Pool set UUID : $(nW) PMEM OBJ Header: Layout : OBJ_LAYOUT$(nW) -Lanes offset : 0x2000 +$(OPT)Lanes offset : 0x2000 +$(OPX)Lanes offset : 0x20000 Number of lanes : 1024 Heap offset : $(nW) Heap size : $(nW) diff --git a/src/test/pmempool_transform/out10.log.match b/src/test/pmempool_transform/out10.log.match index 76ad05810c920d8ff8c68a43bfa85dbce86cb77a..1476db59f19e3ec8d4856c698a912e42616eaec8 100644 --- a/src/test/pmempool_transform/out10.log.match +++ b/src/test/pmempool_transform/out10.log.match @@ -35,7 +35,8 @@ Pool set UUID : $(nW) PMEM OBJ Header: Layout : OBJ_LAYOUT$(nW) -Lanes offset : 0x2000 +$(OPT)Lanes offset : 0x2000 +$(OPX)Lanes offset : 0x20000 Number of lanes : 1024 Heap offset : $(nW) Heap size : $(nW) diff --git a/src/test/pmempool_transform/out13.log.match b/src/test/pmempool_transform/out13.log.match index c07129319157307ae23c5e60efa1c163276b9216..a50ca6e16a29f4a8b1bd40f9e51ad6f35e4c9156 100644 --- a/src/test/pmempool_transform/out13.log.match +++ b/src/test/pmempool_transform/out13.log.match @@ -47,7 +47,8 @@ Pool set UUID : $(nW) PMEM OBJ Header: Layout : OBJ_LAYOUT$(nW) -Lanes offset : 0x2000 +$(OPT)Lanes offset : 0x2000 +$(OPX)Lanes offset : 0x20000 Number of lanes : 1024 Heap offset : $(nW) Heap size : $(nW) @@ -68,7 +69,8 @@ Pool set UUID : $(nW) PMEM OBJ Header: Layout : OBJ_LAYOUT$(nW) -Lanes offset : 0x2000 +$(OPT)Lanes offset : 0x2000 +$(OPX)Lanes offset : 0x20000 Number of lanes : 1024 Heap offset : $(nW) Heap size : $(nW) diff --git a/src/test/pmempool_transform/out17.log.match b/src/test/pmempool_transform/out17.log.match index bc14a01cb7cfd5a973f9686562982b0b7c3173df..629668f2d6a9cf453441f6ed824f0ba27999dd5d 100644 --- a/src/test/pmempool_transform/out17.log.match +++ b/src/test/pmempool_transform/out17.log.match @@ -47,7 +47,8 @@ Pool set UUID : $(nW) PMEM OBJ Header: Layout : OBJ_LAYOUT$(nW) -Lanes offset : 0x2000 +$(OPT)Lanes offset : 0x2000 +$(OPX)Lanes offset : 0x20000 Number of lanes : 1024 Heap offset : $(nW) Heap size : $(nW) diff --git a/src/test/pmempool_transform/out23.log.match b/src/test/pmempool_transform/out23.log.match index 464d486b086211c77df2288dd069d258599328ed..e260824f128699278bb54cb4c17478270889b469 100644 --- a/src/test/pmempool_transform/out23.log.match +++ b/src/test/pmempool_transform/out23.log.match @@ -44,7 +44,8 @@ Pool set UUID : $(nW) PMEM OBJ Header: Layout : OBJ_LAYOUT$(nW) -Lanes offset : 0x2000 +$(OPT)Lanes offset : 0x2000 +$(OPX)Lanes offset : 0x20000 Number of lanes : 1024 Heap offset : $(nW) Heap size : $(nW) diff --git a/src/test/pmempool_transform/out24.log.match b/src/test/pmempool_transform/out24.log.match index c07129319157307ae23c5e60efa1c163276b9216..a50ca6e16a29f4a8b1bd40f9e51ad6f35e4c9156 100644 --- a/src/test/pmempool_transform/out24.log.match +++ b/src/test/pmempool_transform/out24.log.match @@ -47,7 +47,8 @@ Pool set UUID : $(nW) PMEM OBJ Header: Layout : OBJ_LAYOUT$(nW) -Lanes offset : 0x2000 +$(OPT)Lanes offset : 0x2000 +$(OPX)Lanes offset : 0x20000 Number of lanes : 1024 Heap offset : $(nW) Heap size : $(nW) @@ -68,7 +69,8 @@ Pool set UUID : $(nW) PMEM OBJ Header: Layout : OBJ_LAYOUT$(nW) -Lanes offset : 0x2000 +$(OPT)Lanes offset : 0x2000 +$(OPX)Lanes offset : 0x20000 Number of lanes : 1024 Heap offset : $(nW) Heap size : $(nW) diff --git a/src/test/pmempool_transform/out3.log.match b/src/test/pmempool_transform/out3.log.match index 9e71d9d45c2477c7432f8ea2256524673b3320e6..2540796d4dcb066b1a67386fb723f082e1848e67 100644 --- a/src/test/pmempool_transform/out3.log.match +++ b/src/test/pmempool_transform/out3.log.match @@ -32,7 +32,8 @@ Pool set UUID : $(nW) PMEM OBJ Header: Layout : OBJ_LAYOUT$(nW) -Lanes offset : 0x2000 +$(OPT)Lanes offset : 0x2000 +$(OPX)Lanes offset : 0x20000 Number of lanes : 1024 Heap offset : $(nW) Heap size : $(nW) @@ -53,7 +54,8 @@ Pool set UUID : $(nW) PMEM OBJ Header: Layout : OBJ_LAYOUT$(nW) -Lanes offset : 0x2000 +$(OPT)Lanes offset : 0x2000 +$(OPX)Lanes offset : 0x20000 Number of lanes : 1024 Heap offset : $(nW) Heap size : $(nW) diff --git a/src/test/pmempool_transform/out4.log.match b/src/test/pmempool_transform/out4.log.match index e72e265ed1108b2c1411c577fb00242e31d3ce13..592627890cde2bd20f509ea47983394dca224f27 100644 --- a/src/test/pmempool_transform/out4.log.match +++ b/src/test/pmempool_transform/out4.log.match @@ -62,7 +62,8 @@ Pool set UUID : $(nW) PMEM OBJ Header: Layout : OBJ_LAYOUT$(nW) -Lanes offset : 0x2000 +$(OPT)Lanes offset : 0x2000 +$(OPX)Lanes offset : 0x20000 Number of lanes : 1024 Heap offset : $(nW) Heap size : $(nW) diff --git a/src/test/pmempool_transform/out5.log.match b/src/test/pmempool_transform/out5.log.match index f2d895ca2496f6496c1d15f117c84f2ff55887ad..609b80d6efe4937942426a1e3ab0a6ae30f056ce 100644 --- a/src/test/pmempool_transform/out5.log.match +++ b/src/test/pmempool_transform/out5.log.match @@ -54,7 +54,8 @@ Pool set UUID : $(nW) PMEM OBJ Header: Layout : OBJ_LAYOUT$(nW) -Lanes offset : 0x2000 +$(OPT)Lanes offset : 0x2000 +$(OPX)Lanes offset : 0x20000 Number of lanes : 1024 Heap offset : $(nW) Heap size : $(nW) diff --git a/src/test/pmempool_transform/out6.log.match b/src/test/pmempool_transform/out6.log.match index e2cc9ce454c04604dad09206ad43d9172ff42e61..bdb9acad0134dd869e2e1f54281dc07a2d11625d 100644 --- a/src/test/pmempool_transform/out6.log.match +++ b/src/test/pmempool_transform/out6.log.match @@ -52,7 +52,8 @@ Pool set UUID : $(nW) PMEM OBJ Header: Layout : OBJ_LAYOUT$(nW) -Lanes offset : 0x2000 +$(OPT)Lanes offset : 0x2000 +$(OPX)Lanes offset : 0x20000 Number of lanes : 1024 Heap offset : $(nW) Heap size : $(nW) diff --git a/src/test/tools/bttcreate/bttcreate.c b/src/test/tools/bttcreate/bttcreate.c index aa7b6a0093422e835ed2c88b977b84788ffe1e6a..e3a1dad5ac63242ce73f4b260e8fadaa20cea8a2 100644 --- a/src/test/tools/bttcreate/bttcreate.c +++ b/src/test/tools/bttcreate/bttcreate.c @@ -51,10 +51,11 @@ #include "pmemcommon.h" #include "os.h" #include "util.h" +#include "page_size.h" #define BTT_CREATE_DEF_SIZE (20 * 1UL << 20) /* 20 MB */ #define BTT_CREATE_DEF_BLK_SIZE 512UL -#define BTT_CREATE_DEF_OFFSET_SIZE (4 * 1UL << 10) /* 4 KB */ +#define BTT_CREATE_DEF_OFFSET_SIZE PMEM_PAGESIZE struct btt_context { void *addr; diff --git a/src/test/tools/pmemspoil/spoil.c b/src/test/tools/pmemspoil/spoil.c index bfe411120b2b1781b9ff891d7be3aa8c123f2f91..c4190fa22e15bbbc69e31712d6cbf896cc0adc2c 100644 --- a/src/test/tools/pmemspoil/spoil.c +++ b/src/test/tools/pmemspoil/spoil.c @@ -1067,7 +1067,8 @@ pmemspoil_process_bttdevice(struct pmemspoil *psp, PROCESS_BEGIN(psp, pfp) { PROCESS(arena, pmemspoil_get_arena_offset(psp, PROCESS_INDEX, - BTT_ALIGNMENT), + ALIGN_UP(sizeof(struct pool_hdr), + BTT_ALIGNMENT)), UINT32_MAX, uint64_t); } PROCESS_END return PROCESS_RET; diff --git a/src/test/util_poolset_size/TEST0 b/src/test/util_poolset_size/TEST0 index 335bf47c710f0faa0fc0375a36b78ca8d1f447de..c9c8d45015de2ecc7e236a4c877a4d38a4c333c4 100755 --- a/src/test/util_poolset_size/TEST0 +++ b/src/test/util_poolset_size/TEST0 @@ -40,6 +40,7 @@ require_test_type medium require_fs_type any +exclude_ppc64 setup diff --git a/src/test/util_poolset_size/TEST1 b/src/test/util_poolset_size/TEST1 new file mode 100755 index 0000000000000000000000000000000000000000..7b799bb832a68efbf8e6ce123a2ce3f08c245718 --- /dev/null +++ b/src/test/util_poolset_size/TEST1 @@ -0,0 +1,68 @@ +#!/usr/bin/env bash +# +# Copyright 2016-2019, Intel Corporation +# Copyright 2019, IBM 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. +# + +# +# src/test/util_poolset_size/TEST1 -- unit test for util_poolset_size +# +# This test is equivalent of TEST0 for ppc64le platform. +# + +. ../unittest/unittest.sh + +require_test_type medium + +require_fs_type any +require_ppc64 + +setup + +create_poolset $DIR/pool.set1 152K:$DIR/testfile:x +create_poolset $DIR/pool.set2 152K:$DIR/testfile1:x 32M:$DIR/testfile2:x +create_poolset $DIR/pool.set3\ + 32M:$DIR/testfile11:x 32M:$DIR/testfile12:x\ + R 64M:$DIR/testfile21:x 32M:$DIR/testfile22:x +create_poolset $DIR/pool.set4\ + 32M:$DIR/testfile11:x 32M:$DIR/testfile12:x\ + R 64M:$DIR/testfile21:x 32M:$DIR/testfile22:x\ + R 64M:$DIR/testfile31:x 64M:$DIR/testfile32:x + +expect_normal_exit ./util_poolset_size$EXESUFFIX\ + $DIR/pool.set1\ + $DIR/pool.set2\ + $DIR/pool.set3\ + $DIR/pool.set4 + +check + +pass diff --git a/src/test/util_poolset_size/out1.log.match b/src/test/util_poolset_size/out1.log.match new file mode 100644 index 0000000000000000000000000000000000000000..d3b8db5fe7a74fd4e9d54040c563f16dea6b1b68 --- /dev/null +++ b/src/test/util_poolset_size/out1.log.match @@ -0,0 +1,7 @@ +util_poolset_size$(nW)TEST1: START: util_poolset_size + $(nW)util_poolset_size$(nW) $(*)pool.set1 $(*)pool.set2 $(*)pool.set3 $(*)pool.set4 +util_poolset_size($(*)pool.set1): 131072 +util_poolset_size($(*)pool.set2): 33619968 +util_poolset_size($(*)pool.set3): 67043328 +util_poolset_size($(*)pool.set4): 67043328 +util_poolset_size$(nW)TEST1: DONE