#!/usr/bin/env bash
#
# SPDX-License-Identifier: BSD-3-Clause
# Copyright 2015-2019, Intel Corporation
# Copyright 2019, IBM Corporation

#
# src/test/blk_non_zero/TEST16 -- unit test for
# pmemblk_read/write/set_zero/set_error
#
# This test is equivalent of TEST5 for ppc64le platform.
#

. ../unittest/unittest.sh

require_test_type medium

# doesn't make sense to run in local directory
require_fs_type pmem non-pmem
require_ppc64

setup

# single arena and minimum pmemblk pool file case
MIN_POOL_SIZE=$((16*1024*1024 + 128*1024))

#
# All reads to an unwritten block pool should return zeros.
# Block 32202 is out of range and should return EINVAL.
# Attempts to zero uninitialized blocks are nops (should succeed).
#
expect_normal_exit ./blk_non_zero$EXESUFFIX 512 $DIR/testfile1 c $MIN_POOL_SIZE\
	r:0 r:1 r:32201 r:32202 z:0 z:1 r:0

check

pass
