xfsqa test 166 fails on 64k page machine

test 166 output is dependent on page size (mmap related). Make
the output filter turn the output into something independent of
page size whilst checking that the output is valid.
Merge of master-melb:xfs-cmds:30702a by kenmcd.

  Make the file size and I/O size large enough that 64k pages are
  handled correctly.
This commit is contained in:
Dave Chinner
2008-03-25 05:19:50 +00:00
parent 17ba6b295e
commit 5c62a6cdf4
2 changed files with 36 additions and 12 deletions
+30 -6
View File
@@ -27,13 +27,37 @@ _cleanup()
. ./common.rc
. ./common.filter
# assumes 1st, 3rd and 5th blocks are single written blocks,
# the others are unwritten.
_filter_blocks()
{
$AWK_PROG '/[0-9]/ {
if ($7)
print $1, $2, "XX..YY", "AG", "(AA..BB)", $6, $7;
else
print $1, $2, "XX..YY", "AG", "(AA..BB)", $6;
$AWK_PROG '
/[0-9]/ {
if (!written_size) {
written_size = $6
unwritten1 = ((1048576/512) / 2) - written_size
unwritten2 = ((1048576/512) / 2) - 2 * written_size
}
if ($7) {
size = "RIGHT"
flags = "GOOD"
if (unwritten1) {
if ($6 != unwritten1)
size = "WRONG"
unwritten1 = 0;
} else if ($6 != unwritten2) {
size = "WRONG"
}
if ($7 < 10000)
flags = "BAD"
} else {
size = "RIGHT"
flags = "GOOD"
if ($6 != written_size)
size = "WRONG"
}
print $1, "[AA..BB]", "XX..YY", "AG", "(AA..BB)", size, flags
}'
}
@@ -48,7 +72,7 @@ _scratch_mount
TEST_FILE=$SCRATCH_MNT/test_file
TEST_PROG=$here/src/unwritten_mmap
FILE_SIZE=131072
FILE_SIZE=1048576
rm -f $TEST_FILE
$TEST_PROG $FILE_SIZE $TEST_FILE
+5 -5
View File
@@ -1,6 +1,6 @@
QA output created by 166
0: [0..31]: XX..YY AG (AA..BB) 32
1: [32..127]: XX..YY AG (AA..BB) 96 10000
2: [128..159]: XX..YY AG (AA..BB) 32
3: [160..223]: XX..YY AG (AA..BB) 64 10000
4: [224..255]: XX..YY AG (AA..BB) 32
0: [AA..BB] XX..YY AG (AA..BB) RIGHT GOOD
1: [AA..BB] XX..YY AG (AA..BB) RIGHT GOOD
2: [AA..BB] XX..YY AG (AA..BB) RIGHT GOOD
3: [AA..BB] XX..YY AG (AA..BB) RIGHT GOOD
4: [AA..BB] XX..YY AG (AA..BB) RIGHT GOOD