hdf5/src/H5FStest.c
Larry Knox 4819f89d3f
Update license url (#332)
* Modify temporary rpath for testing in java example scripts.

* Update URL in source file Copyright headers for web copy of COPYING
file - src and test directories.
2021-02-17 08:52:04 -06:00

144 lines
4.3 KiB
C

/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
* Copyright by The HDF Group. *
* Copyright by the Board of Trustees of the University of Illinois. *
* All rights reserved. *
* *
* This file is part of HDF5. The full HDF5 copyright notice, including *
* terms governing use, modification, and redistribution, is contained in *
* the COPYING file, which can be found at the root of the source code *
* distribution tree, or in https://www.hdfgroup.org/licenses. *
* If you do not have access to either file, you may request a copy from *
* help@hdfgroup.org. *
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
/*
* Purpose: Free-space manager testing functions.
*
*/
/****************/
/* Module Setup */
/****************/
#include "H5FSmodule.h" /* This source code file is part of the H5FS module */
#define H5FS_TESTING /* Suppress warning about H5FS testing funcs */
/***********/
/* Headers */
/***********/
#include "H5private.h" /* Generic Functions */
#include "H5Eprivate.h" /* Error handling */
#include "H5FSpkg.h" /* Free-space manager */
/****************/
/* Local Macros */
/****************/
/******************/
/* Local Typedefs */
/******************/
/********************/
/* Package Typedefs */
/********************/
/********************/
/* Local Prototypes */
/********************/
/*********************/
/* Package Variables */
/*********************/
/*****************************/
/* Library Private Variables */
/*****************************/
/*******************/
/* Local Variables */
/*******************/
/*-------------------------------------------------------------------------
* Function: H5FS__get_cparam_test
*
* Purpose: Retrieve the parameters used to create the free-space manager
* similar to H5HF_get_cparam_test()
*
* Return: SUCCEED/FAIL
*
* Programmer: Vailin Choi
* August 25th, 2008
*
*-------------------------------------------------------------------------
*/
herr_t
H5FS__get_cparam_test(const H5FS_t *frsp, H5FS_create_t *cparam)
{
FUNC_ENTER_PACKAGE_NOERR
/* Check arguments. */
HDassert(frsp);
HDassert(cparam);
cparam->client = frsp->client;
cparam->shrink_percent = frsp->shrink_percent;
cparam->expand_percent = frsp->expand_percent;
cparam->max_sect_addr = frsp->max_sect_addr;
cparam->max_sect_size = frsp->max_sect_size;
FUNC_LEAVE_NOAPI(SUCCEED)
} /* H5FS__get_cparam_test() */
/*-------------------------------------------------------------------------
* Function: H5FS__cmp_cparam_test
*
* Purpose: Compare the parameters used to create the free space manager
* similar to H5HF_cmp_cparam_test()
*
* Return: A value like strcmp()
*
* Programmer: Vailin Choi
* August 25th, 2008
*
*-------------------------------------------------------------------------
*/
int
H5FS__cmp_cparam_test(const H5FS_create_t *cparam1, const H5FS_create_t *cparam2)
{
int ret_value = 0; /* Return value */
FUNC_ENTER_PACKAGE_NOERR
/* Check arguments. */
HDassert(cparam1);
HDassert(cparam2);
if (cparam1->client < cparam2->client)
HGOTO_DONE(-1)
else if (cparam1->client > cparam2->client)
HGOTO_DONE(1)
if (cparam1->shrink_percent < cparam2->shrink_percent)
HGOTO_DONE(-1)
else if (cparam1->shrink_percent > cparam2->shrink_percent)
HGOTO_DONE(1)
if (cparam1->expand_percent < cparam2->expand_percent)
HGOTO_DONE(-1)
else if (cparam1->expand_percent > cparam2->expand_percent)
HGOTO_DONE(1)
if (cparam1->max_sect_size < cparam2->max_sect_size)
HGOTO_DONE(-1)
else if (cparam1->max_sect_size > cparam2->max_sect_size)
HGOTO_DONE(1)
if (cparam1->max_sect_addr < cparam2->max_sect_addr)
HGOTO_DONE(-1)
else if (cparam1->max_sect_addr > cparam2->max_sect_addr)
HGOTO_DONE(1)
done:
FUNC_LEAVE_NOAPI(ret_value)
} /* H5FS__cmp_cparam_test */