summaryrefslogtreecommitdiffstats
path: root/hl/test/test_packet.c
diff options
context:
space:
mode:
authorBinh-Minh Ribler <bmribler@hdfgroup.org>2016-03-04 19:49:14 (GMT)
committerBinh-Minh Ribler <bmribler@hdfgroup.org>2016-03-04 19:49:14 (GMT)
commit9592119ffd4b87b3cdb08f1ad8eaf7f3d221554c (patch)
tree7cf325e26c3422dadb5d2e0e73e73ab4a0cf583c /hl/test/test_packet.c
parent6e7e6bb3aa3b0106d44d7b50e79d1c6281940257 (diff)
downloadhdf5-9592119ffd4b87b3cdb08f1ad8eaf7f3d221554c.zip
hdf5-9592119ffd4b87b3cdb08f1ad8eaf7f3d221554c.tar.gz
hdf5-9592119ffd4b87b3cdb08f1ad8eaf7f3d221554c.tar.bz2
[svn-r29269] Purpose: Improve Packet Table library
Description: The Packet Table API used to have fixed-length and variable-length functions (i.e., H5PTcreate_fl and H5PTcreate_vl), but in 2006, the vlen functions were ifdef'ed out with VLPT_REMOVED, see HDFFV-442. The majority of this revision includes removing unused vlen stuff, adding various vlen tests, initial code cleanup, and first pass of commenting. Details: - Removed the VLPT_REMOVED ifdef, but keep H5PTis_varlen and the free function because they are useful or even needed, but the free function's name is changed to be more appropriate for both read/write buffers, i.e., H5PTfree_vlen_buff. - The new test file, test_packet_vlen.c, contains tests showing packet tables, containing various types of vlen data, can be created with the fixed-length function - Two accessor functions were added per HDFFV-8623/patch 003. /* Returns the ID of the dataset associated with the packet table */ hid_t H5PTget_dataset(hid_t table_id); /* Returns the ID of the datatype the packet table uses */ hid_t H5PTget_type(hid_t table_id); - Various cleanup: replacing 0/-1 with SUCCEED/FAIL and H5I_BADID with H5I_INVALID_HID, and removing many warnings. Platforms tested: Linux/32 2.6 (jam) Linux/64 (platypus) Darwin (osx1010test)
Diffstat (limited to 'hl/test/test_packet.c')
-rw-r--r--hl/test/test_packet.c520
1 files changed, 170 insertions, 350 deletions
diff --git a/hl/test/test_packet.c b/hl/test/test_packet.c
index 345aecb..e2ca2b5 100644
--- a/hl/test/test_packet.c
+++ b/hl/test/test_packet.c
@@ -31,9 +31,6 @@
#define TEST_FILE_NAME "test_packet_table.h5"
#define TEST_COMPRESS_FILE "test_packet_compress.h5"
#define PT_NAME "Test Packet Table"
-#ifdef VLPT_REMOVED
-#define VL_TABLE_NAME "Varlen Test Table"
-#endif /* VLPT_REMOVED */
#define H5TB_TABLE_NAME "Table1"
/*-------------------------------------------------------------------------
@@ -77,9 +74,9 @@ static int cmp_par(size_t i, size_t j, particle_t *rbuf, particle_t *wbuf )
rbuf[i].longi != wbuf[j].longi ||
!H5_FLT_ABS_EQUAL(rbuf[i].pressure,wbuf[j].pressure) ||
!H5_DBL_ABS_EQUAL(rbuf[i].temperature,wbuf[j].temperature) ) {
- return -1;
+ return FAIL;
}
- return 0;
+ return SUCCEED;
}
/*-------------------------------------------------------------------------
@@ -95,22 +92,22 @@ make_particle_type(void)
/* Create the memory data type. */
if ((type_id = H5Tcreate (H5T_COMPOUND, type_size )) < 0 )
- return -1;
+ return FAIL;
/* Insert fields. */
string_type = H5Tcopy( H5T_C_S1 );
H5Tset_size( string_type, (size_t)16 );
if ( H5Tinsert(type_id, "Name", HOFFSET(particle_t, name) , string_type ) < 0 )
- return -1;
+ return FAIL;
if ( H5Tinsert(type_id, "Lat", HOFFSET(particle_t, lati) , H5T_NATIVE_INT ) < 0 )
- return -1;
+ return FAIL;
if ( H5Tinsert(type_id, "Long", HOFFSET(particle_t, longi) , H5T_NATIVE_INT ) < 0 )
- return -1;
+ return FAIL;
if ( H5Tinsert(type_id, "Pressure", HOFFSET(particle_t, pressure) , H5T_NATIVE_FLOAT ) < 0 )
- return -1;
+ return FAIL;
if ( H5Tinsert(type_id, "Temperature", HOFFSET(particle_t, temperature) , H5T_NATIVE_DOUBLE ) < 0 )
- return -1;
+ return FAIL;
return type_id;
}
@@ -156,9 +153,9 @@ static int create_hl_table(hid_t fid)
chunk_size, fill_data, compress, testPart );
if(status<0)
- return -1;
+ return FAIL;
else
- return 0;
+ return SUCCEED;
}
@@ -188,23 +185,21 @@ static int test_create_close(hid_t fid)
table = H5PTcreate_fl(fid, PT_NAME, part_t, (hsize_t)100, -1);
H5Tclose(part_t);
if( H5PTis_valid(table) < 0)
- goto out;
-#ifdef VLPT_REMOVED
+ goto error;
if( H5PTis_varlen(table) != 0)
- goto out;
-#endif /* VLPT_REMOVED */
+ goto error;
/* Close the table */
err = H5PTclose(table);
if( err < 0)
- goto out;
+ goto error;
PASSED();
- return 0;
+ return SUCCEED;
- out:
+error:
H5_FAILED();
- return -1;
+ return FAIL;
}
/*-------------------------------------------------------------------------
@@ -224,23 +219,22 @@ static int test_open(hid_t fid)
/* Open the table */
table = H5PTopen(fid, PT_NAME);
if( H5PTis_valid(table) < 0)
- goto out;
-#ifdef VLPT_REMOVED
+ goto error;
if( H5PTis_varlen(table) != 0)
- goto out;
-#endif /* VLPT_REMOVED */
+ goto error;
/* Close the table */
err = H5PTclose(table);
if( err < 0)
- goto out;
+ goto error;
PASSED();
- return 0;
+ return SUCCEED;
- out:
+error:
+ if (table > 0) H5PTclose(table);
H5_FAILED();
- return -1;
+ return FAIL;
}
/*-------------------------------------------------------------------------
@@ -261,52 +255,52 @@ static int test_append(hid_t fid)
/* Open the table */
table = H5PTopen(fid, PT_NAME);
if( H5PTis_valid(table) < 0)
- goto out;
+ goto error;
/* Count the number of packets in the table */
err = H5PTget_num_packets(table, &count);
if( err < 0)
- goto out;
+ goto error;
/* There should be 0 records in the table */
if( count != 0 )
- goto out;
+ goto error;
/* Append one particle */
err = H5PTappend(table, (size_t)1, &(testPart[0]));
if( err < 0)
- goto out;
+ goto error;
/* Append several particles */
err = H5PTappend(table, (size_t)6, &(testPart[1]));
if( err < 0)
- goto out;
+ goto error;
/* Append one more particle */
err = H5PTappend(table, (size_t)1, &(testPart[7]));
if( err < 0)
- goto out;
+ goto error;
/* Count the number of packets in the table */
err = H5PTget_num_packets(table, &count);
if( err < 0)
- goto out;
+ goto error;
/* There should be 8 records in the table now */
if( count != 8 )
- goto out;
+ goto error;
/* Close the table */
err = H5PTclose(table);
if( err < 0)
- goto out;
+ goto error;
PASSED();
- return 0;
+ return SUCCEED;
- out:
+error:
H5_FAILED();
- if( H5PTis_valid(table) < 0)
+ if( H5PTis_valid(table) > 0)
H5PTclose(table);
- return -1;
+ return FAIL;
}
/*-------------------------------------------------------------------------
@@ -328,44 +322,44 @@ static int test_read(hid_t fid)
/* Open the table */
table = H5PTopen(fid, PT_NAME);
if( H5PTis_valid(table) < 0)
- goto out;
+ goto error;
/* Read several particles */
err = H5PTread_packets(table, (hsize_t)0, 3, &(readBuf[0]));
if( err < 0)
- goto out;
+ goto error;
/* Read one particle */
err = H5PTread_packets(table, (hsize_t)3, 1, &(readBuf[3]));
if( err < 0)
- goto out;
+ goto error;
/* Read several particles */
err = H5PTread_packets(table, (hsize_t)4, (NRECORDS - 4 ), &(readBuf[4]));
if( err < 0)
- goto out;
+ goto error;
/* Ensure that particles were read correctly */
for(c=0; c<NRECORDS; c++)
{
if( cmp_par(c%8, c, testPart, readBuf) != 0)
- goto out;
+ goto error;
}
/* Close the table */
err = H5PTclose(table);
if( err < 0)
- goto out;
+ goto error;
PASSED();
- return 0;
+ return SUCCEED;
- out:
+error:
H5_FAILED();
- if( H5PTis_valid(table) < 0)
+ if( H5PTis_valid(table) > 0)
H5PTclose(table);
- return -1;
+ return FAIL;
}
/*-------------------------------------------------------------------------
@@ -389,21 +383,21 @@ static int test_get_next(hid_t fid)
/* Open the table */
table = H5PTopen(fid, PT_NAME);
if( H5PTis_valid(table) < 0)
- goto out;
+ goto error;
/* Read several particles consecutively */
for(c=0; c < NRECORDS; c++)
{
- err = H5PTget_next(table, 1, &readBuf[c]);
+ err = H5PTget_next(table, (size_t)1, &readBuf[c]);
if(err < 0)
- goto out;
+ goto error;
}
/* Ensure that particles were read correctly */
for(c=0; c<NRECORDS; c++)
{
if( cmp_par(c, c, testPart, readBuf) != 0)
- goto out;
+ goto error;
}
H5PTcreate_index(table);
@@ -411,31 +405,31 @@ static int test_get_next(hid_t fid)
/* Read particles two by two */
for(c=0; c < NRECORDS / 2; c++)
{
- err = H5PTget_next(table, 2, &readBuf2[c * 2]);
+ err = H5PTget_next(table, (size_t)2, &readBuf2[c * 2]);
if(err < 0)
- goto out;
+ goto error;
}
/* Ensure that particles were read correctly */
for(c=0; c<NRECORDS; c++)
{
if( cmp_par(c, c, testPart, readBuf2) != 0)
- goto out;
+ goto error;
}
/* Close the table */
err = H5PTclose(table);
if( err < 0)
- goto out;
+ goto error;
PASSED();
- return 0;
+ return SUCCEED;
- out:
+error:
H5_FAILED();
- if( H5PTis_valid(table) < 0)
+ if( H5PTis_valid(table) > 0)
H5PTclose(table);
- return -1;
+ return FAIL;
}
/*-------------------------------------------------------------------------
@@ -466,7 +460,7 @@ static int test_big_table(hid_t fid)
table = H5PTcreate_fl(fid, "Packet Test Dataset2", part_t, (hsize_t)33, -1);
H5Tclose(part_t);
if( H5PTis_valid(table) < 0)
- goto out;
+ goto error;
/* Add many particles */
for(c = 0; c < BIG_TABLE_SIZE ; c+=8)
@@ -474,222 +468,44 @@ static int test_big_table(hid_t fid)
/* Append eight particles at once*/
err = H5PTappend(table, (size_t)8, &(testPart[0]));
if( err < 0)
- goto out;
+ goto error;
}
/* Count the number of packets in the table */
err = H5PTget_num_packets(table, &count);
if( err < 0)
- goto out;
+ goto error;
if( count != BIG_TABLE_SIZE )
- goto out;
+ goto error;
/* Read particles to ensure that all of them were written correctly */
/* Also, ensure that H5PTcreate_fl set the current packet to */
/* the first packet in the table */
for(c = 0; c < BIG_TABLE_SIZE; c++)
{
- err = H5PTget_next(table, 1, &readPart);
+ err = H5PTget_next(table, (size_t)1, &readPart);
if(err < 0)
- goto out;
+ goto error;
/* Ensure that particles were read correctly */
if( cmp_par(c % 8, 0, testPart, &readPart) != 0)
- goto out;
+ goto error;
}
/* Close the table */
err = H5PTclose(table);
if( err < 0)
- goto out;
+ goto error;
PASSED();
- return 0;
+ return SUCCEED;
- out:
+error:
H5_FAILED();
- if( H5PTis_valid(table) < 0)
+ if( H5PTis_valid(table) > 0)
H5PTclose(table);
- return -1;
-}
-
-#ifdef VLPT_REMOVED
-/*-------------------------------------------------------------------------
- * test_varlen
- *
- * Tests creation, opening, closing, writing, reading, etc. on a
- * variable-length packet table.
- *
- *-------------------------------------------------------------------------
- */
-static int test_varlen(hid_t fid)
-{
- herr_t err;
- hid_t table=H5I_BADID;
- hsize_t count;
-
- /* Buffers to hold data */
- hvl_t writeBuffer[NRECORDS];
- hvl_t readBuffer[NRECORDS];
-
- /* This example has three different sizes of "record": longs, shorts, and particles */
- long longBuffer[NRECORDS];
- short shortBuffer[NRECORDS];
- int x;
-
- TESTING("variable-length packet tables");
-
- /* Initialize buffers */
- for(x=0; x<NRECORDS; x++)
- {
- longBuffer[x] = -x;
- shortBuffer[x] = x;
- }
-
- /* Fill the write buffer with a mix of variable types */
- for(x=0; x<8; x+=4)
- {
- writeBuffer[x].len = sizeof(long);
- writeBuffer[x].p = &(longBuffer[x]);
- writeBuffer[x+1].len = sizeof(short);
- writeBuffer[x+1].p = &(shortBuffer[x+1]);
- writeBuffer[x+2].len = sizeof(long);
- writeBuffer[x+2].p = &(longBuffer[x+2]);
- writeBuffer[x+3].len = sizeof(particle_t);
- writeBuffer[x+3].p = &(testPart[x+3]);
- }
-
- /* Create the table */
- table = H5PTcreate_vl(fid, VL_TABLE_NAME, (hsize_t)1001);
- if( H5PTis_valid(table) < 0)
- goto out;
- if( H5PTis_varlen(table) != 1)
- goto out;
-
- /* Count the number of packets in the table */
- err = H5PTget_num_packets(table, &count);
- if( err < 0)
- goto out;
- if( count != 0 )
- goto out;
-
- /* Close the table */
- err = H5PTclose(table);
- if( err < 0)
- goto out;
-
- /* Re-open the table */
- table = H5PTopen(fid, VL_TABLE_NAME);
- if( H5PTis_valid(table) < 0)
- goto out;
- if( H5PTis_varlen(table) != 1)
- goto out;
-
- /* Count the number of packets in the table */
- err = H5PTget_num_packets(table, &count);
- if( err < 0)
- goto out;
- if( count != 0 )
- goto out;
-
- /* Add several variable-length packets */
- err = H5PTappend(table, (size_t)8, writeBuffer );
- if(err < 0)
- goto out;
-
- /* Read them back */
- err = H5PTread_packets(table, (hsize_t)0, 4, &(readBuffer[0]));
- if( err < 0)
- goto out;
- err = H5PTread_packets(table, (hsize_t)4, 1, &(readBuffer[4]));
- if( err < 0)
- goto out;
- err = H5PTread_packets(table, (hsize_t)5, (NRECORDS - 5 ), &(readBuffer[5]));
- if( err < 0)
- goto out;
-
- /* Ensure that packets were read correctly */
- for(x=0; x<NRECORDS; x++)
- {
- if( readBuffer[x].len != writeBuffer[x%4].len)
- goto out;
- switch(x%4)
- {
- case 0:
- case 2:
- if( *((long*)(readBuffer[x].p)) != *((long*)(writeBuffer[x].p)))
- goto out;
- break;
- case 1:
- if( *((short*)(readBuffer[x].p)) != *((short*)(writeBuffer[x].p)))
- goto out;
- break;
- case 3:
- if( cmp_par(0, 0, readBuffer[x].p, writeBuffer[x].p) < 0)
- goto out;
- break;
- default:
- goto out;
- }
- }
-
- /* Free memory used by read buffer */
- if(H5PTfree_vlen_readbuff(table, NRECORDS, readBuffer) <0)
- goto out;
-
- /* Read packets back using get_next */
- for(x=0; x < NRECORDS; x++)
- {
- err = H5PTget_next(table, 1, &readBuffer[x]);
- if(err < 0)
- goto out;
- }
-
- /* Ensure that packets were read correctly */
- for(x=0; x<NRECORDS; x++)
- {
- if( readBuffer[x].len != writeBuffer[x%4].len)
- goto out;
- switch(x%4)
- {
- case 0:
- case 2:
- if( *((long*)(readBuffer[x].p)) != *((long*)(writeBuffer[x].p)))
- goto out;
- break;
- case 1:
- if( *((short*)(readBuffer[x].p)) != *((short*)(writeBuffer[x].p)))
- goto out;
- break;
- case 3:
- if( cmp_par(0, 0, readBuffer[x].p, writeBuffer[x].p) < 0)
- goto out;
- break;
- default:
- goto out;
- }
- }
-
- /* Free memory used by read buffer */
- if(H5PTfree_vlen_readbuff(table, NRECORDS, readBuffer) <0)
- goto out;
-
- /* Close the table */
- err = H5PTclose(table);
- if( err < 0)
- goto out;
-
- PASSED();
- return 0;
-
- out:
- H5_FAILED();
- H5E_BEGIN_TRY
- H5PTclose(table);
- H5E_END_TRY
- return -1;
+ return FAIL;
}
-#endif /* VLPT_REMOVED */
/*-------------------------------------------------------------------------
* test_opaque
@@ -710,50 +526,50 @@ static int test_opaque(hid_t fid)
/* Create an opaque datatype for the particle struct */
if ((part_t = H5Tcreate (H5T_OPAQUE, sizeof(particle_t) )) < 0 )
- return -1;
+ return FAIL;
HDassert(part_t != -1);
/* Tag the opaque datatype */
if ( H5Tset_tag(part_t, "Opaque Particle" ) < 0)
- return -1;
+ return FAIL;
/* Create a new table */
table = H5PTcreate_fl(fid, "Packet Test Dataset3", part_t, (hsize_t)100, -1);
H5Tclose(part_t);
if( H5PTis_valid(table) < 0)
- goto out;
+ goto error;
/* Append several particles, starting at particle 1 */
err = H5PTappend(table, (size_t)(NRECORDS - 1), &(testPart[1]));
if( err < 0)
- goto out;
+ goto error;
/* Read the particles back */
err = H5PTread_packets(table, (hsize_t)0, 7, &(readBuf[0]));
if( err < 0)
- goto out;
+ goto error;
/* Ensure that particles were read correctly */
for(c=0; c<NRECORDS - 1; c++)
{
if( cmp_par(c+1, c, testPart, readBuf) != 0)
- goto out;
+ goto error;
}
/* Close the table */
err = H5PTclose(table);
if( err < 0)
- goto out;
+ goto error;
PASSED();
- return 0;
+ return SUCCEED;
- out:
+error:
H5_FAILED();
- if( H5PTis_valid(table) < 0)
+ if( H5PTis_valid(table) > 0)
H5PTclose(table);
- return -1;
+ return FAIL;
}
/*-------------------------------------------------------------------------
@@ -767,12 +583,12 @@ static int test_opaque(hid_t fid)
static int
test_compress(void)
{
- hid_t fid1 = -1;
+ hid_t fid1 = H5I_INVALID_HID;
herr_t err;
- hid_t table = -1;
- hid_t part_t = -1;
- hid_t dset_id = -1;
- hid_t plist_id = -1;
+ hid_t table = H5I_INVALID_HID;
+ hid_t part_t = H5I_INVALID_HID;
+ hid_t dset_id = H5I_INVALID_HID;
+ hid_t plist_id = H5I_INVALID_HID;
size_t c;
size_t num_elems = 1;
unsigned filter_vals[1];
@@ -812,7 +628,7 @@ test_compress(void)
HDmemset(readPart, 0, sizeof(readPart));
for(c = 0; c < BIG_TABLE_SIZE; c++)
{
- err = H5PTget_next(table, 1, readPart);
+ err = H5PTget_next(table, (size_t)1, readPart);
if(err < 0) TEST_ERROR;
/* Ensure that particles were read correctly */
@@ -881,7 +697,7 @@ test_compress(void)
if( err < 0) TEST_ERROR;
PASSED();
- return 0;
+ return SUCCEED;
error:
H5E_BEGIN_TRY {
@@ -892,7 +708,7 @@ error:
H5Fclose(fid1);
} H5E_END_TRY
H5_FAILED();
- return -1;
+ return FAIL;
}
/*-------------------------------------------------------------------------
@@ -932,54 +748,54 @@ static int test_rw_nonnative_dt(hid_t fid)
ptable = H5PTcreate_fl(fid, "Packet Test Dataset, Non-native", H5T_STD_I32LE, (hsize_t)100, -1);
}
if(ptable == H5I_INVALID_HID)
- goto out;
+ goto error;
/* Write one packet to the packet table */
- if( (err = H5PTappend(ptable, (hsize_t)1, &(writeBuffer[0]))) < 0 )
- goto out;
+ if( (err = H5PTappend(ptable, (size_t)1, &(writeBuffer[0]))) < 0 )
+ goto error;
/* Write several packets to the packet table */
- if( (err = H5PTappend(ptable, (hsize_t)4, &(writeBuffer[1]))) < 0)
- goto out;
+ if( (err = H5PTappend(ptable, (size_t)4, &(writeBuffer[1]))) < 0)
+ goto error;
if( (err = H5PTclose(ptable)) < 0)
- goto out;
+ goto error;
/* Open the Packet table */
if( (ptable = H5PTopen(fid, "Packet Test Dataset, Non-native")) < 0)
- goto out;
+ goto error;
/* Get the number of packets in the packet table. This should be five. */
if( (err = H5PTget_num_packets(ptable, &count)) < 0)
- goto out;
+ goto error;
if( (int)count != 5 )
- goto out;
+ goto error;
/* Initialize packet table's "current record" */
if( (err = H5PTcreate_index(ptable)) < 0)
- goto out;
+ goto error;
/* Iterate through packets, read each one back */
for(x=0; x<5; x++) {
- if( (err = H5PTget_next(ptable, (hsize_t)1, &(readBuffer[x]))) < 0)
- goto out;
+ if( (err = H5PTget_next(ptable, (size_t)1, &(readBuffer[x]))) < 0)
+ goto error;
if( x != readBuffer[x])
- goto out;
+ goto error;
}
/* Close the packet table */
if( (err = H5PTclose(ptable)) < 0)
- goto out;
+ goto error;
PASSED();
- return 0;
+ return SUCCEED;
- out:
+error:
H5_FAILED();
- if( H5PTis_valid(ptable) < 0)
+ if( H5PTis_valid(ptable) > 0)
H5PTclose(ptable);
- return -1;
+ return FAIL;
}
/*-------------------------------------------------------------------------
@@ -992,7 +808,7 @@ static int test_rw_nonnative_dt(hid_t fid)
*/
static int test_error(hid_t fid)
{
- hid_t id = H5I_BADID;
+ hid_t id = H5I_INVALID_HID;
int id_open=0;
particle_t readBuf[1];
@@ -1000,121 +816,121 @@ static int test_error(hid_t fid)
/* Create a HL table */
if(create_hl_table(fid) < 0)
- goto out;
+ goto error;
/* Try to open things that are not packet tables */
H5E_BEGIN_TRY
if(H5PTopen(fid, "Bogus_name") >= 0)
- goto out;
+ goto error;
if(H5PTopen(fid, "group1") >= 0)
- goto out;
+ goto error;
H5E_END_TRY
/* Try to execute packet table commands on an invalid ID */
H5E_BEGIN_TRY
if(H5PTis_valid(id) >= 0)
- goto out;
-#ifdef VLPT_REMOVED
+ goto error;
if(H5PTis_varlen(id) >= 0)
- goto out;
-#endif /* VLPT_REMOVED */
+ goto error;
if(H5PTclose(id) >= 0)
- goto out;
+ goto error;
if(H5PTappend(id, (size_t)1, testPart) >= 0)
- goto out;
+ goto error;
if(H5PTread_packets(id, (hsize_t)0, 1, readBuf) >= 0)
- goto out;
+ goto error;
if(H5PTcreate_index(id) >= 0)
- goto out;
+ goto error;
if(H5PTset_index(id, (hsize_t)1) >= 0)
- goto out;
+ goto error;
if(H5PTget_index(id, NULL) >= 0)
- goto out;
+ goto error;
H5E_END_TRY
/* Open a high-level non-packet (H5TB) table and try to */
/* execute commands on it. */
if((id=H5Dopen2(fid, H5TB_TABLE_NAME, H5P_DEFAULT)) <0)
- goto out;
+ goto error;
id_open = 1;
H5E_BEGIN_TRY
if(H5PTis_valid(id) >= 0)
- goto out;
-#ifdef VLPT_REMOVED
+ goto error;
if(H5PTis_varlen(id) >= 0)
- goto out;
-#endif /* VLPT_REMOVED */
+ goto error;
if(H5PTclose(id) >= 0)
- goto out;
+ goto error;
if(H5PTappend(id, (size_t)1, testPart) >= 0)
- goto out;
+ goto error;
if(H5PTread_packets(id, (hsize_t)0, 1, readBuf) >= 0)
- goto out;
+ goto error;
if(H5PTcreate_index(id) >= 0)
- goto out;
+ goto error;
if(H5PTset_index(id, (hsize_t)1) >= 0)
- goto out;
+ goto error;
if(H5PTget_index(id, NULL) >= 0)
- goto out;
+ goto error;
H5E_END_TRY
id_open=0;
if(H5Dclose(id) <0)
- goto out;
+ goto error;
/* Open and close a packet table. Try to execute */
/* commands on the closed ID. */
if((id=H5PTopen(fid, PT_NAME))<0)
- goto out;
+ goto error;
if(H5PTclose(id) <0)
- goto out;
+ goto error;
H5E_BEGIN_TRY
if(H5PTis_valid(id) >= 0)
- goto out;
-#ifdef VLPT_REMOVED
+ goto error;
if(H5PTis_varlen(id) >= 0)
- goto out;
-#endif /* VLPT_REMOVED */
+ goto error;
if(H5PTclose(id) >= 0)
- goto out;
+ goto error;
if(H5PTappend(id, (size_t)1, testPart) >= 0)
- goto out;
+ goto error;
if(H5PTread_packets(id, (hsize_t)0, 1, readBuf) >= 0)
- goto out;
+ goto error;
if(H5PTcreate_index(id) >= 0)
- goto out;
+ goto error;
if(H5PTset_index(id, (hsize_t)1) >= 0)
- goto out;
+ goto error;
if(H5PTget_index(id, NULL) >= 0)
- goto out;
+ goto error;
H5E_END_TRY
PASSED();
- return 0;
+ return SUCCEED;
-out:
+error:
H5_FAILED();
if(id_open)
H5Dclose(id);
- return -1;
+ return FAIL;
}
-
+/*-------------------------------------------------------------------------
+ * test_packet_table(): Invokes individual tests to ensure that all
+ * functions work correctly, except for the variable-length related
+ * functions, which are tested in "test_packet_vlen.c".
+ *
+ *-------------------------------------------------------------------------
+ */
static int test_packet_table(hid_t fid)
{
if( test_create_close(fid) < 0 )
- return -1;
+ return FAIL;
if( test_open(fid) < 0 )
- return -1;
+ return FAIL;
/* test_append must be run before test_count and test_read, as it */
/* creates the packet table they use. */
if( test_append(fid) < 0 )
- return -1;
+ return FAIL;
/* These tests will not necessarily cause failures in each other,
so we don't abort the other tests if one fails. */
@@ -1122,24 +938,24 @@ static int test_packet_table(hid_t fid)
test_get_next(fid);
test_big_table(fid);
test_rw_nonnative_dt(fid);
-#ifdef VLPT_REMOVED
- test_varlen(fid);
-#endif /* VLPT_REMOVED */
test_opaque(fid);
test_compress();
test_error(fid);
- return 0;
+ return SUCCEED;
}
+/*
+ *
+*/
int main(void)
{
- /* identifier for the file */
- hid_t fid;
- int status = 0;
+ /* identifier for the file that is used in FL PT tests */
+ hid_t fid;
+ int status = 0;
/*-------------------------------------------------------------------------
- * Packet test: test each function of the packet table
+ * Packet test: test each function of the packet table library
*-------------------------------------------------------------------------
*/
@@ -1148,12 +964,16 @@ int main(void)
HDputs("Testing packet table");
- /* run tests */
- if ( test_packet_table(fid) < 0)
- status = 1;
+ /* Test packet table with fixed length */
+ if (test_packet_table(fid) < 0)
+ status = 1;
+
+ /* Test packet table with variable length, using separate data file */
+ if (test_packet_table_with_varlen() < 0)
+ status = 1;
- /* close */
- H5Fclose(fid);
+ /* Close the file */
+ H5Fclose(fid);
- return status;
+ return status;
}