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

#
# src/test/blk_non_zero/TEST5 -- unit test for
# pmemblk_read/write/set_zero/set_error
#

. ../unittest/unittest.sh

require_test_type medium

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

setup

# single arena and minimum pmemblk pool file case
MIN_POOL_SIZE=$((16*1024*1024 + 64*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:32312 r:32313 z:0 z:1 r:0

check

pass
