summaryrefslogtreecommitdiffstats
path: root/test/btree2.c
diff options
context:
space:
mode:
authorQuincey Koziol <koziol@hdfgroup.org>2005-02-08 01:03:48 (GMT)
committerQuincey Koziol <koziol@hdfgroup.org>2005-02-08 01:03:48 (GMT)
commitb4153b4f5edef4833abea9a1249baf4690984258 (patch)
tree795e76dc6e0ce6ecf7b34cd38e437748194b875e /test/btree2.c
parent093515817bd8d1bd78944d1f3ee1b90dc4ba9d51 (diff)
downloadhdf5-b4153b4f5edef4833abea9a1249baf4690984258.zip
hdf5-b4153b4f5edef4833abea9a1249baf4690984258.tar.gz
hdf5-b4153b4f5edef4833abea9a1249baf4690984258.tar.bz2
[svn-r9955] Purpose:
New feature & bug fix Description: Allow h5debug tool to dump "test" v2 B-trees correctly. Also, fix incorrect parameter passing that was causing failures on various platforms. Platforms tested: FreeBSD 4.11 (sleipnir) AIX 5.2 (copper)
Diffstat (limited to 'test/btree2.c')
-rw-r--r--test/btree2.c139
1 files changed, 11 insertions, 128 deletions
diff --git a/test/btree2.c b/test/btree2.c
index 312f149..f0d13b1 100644
--- a/test/btree2.c
+++ b/test/btree2.c
@@ -19,8 +19,10 @@
/*
* This file needs to access private datatypes from the H5B2 package.
+ * This file also needs to access the v2 B-tree testing code.
*/
#define H5B2_PACKAGE
+#define H5B2_TESTING
#include "H5B2pkg.h"
/* Other private headers that this test requires */
@@ -35,125 +37,6 @@ const char *FILENAME[] = {
/*-------------------------------------------------------------------------
- * Function: store
- *
- * Purpose: Store native information into record for B-tree
- *
- * Return: Success: non-negative
- *
- * Failure: negative
- *
- * Programmer: Quincey Koziol
- * Thursday, February 3, 2005
- *
- * Modifications:
- *
- *-------------------------------------------------------------------------
- */
-static herr_t
-store(const H5F_t UNUSED *f, hid_t UNUSED dxpl_id, const void *udata, void *nrecord)
-{
- *(hsize_t *)nrecord=*(const hsize_t *)udata;
-
-#ifdef QAK
-HDfprintf(stderr,"store: udata=%Hu\n",*(const hsize_t *)udata);
-#endif /* QAK */
- return(SUCCEED);
-}
-
-
-/*-------------------------------------------------------------------------
- * Function: compare
- *
- * Purpose: Compare two native information records, according to some key
- *
- * Return: <0 if rec1 < rec2
- * =0 if rec1 == rec2
- * >0 if rec1 > rec2
- *
- * Programmer: Quincey Koziol
- * Thursday, February 3, 2005
- *
- * Modifications:
- *
- *-------------------------------------------------------------------------
- */
-static herr_t
-compare(const H5F_t UNUSED *f, hid_t UNUSED dxpl_id, const void *rec1, const void *rec2)
-{
-#ifdef QAK
-HDfprintf(stderr,"compare: *rec1=%Hu, *rec2=%Hu\n",*(const hsize_t *)rec1,*(const hsize_t *)rec2);
-#endif /* QAK */
- return(*(const hssize_t *)rec1-*(const hssize_t *)rec2);
-}
-
-
-/*-------------------------------------------------------------------------
- * Function: encode
- *
- * Purpose: Encode native information into raw form for storing on disk
- *
- * Return: Success: non-negative
- *
- * Failure: negative
- *
- * Programmer: Quincey Koziol
- * Thursday, February 3, 2005
- *
- * Modifications:
- *
- *-------------------------------------------------------------------------
- */
-static herr_t
-encode(const H5F_t *f, uint8_t *raw, const void *nrecord)
-{
- H5F_ENCODE_LENGTH(f, raw, *(const hsize_t *)nrecord);
-
-#ifdef QAK
-HDfprintf(stderr,"encode: data=%Hu\n",*(const hsize_t *)nrecord);
-#endif /* QAK */
- return(SUCCEED);
-}
-
-
-/*-------------------------------------------------------------------------
- * Function: decode
- *
- * Purpose: Decode raw disk form of record into native form
- *
- * Return: Success: non-negative
- *
- * Failure: negative
- *
- * Programmer: Quincey Koziol
- * Friday, February 4, 2005
- *
- * Modifications:
- *
- *-------------------------------------------------------------------------
- */
-static herr_t
-decode(const H5F_t *f, const uint8_t *raw, void *nrecord)
-{
- H5F_DECODE_LENGTH(f, raw, *(hsize_t *)nrecord);
-
-#ifdef QAK
-HDfprintf(stderr,"encode: data=%Hu\n",*(const hsize_t *)nrecord);
-#endif /* QAK */
- return(SUCCEED);
-}
-
-H5B2_class_t type={ /* B-tree class information */
- 0, /* Type of B-tree */
- sizeof(hsize_t), /* Size of native key */
- store, /* Record storage callback */
- compare, /* Record comparison callback */
- encode, /* Record encoding callback */
- decode /* Record decoding callback */
-};
-
-
-/*-------------------------------------------------------------------------
* Function: test_insert_basic
*
* Purpose: Basic tests for the B-tree v2 code
@@ -193,7 +76,7 @@ test_insert_basic(hid_t fapl)
* Test v2 B-tree creation
*/
TESTING("B-tree creation");
- if (H5B2_create(f, H5P_DATASET_XFER_DEFAULT, &type, 512, 8, 100, 40, &bt2_addr/*out*/)<0) {
+ if (H5B2_create(f, H5P_DATASET_XFER_DEFAULT, H5B2_TEST, 512, 8, 100, 40, &bt2_addr/*out*/)<0) {
H5_FAILED();
H5Eprint_stack(H5E_DEFAULT, stdout);
goto error;
@@ -205,7 +88,7 @@ test_insert_basic(hid_t fapl)
*/
TESTING("B-tree insert");
record=42;
- if (H5B2_insert(f, H5P_DATASET_XFER_DEFAULT, &type, bt2_addr, &record)<0) {
+ if (H5B2_insert(f, H5P_DATASET_XFER_DEFAULT, H5B2_TEST, bt2_addr, &record)<0) {
H5_FAILED();
H5Eprint_stack(H5E_DEFAULT, stdout);
goto error;
@@ -215,7 +98,7 @@ test_insert_basic(hid_t fapl)
* Test inserting second record into v2 B-tree, before all other records
*/
record=34;
- if (H5B2_insert(f, H5P_DATASET_XFER_DEFAULT, &type, bt2_addr, &record)<0) {
+ if (H5B2_insert(f, H5P_DATASET_XFER_DEFAULT, H5B2_TEST, bt2_addr, &record)<0) {
H5_FAILED();
H5Eprint_stack(H5E_DEFAULT, stdout);
goto error;
@@ -225,7 +108,7 @@ test_insert_basic(hid_t fapl)
* Test inserting third record into v2 B-tree, after all other records
*/
record=56;
- if (H5B2_insert(f, H5P_DATASET_XFER_DEFAULT, &type, bt2_addr, &record)<0) {
+ if (H5B2_insert(f, H5P_DATASET_XFER_DEFAULT, H5B2_TEST, bt2_addr, &record)<0) {
H5_FAILED();
H5Eprint_stack(H5E_DEFAULT, stdout);
goto error;
@@ -235,7 +118,7 @@ test_insert_basic(hid_t fapl)
* Test inserting fourth record into v2 B-tree, in the middle of other records
*/
record=38;
- if (H5B2_insert(f, H5P_DATASET_XFER_DEFAULT, &type, bt2_addr, &record)<0) {
+ if (H5B2_insert(f, H5P_DATASET_XFER_DEFAULT, H5B2_TEST, bt2_addr, &record)<0) {
H5_FAILED();
H5Eprint_stack(H5E_DEFAULT, stdout);
goto error;
@@ -297,7 +180,7 @@ test_insert_split_root(hid_t fapl)
/*
* Test v2 B-tree creation
*/
- if (H5B2_create(f, H5P_DATASET_XFER_DEFAULT, &type, 512, 8, 100, 40, &bt2_addr/*out*/)<0) {
+ if (H5B2_create(f, H5P_DATASET_XFER_DEFAULT, H5B2_TEST, 512, 8, 100, 40, &bt2_addr/*out*/)<0) {
H5_FAILED();
H5Eprint_stack(H5E_DEFAULT, stdout);
goto error;
@@ -310,20 +193,20 @@ test_insert_split_root(hid_t fapl)
for(u=0; u<INSERT_SPLIT_ROOT_NREC; u++) {
record=u+10;
- if (H5B2_insert(f, H5P_DATASET_XFER_DEFAULT, &type, bt2_addr, &record)<0) {
+ if (H5B2_insert(f, H5P_DATASET_XFER_DEFAULT, H5B2_TEST, bt2_addr, &record)<0) {
H5_FAILED();
H5Eprint_stack(H5E_DEFAULT, stdout);
goto error;
}
}
record=0;
- if (H5B2_insert(f, H5P_DATASET_XFER_DEFAULT, &type, bt2_addr, &record)<0) {
+ if (H5B2_insert(f, H5P_DATASET_XFER_DEFAULT, H5B2_TEST, bt2_addr, &record)<0) {
H5_FAILED();
H5Eprint_stack(H5E_DEFAULT, stdout);
goto error;
}
record=1;
- if (H5B2_insert(f, H5P_DATASET_XFER_DEFAULT, &type, bt2_addr, &record)<0) {
+ if (H5B2_insert(f, H5P_DATASET_XFER_DEFAULT, H5B2_TEST, bt2_addr, &record)<0) {
H5_FAILED();
H5Eprint_stack(H5E_DEFAULT, stdout);
goto error;